イベント通知を設定する
通知サービスは、 3 つの StorageGRID プラットフォームサービスのうちの 1 つです。バケットの通知を有効にすると、指定したイベントに関する情報を、 AWS Simple Notification Service ™( SNS )をサポートするデスティネーションサービスに送信できます。
-
テナントアカウントのプラットフォームサービスが StorageGRID 管理者によって有効化されている必要があります。
-
通知のソースとなるバケットを作成しておく必要があります。
-
イベント通知のデスティネーションとして使用するエンドポイントが存在し、その URN を把握している必要があります。
-
テナントアカウント内のすべての S3 バケットの設定を管理できるように、 Manage All Buckets 権限または Root Access 権限を持つユーザグループに属している必要があります。これらの権限は、 Tenant Manager を使用してバケットを設定する際にグループポリシーまたはバケットポリシーの権限設定よりも優先されます。
イベント通知を設定すると、ソースバケット内のオブジェクトで指定したイベントが発生するたびに通知が生成され、デスティネーションエンドポイントとして使用される Simple Notification Service ( SNS )のトピックに送信されます。バケットの通知を有効にするには、有効な通知設定 XML を作成して適用する必要があります。通知設定 XML では、各デスティネーションとしてイベント通知エンドポイントの URN を使用する必要があります。
イベント通知とその設定方法の一般的な情報については、 Amazon のドキュメントを参照してください。StorageGRID が S3 バケットの通知設定 API を実装する方法については、 S3 クライアントアプリケーションを実装する手順を参照してください。
オブジェクトを含むあるバケットのイベント通知を有効にした場合、通知は通知設定の保存後に実行された処理に対してのみ送信されます。
-
ソースバケットの通知を有効にします。
-
イベント通知を有効にするために必要な通知設定 XML を、 S3 通知 API で指定されている内容に従ってテキストエディタで作成します。
-
XML を設定するにあたっては、デスティネーショントピックとしてイベント通知エンドポイントの URN を使用します。
<NotificationConfiguration> <TopicConfiguration> <Id>Image-created</Id> <Filter> <S3Key> <FilterRule> <Name>prefix</Name> <Value>images/</Value> </FilterRule> </S3Key> </Filter> <Topic>arn:aws:sns:us-east-1:050340950352:sgws-topic</Topic> <Event>s3:ObjectCreated:*</Event> </TopicConfiguration> </NotificationConfiguration>
-
-
Tenant Manager で、 * Storage ( S3 ) * > * Buckets * を選択します。
-
ソースバケットの名前を選択します。
バケットの詳細ページが表示されます。
-
プラットフォームサービス > イベント通知 * を選択します。
-
[ イベント通知を有効にする *] チェックボックスをオンにします。
-
通知設定 XML をテキストボックスに貼り付け、 * 変更を保存 * を選択します。
StorageGRID 管理者がグリッドマネージャまたはグリッド管理 API を使用して各テナントアカウントのプラットフォームサービスを有効にしておく必要があります。設定 XML の保存時にエラーが発生した場合は、 StorageGRID 管理者にお問い合わせください。 -
イベント通知が正しく設定されていることを確認します。
-
設定 XML で設定した通知をトリガーする要件を満たす操作をソースバケット内のオブジェクトに対して実行します。
この例では ' images/ プレフィックスを使用してオブジェクトが作成されるたびにイベント通知が送信されます
-
デスティネーションの SNS トピックに通知が配信されたことを確認します。
たとえば、デスティネーショントピックが AWS Simple Notification Service ( SNS )でホストされている場合は、通知が配信されたらユーザに E メールを送信するようにサービスを設定できます。
{ "Records":[ { "eventVersion":"2.0", "eventSource":"sgws:s3", "eventTime":"2017-08-08T23:52:38Z", "eventName":"ObjectCreated:Put", "userIdentity":{ "principalId":"1111111111111111111" }, "requestParameters":{ "sourceIPAddress":"193.51.100.20" }, "responseElements":{ "x-amz-request-id":"122047343" }, "s3":{ "s3SchemaVersion":"1.0", "configurationId":"Image-created", "bucket":{ "name":"test1", "ownerIdentity":{ "principalId":"1111111111111111111" }, "arn":"arn:sgws:s3:::test1" }, "object":{ "key":"images/cat.jpg", "size":0, "eTag":"d41d8cd98f00b204e9800998ecf8427e", "sequencer":"14D90402421461C7" } } } ] }
デスティネーショントピックに通知が届いた場合は、 StorageGRID 通知のソースバケットが正しく設定されています。
-