Я написал ресурсы в моем serverless.yml
, как показано ниже:
resources:
Resources:
RestApi :
Type : AWS::ApiGateway::RestApi
Properties :
Body : ${file(./swagger.yaml)}
LoginApiToInvokeLambda:
Type: AWS::Lambda::Permission
Properties:
FunctionName: login
Action: lambda:InvokeFunction
Principal: apigateway.amazonaws.com
При развертывании sls произошла ошибка ниже:
Произошла ошибка: LoginApiToInvokeLambda - функция не найдена: arn: aws: lambda: ap-northeast-1: xxxxxxxxxxxx: функция: api-dev-login (Сервис: AWSLambda; код состояния: 404; код ошибки: ResourceNotFoundException
В начальном развертывании,Я думал, что разрешения были установлены перед созданием лямбда-функций. Поэтому я закомментировал LoginApiToInvokeLambda
в моем serverless.yml. Я снова sls deploy
, это успешно. Но ApiGateway не имеет разрешения для вызова лямбда. После этого я восстановил закомментированныечасть, и sls deploy
. Наконец-то я смог дать ApiGateway разрешение Lambda invoke.
Есть ли способ сделать это одновременно?