gpt4 book ai didi

Powershell elasticsearch不起作用,缺少scrollId

转载 作者:行者123 更新时间:2023-12-02 23:07:37 25 4
gpt4 key购买 nike

我正在创建一个 PowerShell 脚本来从公共(public)服务中获取大量文件(我对此没有任何所有权)。我需要使用滚动 API 来获取我需要的所有文件,但我遇到了一个问题:在提供 scroll_id 时,Elasticsearch 使用 postman 和 PowerShell 的响应不同。
我已经在 postman 中手动重新创建了这些步骤,没有任何问题。

Function scrollBody ($scrollID) {
$scrollBody = @"
{
"scroll": "2m",
"scroll_id": "$scrollId"
}
"@
return $scrollBody
}


$body = (scrollBody `
-scrollID $scrollID
| ConvertFrom-Json)

$scrollUri = $ServerUri + "/_search/scroll"
$response = Invoke-WebRequest `
-Method GET `
-Uri $scrollUri `
-ContentType 'application/json' `
-Body $body `
| ConvertFrom-Json
我从代码的另一部分获得了工作滚动 ID,但我已经使用 postman 测试了这些 ID,它们工作正常。
我怀疑这是我提供 body 的方式,但我遇到了这个错误:
{
"error": {
"root_cause": [
{
"type": "action_request_validation_exception",
"reason": "Validation Failed: 1: scrollId is missing;"
}
],
"type": "action_request_validation_exception",
"reason": "Validation Failed: 1: scrollId is missing;"
},
"status": 400
}
提前致谢

最佳答案

我无法测试,但在调用函数以生成具有 scrollID 的对象时,您似乎遇到了语法错误。
您可以将其添加到请求的哈希中,这样会更容易阅读。反引号在某种程度上是一种反模式。

$serverUri = 'http://distribution.virk.dk/offentliggoerelser/_search/scroll'

$iwrParams = @{
'Uri' = $serverUri
'Method' = 'GET'
'ContentType' = 'applications/json'
'UseBasicParsing' = $true
'Body' = @{
'scroll' = '2m'
'scroll_id' = $scrollId
}
}

Invoke-WebRequest @iwrParams

关于Powershell elasticsearch不起作用,缺少scrollId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64093444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com