Создание запроса POST с авторизацией AWS в python urllib2 / запросы - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь реализовать POST-запрос в python, используя авторизацию AWS

enter image description here

Это тело, которое я отправляю

{
  "inputText": "expand"
}

Здесь, когда я проверяю код, он отображается в коде почтальона

import requests

url = "https://runtime.lex.us-east-1.amazonaws.com/bot/amgenTestBot/alias/version_a/user/aUniqueUserID/text"

payload = ""
headers = {
'content-type': "application/x-www-form-urlencoded",
'host': "runtime.lex.us-east-1.amazonaws.com",
'x-amz-date': "20181127T134404Z",
'authorization': "AWS4-HMAC-SHA256 Credential=AKIAJVHJC2AO36FPJXFQ/20181127/us-east-1/lex/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date, Signature=e265ea88b0c6481467962a324c96184314d6c3941589eead70bb8b83c85e391a",
'cache-control': "no-cache",
'postman-token': "8155c307-8a9f-61e0-37b9-2015b7fcf713"
}

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)

Но сгенерированный код содержит полезную нагрузку, столь же пустую, как и генерация подписи с SHA256.Я не знаю, какие параметры рассматриваются для создания подписи, так как у меня есть только ключ доступа, секретный ключ, регион AWS и имя службы вместе с упомянутым выше телом.

POSTMAN создает заголовки самостоятельно.Есть ли способ достичь этого программно с помощью запросов Python / urllib.

Я не могу найти ни один с аутентификацией aws

...