初期化

compose.yaml:

services:
  localstack:
    container_name: "${LOCALSTACK_DOCKER_NAME:-localstack-main}"
    image: localstack/localstack
    ports:
      - "127.0.0.1:4566:4566"
      - "127.0.0.1:4510-4559:4510-4559"
    environment:
      - DEBUG=${DEBUG:-0}
    volumes:
      - "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack"
      - "${XDG_RUNTIME_DIR}/podman/podman.sock:/var/run/docker.sock"

.envrc:

export AWS_ENDPOINT_URL=http://localhost:4566
export AWS_ACCESS_KEY_ID=test
export AWS_SECRET_ACCESS_KEY=test
export AWS_DEFAULT_REGION=us-east-1

実行

podman compose up -d

関数の作成

aws lambda create-function \
  --function-name my-pnpm-lambda \
  --runtime nodejs24.x \
  --handler index.handler \
  --zip-file fileb://dist/function.zip \
  --role arn:aws:iam::000000000000:role/lambda-role

関数の実行

aws lambda invoke \
  --function-name my-pnpm-lambda \
  response.json

関数の更新

aws lambda update-function-code \
  --function-name my-pnpm-lambda \
  --zip-file fileb://dist/function.zip

参照