Краткое описание проблемы / Общие сведения:
У меня есть проект AWS Mobilehub, в котором в API-шлюзе создано несколько API-интерфейсов, которые указывают на функции Lambda.Я работаю над реализацией использования псевдонимов и этапов, чтобы иметь конечные точки и версии Dev и Prod.Однако я получаю сообщение об ошибке (код 403 и сообщение «Клиент не авторизован для выполнения этой операции.»), Когда я пытаюсь использовать свой новый этап Prod ...
Подробности:
Я создал новый псевдоним PROD
для одной из функций Lambda.Все лямбда-функции имеют псевдоним Development
, указывающий на $LATEST
версию функции.
В API Gateway все API, соответствующие функциям Lambda, созданным Mobilehub, имеют 2 этапа: Development
и MobileHub_Deployments
.Я создал новый этап под названием PROD
, который я настроил для указания псевдонима PROD лямбда-функции.Затем я развернул API.
Наконец, я обновил мобильное приложение, чтобы использовать этот новый этап, изменив файл aws-exports с https://some-id.execute-api.us-east-1.amazonaws.com/Develoment
на https://some-id.execute-api.us-east-1.amazonaws.com/PROD
.
Где все работалокогда я использовал стадию Development
, теперь я получаю 403, когда пытаюсь вызвать стадию PROD
.У меня включено ведение журнала и в журналах CloudWatch указано «Клиент не авторизован для выполнения этой операции».
FWIW У меня точно такой же код функции в двух разных версиях функции Lambda, чтобы помочь изолировать переменные...
Что мне нужно изменить, чтобы этот новый этап был доступен для моего мобильного приложения?Проблема в том, что мобильное приложение вызывает API, или API-шлюз вызывает конкретный псевдоним функции Lambda?