web-dev-qa-db-ja.com

AWS CloudWatchイベントルールはS3バケット/キー名のワイルドカードをサポートしていますか

別のAWSアカウントのS3バケット内のファイルの変更によってトリガーされるイベントルールを作成しようとしています。詳細は こちら

これまでのところ、ルールは正確なファイル名で問題なく機能しますが、ファイル名のプレフィックスで機能させる必要があります。実際の例では、ファイル名は実際の例では正確な文字列であり、ファイル名はワイルドカードです。 CloudWatchイベントルールのJSONパターンはワイルドカードをサポートしていますか?

作業構成:

{
  "source": ["aws.s3"],
  "account": ["1111111xxxxx"],
  "detail": {
    "eventSource": ["s3.amazonaws.com"],
    "eventName": ["PutObject"],
    "requestParameters": { "bucketName": ["mybucket"], "key": ["myfile-20180301.csv"] }
  }
}

非稼働構成:

{
  "source": ["aws.s3"],
  "account": ["1111111xxxxx"],
  "detail": {
    "eventSource": ["s3.amazonaws.com"],
    "eventName": ["PutObject"],
    "requestParameters": { "bucketName": ["mybucket"], "key": ["myfile-*"] }
  }
}
16
k1r0

たとえば、prefixのように コンテンツベースのフィルタリング (2020年2月にリリース)を使用して、このための素晴らしいソリューションを見つけました。

したがって、あなたの場合、解決策は次のようになります:

{
  "source": ["aws.s3"],
  "account": ["1111111xxxxx"],
  "detail": {
    "eventSource": ["s3.amazonaws.com"],
    "eventName": ["PutObject"],
    "requestParameters": {
      "bucketName": ["mybucket"],
      "key": ["myfile-*"]
    }
  }
}
2
Marto

回避策は、*。csvファイルをPUT/COPYして別のバケットを作成し、「key」パラメータを削除することです。これにより、そのバケットでの* .csvファイル操作でCloud Watchがトリガーされます。別の理由として、キーがすでにクラウドトレイルに設定されているのに、なぜクラウドウォッチイベントパターンにキーが表示されるのかわかりません。

0
Vlad Cenan

CloudTrailを介してCloudwatchに関連するイベント をログに記録すると、Cloudwatchメトリックフィルター ワイルドカードマッチングを使用 を使用し、そのフィルターでCloudwatchイベントを作成できます。

0
skeller88