gpt4 book ai didi

elasticsearch - Postman AWS S3 快照请求 Elasticsearch

转载 作者:行者123 更新时间:2023-12-02 22:56:48 25 4
gpt4 key购买 nike

您好,我需要一些帮助来使用 POSTMAN 在 AWS to create a snapshot in a S3 bucket 上向我的 ElasticSearch 发送 PUT 请求。

我创建了一个名为 cb-search-es-backup 的 S3 存储桶。
我为 S3 (see:this post of mine for the steps I've taken) 创建了一个角色和一个策略。

请求 URL https://myelasticsearchendpoint.eu-west-1.es.amazonaws.com/

请求方法 :PUT

正文 :原始/json

{
"type": "s3",
"settings": {
"bucket": "cb-search-es-backup", // my bucketname
"region": "eu-west-1", // region
"role_arn": "arn:aws:iam::12345676890:role/Role_ES_TO_S3" // my role arn
}
}

enter image description here

我还尝试了授权类型:“AWS 签名”,并填写了访问权限和 key 。

最佳答案

您似乎没有通过此请求传递 AWS 凭证。

此处有详细指南如何使用 AWS 身份验证发出 Postman 请求:Use Postman to Call an API .

您的 Postman 窗口可能如下所示:

AWS Postman auth

要从 python 中执行相同操作,请查看 Sample python client this documentation page部分,请注意 AWS4Auth对象被创建并作为 auth 传递requests.put() 的参数:

credentials = boto3.Session().get_credentials()
awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, region, service, session_token=credentials.token)

# Register repository

path = '_snapshot/my-snapshot-repo' # the Elasticsearch API endpoint
url = host + path

payload = {
...
}

headers = {"Content-Type": "application/json"}

r = requests.put(url, auth=awsauth, json=payload, headers=headers)

希望有帮助!

关于elasticsearch - Postman AWS S3 快照请求 Elasticsearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50737125/

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