403 在将数据发布到 cloudsearch 期间

问题描述 投票:0回答:2

以下是代码:

import requests
url = 'document_url/documents/batch'
payload = "[{...}, {....}]"
headers = {'Content-type': 'application/json'}
response = requests.post(url, headers=headers, data=payload)
print('response code:', response.status_code)
print('response body:', response.json())

以下产量:

response code: 403  
response body: {'message': 'Request forbidden by administrative rules', '__type': 'CloudSearchException'}

安全规则也对所有人开放

可能是什么问题?

python-3.x amazon-web-services amazon-cloudsearch
2个回答
0
投票

根据讨论论坛:https://forums.aws.amazon.com/thread.jspa?threadID=148917

文档网址应为:

document_url/2013-01-01/documents/batch

发到上述网址后的回复:

{
  "status": "success",
  "adds": 1,
  "deletes": 0
}

0
投票

这完全是由于使用文档端点并添加 API 版本,如下所示。

由于您尝试将数据插入云搜索,因此您需要使用 AWS 提供给您的云搜索的文档端点。

后面需要跟API版本如下:

https://doc-xxxxx.zzzz.cloudsearch.amazonaws.com/2013-01-01/documents/batch

同时也要注意添加内容类型,否则最终可能会出现

HTTP 415 Unsupported Media Type
错误。

addRequestHeader("Content-Type", "application/xml");
© www.soinside.com 2019 - 2024. All rights reserved.