1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

M1 Mac1でAWS SAM CLI ちょっとハマった

Posted at

いいかげんローカルでの開発にも飽きてきたのでしばらく放置していたAWSを活用しようとおもって公式チュートリアルをやってみた。

環境

  • Macbook Air (M1 2020)
  • Docker 20.10.16 (limaにて、参考
  • SAM 1.52.0

ローカルでテスト

ローカルにデプロイするにはsam deploy --guidedではなく、sam local start-appでdockerコンテナが起動する。
公式に従って、curl http://127.0.0.1:3000/helloとすると、

{"message":"Internal server error"}

あれ、、、うまくいってない。簡単なチュートリアルなのにっ!!

解決

いろいろ調べたり、template.yamlをみているうちに、アーキテクチャの違いに気づいて以下の対応

Resources:
  HelloWorldFunction:
    Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
    Properties:
      CodeUri: hello_world/
      Handler: app.lambda_handler
      Runtime: python3.9
      Architectures:
        # - x86_64 削除
        - arm64    #追加
      Events:
        HelloWorld:
          Type: Api # More info about API Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api
          Properties:
            Path: /hello
            Method: get

無事、{"message": "hello world"}%が帰ってきました。
そりゃそうだよねって感じかもしれませんが、参考まで。 AWSにデプロイするときにはx86_64なのかな。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?