Eventbridge API Destinationを利用して、ラムダ関数のURLを呼び出し、希望のレートに調整しています。これは、ラムダ関数のinvoke-url認証タイプがNoneに設定されている場合に機能します。関数のURL認証タイプをAWS_IAMに設定し、リソースベースの呼び出し関数のURLポリシーを作成すると、機能しません。
ポリシーのプリンシパルをに設定してみました
上記のいずれも機能しません。私がここで何を間違っているのか、あるいはこれが可能かどうかさえわかりません。
ポリシーステートメントの詳細
Statement ID
invoke-from-event-bridge-rule
Principal
arn:aws:iam::xxxxxxx:role/< my eventBridge role >
Effect
Allow
Action
lambda:InvokeFunctionUrl
Conditions
{
"StringEquals": {
"lambda:FunctionUrlAuthType": "AWS_IAM"
}
}
ドキュメントから:
Amazon EventBridge APIの宛先は、AWSサービスまたはリソースをターゲットとして呼び出す方法と同様に、ルールのターゲットとして呼び出すことができるHTTPエンドポイントです。
この方法でEventBridgeにLambdaを呼び出させると、EventBridgeはLambda関数を呼び出していることを認識しません。AWSサービスを呼び出していることすら知りません。AWSの外部にあるサードパーティの「webhook」と同じように扱います。AWSIAMクレデンシャルを使用してHTTPリクエストに署名することはありません。
HTTPエンドポイント呼び出しの代わりに、EventBridgeからの標準のAWSLambda呼び出しを使用することをお勧めします。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加