Help us understand the problem. What is going on with this article?

sam buildのエラー解消【EventInvokeConfig】

Lambdaの再試行回数を制御するために、SAMテンプレートにEventInvokeConfigの定義を追加した際に、sam buildでエラーを吐くようになりました。

samのテンプレートは以下のような感じです。

template.yaml
Resources:
  Function:
    Type: AWS::Serverless::Function
    Properties:
      EventInvokeConfig: # 追加
        MaximumRetryAttempts: 0  # 追加

ビルドすると「EventInvokeConfigはAWS::Serverless::Functionにて定義されていません」という旨のエラーが、、、

$ sam build

Traceback (most recent call last):
  File "/usr/local/Cellar/aws-sam-cli/0.39.0/libexec/lib/python3.7/site-packages/samcli/lib/samlib/wrapper.py", line 71, in run_plugins
    parser.parse(template_copy, all_plugins)  # parse() will run all configured plugins
  File "/usr/local/Cellar/aws-sam-cli/0.39.0/libexec/lib/python3.7/site-packages/samcli/lib/samlib/wrapper.py", line 140, in parse
    raise InvalidDocumentException(document_errors)
samtranslator.model.exceptions.InvalidDocumentException: [InvalidResourceException('Function', 'property EventInvokeConfig not defined for resource of type AWS::Serverless::Function')]

〜略〜

当事象についてGitHubにIssueがありました。
Property EventInvokeConfig not defined for resource of type AWS::Serverless::Function #1747
aws-sam-cli 0.40.0までのバージョンでは、うまく動作しないみたいです。

ということなのでaws-sam-cliをバージョンアップしましょう。

$ sam --version
SAM CLI, version 0.39.0

$ brew upgrade aws-sam-cli
Updating Homebrew..
 略

$ sam --version
SAM CLI, version 1.1.0

これでsam buildでエラーが発生せず、ビルドできるようになりました。
適度にアップデート内容を確認して、必要に応じてバージョンアップすることが大切ですね。

kazuki_hiyama
自分自身が直面した課題や調べたことを備忘録として残すことがメインです。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした