本記事ついて
本記事は プログラミング初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。
構成図
Lambda関数を作る
LambdaのGUIコンソールを開く
関数の作成をクリック
一からの作成をチェックを入れて
関数名を入れて
ランタイムにpython3.7を入れる(今回はpython使用するため)
アクセス権限は
基本的なLambdaアクセス権限で新しいロールを作成にチェック
できたら関数の作成をクリックしてください。
コードを確認
'statusCode': 200
が return するようになっていると思います。
上にprint(event)を追加
import json
def lambda_handler(event, context):
# TODO implement
print(event)
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
Deployを押す
Testで動かす
イベント名を入れて
作成をクリック
正常に保存されましたと上に出ていると思います。
テスト結果も問題ないものとなっていると思います。
最期に設定のアクセス権限がCloudWatchLogsのみになっていることを確認してください(あとで違いを見ます)
s3バケットの作成
s3のGUIコンソールを開く
バケットを作成をクリック
バケット名を入力
バケット名は被らないものにする必要があるので注意
リージョンはLambdaと同じ場所で
このバケットのブロックパブリックアクセス設定は
パブリックアクセスをすべて ブロックにチェックを入れてください。
(そのほうが安全です)
あとはそのままで
バケットを作成をクリック
出来ましたら、自分の作ったs3を確認してください
lambdaと連携させる
自分の作ったs3をクリックしてプロパティを見て下さい
色々な情報がありますが
イベント通知でイベント通知を作成
イベント名を入れる(わかるものであれば自由で)
プレフィックス・サフィックスで発動条件を絞ることができる
イベントタイプ
今回はすべてのオブジェクト作成イベントで
送信先(ここが重要)
lambda関数にチェックがあることを確認
lambda4関数から選択するにチェックがあることを確認
lambda関数のところに先ほど作った関数を入れてください
lambdaを確認
lambdaのGUIコンソールに行き、自分の作ったlambdaを確認すると
S3のトリガーあることが確認できると思います
アクセス権限を確認するとリソースベースのポリシーがあることが確認できると思います
こちらをクリックすると詳細な情報が見れると思います
s3画面からアップロードをしてlambdaが動いたか確認する
s3画面に戻りアップロードをクリックしてください
そうしたら適当なファイルと追加してアップロードをしてください
成功したと思います
lambdaの実行状態を確認するため
lambdaのコンソール画面に画面遷移してください
モニタリングに行って
CloudWatchのログを表示をクリック
ログが二つあると思いますが古い方はテストイベントになります
も一つのほうを確認すると色々な情報が見れると思います。
これでs3と連携ができたことが確認できました。
最後に
またこの記事は AWS 初学者を導く体系的な動画学習サービス「AWS CloudTech」の課題カリキュラムで作成しました。
https://kws-cloud-tech.com/