はじめに
こんにちは!社会人一年目?のタレカツです!
今回はDataSyncの完了をルールとして設定して、EventBridgeから他のサービスを呼び出したいことがあったので、その際の設定を記載します。
DataSync設定
ロケーションの設定
以下のようなS3のバケットから別のバケットになるように、二つのロケーションの設定を行いました。
タスクの設定
以下のようなタスクを設定しました。送信元はロケーションで設定したxxxx-test-1からxxxx-test-2になってます。
EventBridge設定
つぎにEventBridgeでルールを作成します。以下のページを参考にしてます。
ルールの設定
ルールの名前は、自身で設定します。
つぎにイベントパターンが必要になるので、先ほどDataSyncで設定したタスクのARNをコピーします。
イベントパターンはJSONで記述を行います。
JSONの記述ですが、DataSyncのイベントであることイベントの種類としては、[DataSync Task Execution State Change]を設定します。resorcesにタスクのARNを設定するのですが、prefixで部分的に一致で判断するようにします。detailではタスクの状態を設定します。ERRORやCancellingなども設定してもいいかもしれないです。
今回はテスト用に、ターゲットにSNSトピックを設定しました。
実行してみた
DataSyncの先ほどのタスクで、デフォルトから開始するを実行します。
タスクのステータスが実行中に変わっていれば正しく実行できています。
履歴のページでステータスが成功になっていることを確認します。(今回その他のパラメータが0なのは、直前に実行していたため)
最後にメールが届いたことを確認できました。(開始時刻などとずれがあるのは、DataSyncのデータの移行準備の時間がかかるため)
おわりに
DataSyncとEventBridgeを連携する際に、誰かの参考になれば幸いです。最後までお読みいただきありがとうございました!










