ログページに移動すると、以下のエラーが表示されます。
ログストリームの読み込み中にエラーが発生しました。このページを更新して、もう一度やり直してください。
問題は、ログファイルを作成しているコードが問題ないことを除いて同じである別の関数があることです。
助言がありますか?
私はそれを解決しました。
CloudwatchLogsFullAccessを追加しましたが、1時間もかからず、動作していました。
2番目の関数でこれを行う必要がある理由はわかりませんが、最初の関数では必要ありませんが、現在は機能しています。
以下は私を助けたリンクです。
https://blogs.perficient.com/2018/02/12/error-loading-log-streams/
Lambdaがすでに少なくとも1回ログに記録されていることを確認してください!
そうでない場合にこのエラーが発生するように見えます-ログステートメントがある場合とない場合の両方で新しいラムダをテストして確認しました。ログステートメントがない場合、ラムダに対応するロググループはまだ存在しません。最初のログステートメントが作成された後、ステートメントは、一見新しく作成された対応するロググループに存在します。
これは事後に明白/直感的に見えるかもしれませんが、これが私がこのシナリオに遭遇した方法です:新しいLambdaでロギングが発生する前に、CloudWatchイベントにフックしようとしました-その試みの後に試みましたLambdaが(イベントによって)呼び出されたかどうかを表示「Monitoring」タブ->「Viewlogs inCloudWatch」ボタン-ここでIこのエラーが発生しました。 Lambdaが呼び出されていなかったため[CloudWatchイベントのフックアップに失敗しました]、ログが発生しなかったため、対応するロググループがまだ調べられていませんでした(Lambda設定からハイパーリンクを試みた場合)。
(Fwiw、最初のログ記録の前に対応するロググループを手動で作成できると思いますが、テストはしていません。)
Lambdaの実行ロールにLambdaからCloudWatchログへの書き込みを許可するポリシーがあることを確認してください。
IAMコンソール-> 'ロール'-> <ラムダのロール>-> '権限'タブ-> '権限ポリシー'アコーディオン
次のようにパラメータが設定されているポリシーがリストされていることを確認します。
これらの要件を満たす「AWSマネージドポリシー」の例[すぐに使用でき、AWSマネージドであるため]は "AWSLambdaBasicExecutionRole"です。 。次のパラメータがあります。
ロールにそのようなポリシーがまだない場合は、新しいポリシーを追加するか、既存のポリシーを編集してここにリストされている要件を設定します。このエラーは解決する必要があります。
たとえば、問題を修正する前の私の場合、Lambdaのロールには[AWS-managed] "AWSLambdaBasicExecutionRole"からbasedオフのポリシーがありましたが、どういうわけか別のラムダに限定されたリソースがありました(これは私の問題でした-私の別の意図されたラムダからのそのポリシーを満たすには不十分な許可です)。 original[AWS-managed] "AWSLambdaBasicExecutionRole"ポリシーを目的のLambdaのロールに追加することでこれを修正しました(前述のポリシーも削除しました)他には使用されていませんでしたが、おそらく厳密には必要ありませんでした[片付けは良かったですが])。