Похоже, что вы не передаете учетные данные AWS с этим запросом.
Подробное руководство по созданию запроса Postman с аутентификацией AWS здесь: Использование Postman для вызова API .
Ваше окно почтальона может выглядеть следующим образом:
Чтобы сделать то же самое с python, пожалуйста, ознакомьтесь с разделом Sample python client
эта страница документации , обратите внимание, что объект 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)
Надеюсь, это поможет!