簡體   English   中英

使用 powershell 將數據發布到 Elastic Search 的最佳方式是什么?

[英]What's the best way to post data to Elastic Search using powershell?

我應該使用 convert-tojson 還是自己滾動。 我應該使用 invoke-restrequest、invokeweb-request、System.net.WebClient 還是 system.net.http.HttpClient?

有時我似乎發布成功,盡管數據未編入索引。

{"_index":"dropstorage","_type":"connectionstats","_id":"97e156a5-4d16-48d4-84e8-fcc723aea1ae",
"_version":1,"found":true,"_source":{
"hnas":  1,
"active":  70,
"id":  "97e156a5-4d16-48d4-84e8-fcc723aea1ae",
"total":  "70",
"date":  "4/9/2015 9:03:36 AM"
}}

我會推薦以下方法:

$body = ConvertTo-Json $curatorResult -Compress
Invoke-RestMethod -Method Post -Uri $uri -ContentType 'application/json'-Body $body -ErrorAction Stop | Out-Null

這是使用 PowerShell 從第一原則使用 E​​lasticsearch 的演練。 有關於什么時候使用GET和POST,如何進行序列化,海量數據生成,以及如何直接與許多調用交互的注意事項。

在開始附近,您會發現有關使 PowerShell 調用與 Elasticsearch 兼容的討論(是的,有一個技巧)。

使用 PowerShell 學習 Elasticsearch

查看Elastic.Console ,這是一個小型 PowerShell 模塊,用於使用 PowerShell 和 PowerShell Core 處理 Elasticsearch。 它為選定的 Elasticsearch 版本提供 API 端點路徑和方法的自動完成。

安裝后

Install-Module -Name Elastic.Console -AllowPrerelease

您可以發送數據

$body = ConvertTo-Json $curatorResult -Compress
$response = es -Method POST "/{index}/_doc/{id}" -Body $body

請求正文可以是 JSON 字符串文字、哈希表或包含 JSON 的文件的路徑。

運行以下命令以查看完整的文檔和示例

Get-Help es -Full

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM