Запрос HTTP машинного обучения Amazon AWS
Я создал модель машинного обучения AWS с рабочей конечной точкой в реальном времени. Я хочу использовать созданный сервис через HTTP-запрос. Для тестирования я использую Postman, я создал запрос в соответствии с документацией API Amazon, но каждый раз, когда я получаю то же исключение: UnknownOperationException
. Пока я использую Python SDK, служба работает нормально. Ниже пример, который получает информацию о модели.
Это мой запрос (поддельные учетные данные):
POST HTTP/1.1
Host: realtime.machinelearning.us-east-1.amazonaws.com
Content-Type: application/json
X-Amz-Target: AmazonML_20141212.GetMLModel
X-Amz-Date: 20170714T124250Z
Authorization: AWS4-HMAC-SHA256 Credential=JNALSFNLANFAFS/20170714/us-east-1/AmazonML/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date;x-amz-target, Signature=fiudsf9sdfh9sdhfsd9hfsdkfdsiufhdsfoidshfodsh
Cache-Control: no-cache
Postman-Token: hd9sfh9s-idsfuuf-a32c-31ca-dsufhdso
{
"MLModelId": "ml-Hfdlfjdof0807",
"Verbose": true
}
Исключение I получить:
{
"Output": {
"__type": "com.amazon.coral.service#UnknownOperationException",
"message": null
},
"Version": "1.0"
}
2 ответов
после проведения исследований на форуме AWS я нашел несколько похожих HTTP-запросов. Оказывается, у меня было 3 неправильные параметры.
- адрес хоста должен быть:
Host: machinelearning.us-east-1.amazonaws.com
- тип содержимого:
Content-Type: application/x-amz-json-1.1
- в параметрах учетных данных целевая служба должна быть указана как
machinelearning
краткая инструкция по настройке почтальона запрос:
на выбрать
AWS Signature
и нажмитеAccessKey
иSecrectKey
. В
пожалуйста, проверьте следующую ссылку и подтвердите свой sigv4
http://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html