serverless frameworkのdeployで[IamRoleLambdaExecution - Syntax errors in policy.]が出る
serverless frameworkでデプロイするときにエラーが出てしまい詰まったのでメモ。
$ sls deploy
を実行すると、
Serverless Error ---------------------------------------- An error occurred: IamRoleLambdaExecution - Syntax errors in policy. (Service: AmazonIdentityManagement; Status Code: 400; Error Code: MalformedPolicyDocument; Request ID: xxx; Proxy: null).
が表示されてしまう。
対処法
クオーテーションで囲む部分が違っていた。
修正前
# serverless.yml iamRoleStatements: - Effect: Allow Action: - dynamodb: "DescribeTable" - dynamodb: "Query" - dynamodb: "Scan"
修正後 serverless.yml
# serverless.yml iamRoleStatements: - Effect: Allow Action: - "dynamodb:DescribeTable" # 全部囲む - "dynamodb:Query" - "dynamodb:Scan"
ドキュメントと照らし合わせたらちゃんとその通りに書いてました。。。