Lambda関数からAWS Systems Managerパラメータストアの値を取得して更新する
2021/08/08
Lambda関数で自分自身の環境変数を更新する
だと、Lambdaのエイリアスというかバージョンが使えないとわかったので、おとなしくSystems Managerパラメータストアを使うことにしました。
目次
AWS Systems Managerパラメータストアを作成する
IAMロールにポリシー追加
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "ssm:PutParameter", "ssm:GetParameter" ], "Resource": "arn:aws:ssm:us-east-1:123456789012:parameter/twitter-since-id" } ] } |
Lambda関数のコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
def get_since_id(): return ssm_client.get_parameter( Name='twitter-since-id' )['Parameter']['Value'] def update_since_id(since_id): ssm_client.put_parameter( Name='twitter-since-id', Value=since_id, Overwrite=True ) since_id = get_since_id() ~Twitter取得処理 中略~ update_since_id( tweet['search_metadata']['max_id_str'] ) |
Getの方は[‘Parameter’][‘Value’]に入ってました。
Putの方はOverwrite=Trueを指定しないと上書き失敗しました。
該当処理を2回実行してみました。
パラメータストアが更新されてます。
更新ユーザーはLambdaのIAMロールです。
1回目の実行でいくつかのTweetとmax_idが取得されて、2回目のsince_idに設定されて2回目はTweetはなしでした。
想定通りの動作でOKです。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。


開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
RDS + VPC + Lambda + API Gateway + CloudFront + WAF + ACMでAPIを構築する
RDSのMySQLの情報を与えられたリクエストをキーにしてjsonで返すAPIを …
-
-
AWS Secrets Manager交代ユーザーローテーション
AWS Secrets Managerの交代ユーザーローテーションを確認してみま …
-
-
Lambda関数をPython3.6から3.9に変更
CodeGuru ProfilerでLambda関数(Python 3.9)のパ …
-
-
EC2 Amazon Linux 2 にAmazon LinuxからWordPressを移行
このブログを新しいインスタンスに移行することにしました。 2015年5月にAma …
-
-
AWS WAFの個別ルールを設定する
Web ACLを選択して、[Add my own rules and rule …
-
-
RocketChat(EC2インスタンス)でCPU80%以上を10分間継続したら再起動する
先日、数日間のやり取り用で完全に使い捨てとして使っているRocketChatで、 …
-
-
Amazon SES(Simple Email Service)でメール受信時のアクションでLambdaを実行して渡されるデータを見てみる
Amazon SESで受信したメールをS3に保存して、S3のトリガーでLambd …
-
-
cfn-signalの認証とネットワーク
AWS CloudFormationヘルパースクリプトのcfn-signalがC …
-
-
AWS Transit GatewayをResource Access Managerで他アカウントと共有
AWS Transit Gatewayを他アカウントに共有しました。 画面画像で …
-
-
S3オブジェクトへのリクエストをCloudTrail, Athenaで識別する(パーティショニング)
Amazon S3オブエジェクトへのリクエストをCloudTrail, Athe …