0
0

More than 1 year has passed since last update.

AWS Lambdaのイベントソースマッピングを一括処理するコマンド

Last updated at Posted at 2022-09-27

はじめに

LambdaのイベントソースマッピングはAWS CLIで操作できますが、多くのコマンドがUUID指定なので使いづらいと感じ、jqコマンドを使ってコマンド一発で実行できるようにしたときのメモです。

コマンド

イベントソースマッピングの作成と開始

以下コマンドの<functionName><eventSourceArn>を置換する。

aws lambda create-event-source-mapping --function-name <functionName> --event-source-arn <eventSourceArn>

イベントソースマッピングの無効化

UUID指定

以下コマンドの<uuid>を置換する。

aws lambda update-event-source-mapping --uuid <uuid> --no-enabled

LambdaファンクションArn指定

以下コマンドの<functionArn>を置換する。

aws lambda list-event-source-mappings | \
  jq -r '.EventSourceMappings[] | select(.FunctionArn | contains("<functionArn>")) | .UUID' | \
  xargs -I{} aws lambda update-event-source-mapping --uuid {} --no-enabled

イベントソースArn指定

以下コマンドの<eventSourceArn>を置換する。

aws lambda list-event-source-mappings | \
  jq -r '.EventSourceMappings[] | select(.EventSourceArn | contains("<eventSourceArn>")) | .UUID' | \
  xargs -I{} aws lambda update-event-source-mapping --uuid {} --no-enabled

イベントソースマッピングの有効化

UUID指定

以下コマンドの<uuid>を置換する。

aws lambda update-event-source-mapping --uuid <uuid> --enabled

LambdaファンクションArn指定

以下コマンドの<functionArn>を置換する。

aws lambda list-event-source-mappings | \
  jq -r '.EventSourceMappings[] | select(.FunctionArn | contains("<functionArn>")) | .UUID' | \
  xargs -I{} aws lambda update-event-source-mapping --uuid {} --enabled

イベントソースArn指定

以下コマンドの<eventSourceArn>を置換する。

aws lambda list-event-source-mappings | \
  jq -r '.EventSourceMappings[] | select(.EventSourceArn | contains("<eventSourceArn>")) | .UUID' | \
  xargs -I{} aws lambda update-event-source-mapping --uuid {} --enabled

イベントソースマッピングの削除

UUID指定

以下コマンドの<uuid>を置換する。

aws lambda delete-event-source-mapping --uuid <uuid>

LambdaファンクションArn指定

以下コマンドの<functionArn>を置換する。

aws lambda list-event-source-mappings | \
  jq -r '.EventSourceMappings[] | select(.FunctionArn | contains("<functionArn>")) | .UUID' | \
  xargs -I{} aws lambda delete-event-source-mapping --uuid {}

イベントソースArn指定

以下コマンドの<eventSourceArn>を置換する。

aws lambda list-event-source-mappings | \
  jq -r '.EventSourceMappings[] | select(.EventSourceArn | contains("<eventSourceArn>")) | .UUID' | \
  xargs -I{} aws lambda delete-event-source-mapping --uuid {}

イベントソースマッピングの件数

イベントソースマッピングの総件数

aws lambda list-event-source-mappings | \
  jq -r '.EventSourceMappings[] | .State' | wc -l

無効なイベントソースマッピングの件数

aws lambda list-event-source-mappings | \
  jq -r '.EventSourceMappings[] | select(.State=="Disabled") | .State' | wc -l

有効なイベントソースマッピングの件数

aws lambda list-event-source-mappings | \
  jq -r '.EventSourceMappings[] | select(.State=="Enabled") | .State' | wc -l

参考

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