Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAmazon S3 ソース操作は Amazon SQS を使用して、S3 バケットで新しいオブジェクトが作成または削除されたときに通知します。
On New Object と On Deleted Object の複数の Amazon S3 ソースのシナリオがあります。
キューがすでに作成および指定されている
キューがソースによって作成されている
イベント通知設定がソースによって作成されている
すでに存在するキューのソースを正しく使用するには、Amazon SQS キューに対して次のアクションを有効にする必要があります。
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "sqs:DeleteMessage",
                "sqs:GetQueueUrl",
                "sqs:ReceiveMessage",
                "sqs:GetQueueAttributes"
            ],
            "Resource": "arn:aws:sqs:REGION:ACCOUNT_ID:QUEUE_NAME"
        }
    ]
}
さらに、S3 バケットで新規オブジェクトが作成または削除されたときにキューがメッセージを受信できるようにするには、次の形式でキューのポリシーを作成します。
{
  "Version": "2012-10-17",
  "Id": "arn:aws:sqs:REGION:ACCOUNT_ID:QUEUE_NAME/SQSDefaultPolicy",
  "Statement": [
    {
      "Sid": "Sid1593770403887",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "SQS:SendMessage",
      "Resource": "arn:aws:sqs:REGION:ACCOUNT_ID:QUEUE_NAME",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:s3:::BUCKET_NAME"
        }
      }
    }
  ]
}
キューがソースによって作成されている場合、キュー名にはプレフィックス MULE-S3-TRIGGER が付いています。
キューがソースによって作成されている場合、ユーザーにはキューの作成とキュー属性の設定の両方に対する権限が必要です。
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "sqs:DeleteMessage",
                "sqs:ReceiveMessage",
                "sqs:GetQueueAttributes",
                "sqs:CreateQueue",
                "sqs:SetQueueAttributes",
                "sqs:GetQueueUrl"
            ],
            "Resource": "arn:aws:sqs:REGION:ACCOUNT_ID:MULE-S3-TRIGGER-*"
        }
    ]
}
キューがソースによって作成されている場合、S3 オブジェクトがバケットで作成または削除されると、SQS ポリシーが次の形式でキューに追加されます。
{
  "Version": "2012-10-17",
  "Id": "example-ID",
  "Statement": [
    {
      "Sid": "example-statement-ID",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
    },
      "Action": "SQS:SendMessage",
      "Resource":QUEUE_ARN,
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "BUCKET_ARN"
        }
      }
    }
  ]
}
すでに存在する通知設定のソースを正しく使用するには、ソースの [ADVANCED (詳細)] タブで通知設定名を指定する必要があります。
   <s3:new-object-trigger doc:name="On New Object" config-ref="${config}" bucketName="example-bucket-name"
                               notificationConfigurationName="on-new-object-configuration">
            <scheduling-strategy>
                <fixed-frequency/>
            </scheduling-strategy>
        </s3:new-object-trigger>
S3 ポリシーの場合、すべてのケースで次の形式を使用します。
{
    "Version": "2012-10-17",
    "Id": "Policy1593761427184",
    "Statement": [
        {
            "Sid": "Stmt1593760119344",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::ACCOUNT_ID:user/test"
            },
            "Action": "SPECIFIC_ACTION",
            "Resource": "arn:aws:s3:::BUCKET_NAME/*"
        },
        {
            "Sid": "Stmt1593760259223",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::ACCOUNT_ID:user/test"
            },
            "Action": ["s3:PutBucketNotification", "s3:GetBucketNotification"],
            "Resource": "arn:aws:s3:::BUCKET_NAME"
        }
    ]
}
この例では、指定されたソース操作に応じて、SPECIFIC_ACTION は s3:PutObject または s3:DeleteObject です。
コネクタの設定が完了したら、例を試すことができます。