0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS】LocalStackでLambda関数の作成

Posted at

環境

// dockerを起動
docker-compose up -d

Lambda関数の作成

zipファイルを使って関数を作成する方法で実施。

1.コードファイルの作成

index.mjs
export const handler = async (event) => {
    // TODO implement
    const response = {
      statusCode: 200,
      body: JSON.stringify('Hello from Lambda!'),
    };
    return response;
  };

ローカルで作ってください。
AWS Lambda作成時に生成されるコードそのままコピペした。

2.zipに圧縮

右クリックorコマンド

3.Lambda関数のデプロイ

以下コマンドでデプロイします。

  aws --endpoint-url=http://localhost:4566 --profile localstack lambda create-function ^
  --function-name [任意の関数名] ^
  --runtime nodejs20.x ^
  --zip-file fileb://lambda/index.zip ^
  --handler index.handler ^
  --role arn:aws:iam::000000000000:role/lambda-role

見やすくするため^で改行しています。

--zip-fileにはzipを置いた場所を指定する。自分の場合localstack/lambdaに置いたのでこうなる。
--roleはダミーで問題ないがarn:aws:iam:xxx:role/xxxにする必要がある。testとかにしちゃうとエラーが出る(多分)

Lambda関数が作成されたか確認してみる。

aws lambda list-functions --endpoint-url=http://localhost:4566 --profile localstack

色々出たら成功

4.Lambda関数の実行

aws lambda invoke ^
--function-name [実行したいlambda関数名] ^
output.log --endpoint-url=http://localhost:4566 --profile localstack

output.logに実行結果を出力するようにしている。

参考

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?