チュートリアルなのにハマる
AWSは一年ほど前に少しだけ勉強したことがあったので、簡単って言ってるlambdaなら楽勝でしょ?
から、数時間ハマったので備忘録として投稿
試したチュートリアル
テストでエラー
チュートリアル通りに進めて行って、「コンソールでテストする」の箇所でエラー。
公式のチュートリアルなんだから手順通りにやっていれば必ず上手くいくはずと思って、何度もチュートリアルを見直して初めからやったりしたがダメ
An error occurred (AccessDenied) when calling the GetObject operation: Access Denied
解決した方法
諦めてエラーメッセージなどで調べたらIAMの設定がダメっぽいので、試しにlambdaに設定しているIAMロールにAmazonS3ReadOnlyAccessを追加してみたら普通に成功
よくよくエラーメッセージを読んでみれば、GetObjectの呼び出しでエラーって書いてある…
その後、AmazonS3ReadOnlyAccessをロールから削除して、IAMポリシーの"GetObject"の部分を"Get*"に変更してみたら普通に動きました。
反省
様々にサービスが追加され続けているので、チュートリアル記載時点から変更があった影響なのかな?と思いました。
教訓として、エラーメッセージをきちんと読んで自分で考えること!