Ошибка при вызове API с использованием AWS Lambda.(AWS Lambda + AWS API Gateway + Почтальон) - PullRequest
0 голосов
/ 22 ноября 2018

Я получаю сообщение об ошибке при вызове API конечной точки AWS SageMaker из функции Lambda.Когда я звоню с помощью Почтальона, я получаю сообщение об ошибке:

{
    "errorMessage": "module initialization error"
}

Ответы [ 3 ]

0 голосов
/ 23 ноября 2018

Мы рекомендуем использовать AWS SDK для вызова вашей конечной точки.Клиенты AWS SDK обрабатывают сериализацию для вас, а также подписывают запросы и т. Д. Было бы очень трудно правильно сделать это вручную с почтальоном.

У нас есть клиент SDK, доступный на многих языках, включая Java, Python,JS и т. Д. https://docs.aws.amazon.com/sagemaker/latest/dg/API_runtime_InvokeEndpoint.html#API_runtime_InvokeEndpoint_SeeAlso

0 голосов
/ 26 ноября 2018

В следующий раз, пожалуйста, включите больше деталей в ваш вопрос.например.Данные запроса POST, заголовки и т. Д.

В любом случае, чтобы помочь вам в вызове конечной точки Sagemaker с помощью Postman -

  1. На вкладке «Авторизация» выберите тип «Подпись AWS».
  2. Введите свой доступ и секретный ключ пользователя IAM, у которого есть разрешение на ресурсы Sagemaker.
  3. Введите регион AWS.eg.us-east-1
  4. Введите 'Service Name' в качестве 'sagemaker'
  5. Выберите правильный тип контента.Некоторые алгоритмы ML принимают только «text / csv».
  6. Выберите тип запроса как «POST»
  7. Введите URL-адрес вызова Sagemaker.Например: 'https://runtime.sagemaker.us -east-1.amazonaws.com / endpoints / xgboost-xxxx-xx-xx-xx-xx-xx-xxx / invocations '

Попробуйте и сообщите мне, если у вас есть какие-либо проблемы.

Вот как должен выглядеть ваш почтальон - Sagemaker endpoint request - Postman Screenshot

0 голосов
/ 22 ноября 2018

Просто чтобы прояснить это, вы не можете вызывать конечные точки SageMaker напрямую, используя PostMan (даже если это так, это будет непросто).Для этого вам может понадобиться AWS SDK (т.е. boto).

Ссылка: https://aws.amazon.com/blogs/machine-learning/call-an-amazon-sagemaker-model-endpoint-using-amazon-api-gateway-and-aws-lambda/

Я бы предложил создать небольшой HTTP-сервер с Flask и использовать AWS SDK (Boto) для вызова конечной точки.Затем вы можете вызвать конечную точку Flask с помощью PostMan.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...