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
関連記事
-
-
既存のAWSアカウントをAWS Control Towerに追加
Account Factoryからは既存アカウントは追加できない? AWS Co …
-
-
AWS Systems Manager Session Managerでログを有効にする
AWS Systems Manager Session Managerでのコマン …
-
-
Cloud9でSAMローカルテスト
せっかくテストするので、Amazon CloudSearchからAmazon E …
-
-
「JAWS-UG DE&I AWS re:Invent 2024 recap サーバーレス ハンズオン」でサポーターしてきました
JAWS-UG DE&I開催の「AWS re:Invent 2024 r …
-
-
ALBの重み付けルーティングでカナリアリリースをしてみました
当ブログのAMIの更新と、ALBターゲットグループのヘルスチェックを変更したかっ …
-
-
「Fin-JAWS 第14回 Fin人類育成計画」で話させていただきました!
「Fin-JAWS 第14回 Fin人類育成計画」で話させていただきました。 久 …
-
-
slackのbotにWikipediaを調べてもらう(Python on AWS Lambda + API Gateway)
slackのbotに少しでも役に立ってもらおうと、Wikipediaを調べてもら …
-
-
RDS + VPC + Lambda + API Gateway + CloudFront + WAF + ACMでAPIを構築する
RDSのMySQLの情報を与えられたリクエストをキーにしてjsonで返すAPIを …
-
-
QuickSightのVisualizeをダッシュボード化して定期メール
「Backlogの実績工数をAmazon QuickSightで可視化してわかっ …
-
-
Amazon Q Developer for CLIでAWS Diagram MCP Serverを使ってAWSアイコンを使った図を書いてもらいました
MacにインストールしているAmazon Q Developer for CLI …