Data Pipeline アクティビティのエラー情報を含む SNS 通知を作成する方法を教えてください。
最終更新日: 2019 年 2 月 12 日
AWS Data Pipeline アクティビティが失敗すると、エラースタックトレースなどの特定の情報を含む Amazon Simple Notification Service (Amazon SNS) 通知を受信します。
簡単な説明
SNS トピックを作成およびサブスクライブし、Data Pipeline アクティビティが失敗したときに SnsAlarm アクションを実行するように設定します。errorStackTrace などの任意のアクティビティのフィールドを SnsAlarm に渡すには、#{node.activityfield} 式を使用します。例:
{
"role": "DataPipelineDefaultRole",
"subject": "Failed PipelineId: #{node.@pipelineId} Error: #{node.errorMessage}",
"message": "Error: #{node.errorStackTrace}",
"topicArn": "arn:aws:sns:us-east-1:917786601234:DPsqlActivityFail",
"name": "DefaultActionSNS1",
"id": "SnsAlarmActionOnfail",
"type": "SnsAlarm"
},
解決方法
- SNS トピックを作成してサブスクライブします。 トピック ARN (arn:aws:sns:us-east-1:111122223333:my-topic など) を書き留めます。これは後で使用します。
- [ Data Pipeline コンソール] を開きます。
- 「 パイプラインを表示 」のページで、ご自身の [ パイプライン ID] を選択し、次に [ パイプラインを編集 ] をクリックして「 アーキテクト 」ページを開きます。
- 右側のペインで [ アクティビティ] をクリックし、通知を受け取るアクティビティ ( SqlActivity など) を選択します。
- [ オプションのフィールドを追加 ] ドロップダウンリストで、[ 失敗] を選択します。
- [ 失敗時 ] リストで、[ 新規作成: アクション] をクリックします。Data Pipeline が新しいアクションに DefaultAction1 などの名前を自動的に付与します。必要に応じて、「 その他 」セクションのアクションを編集し、名前を変更できます。
- 右側のペインで [ その他] をクリックし、前のステップで作成したアクション ( DefaultAction1 など) を選択します。
- [ タイプ ] リストで [ SnsAlarm] を選択します。
- [ メッセージ ] フィールドに、アクティビティが失敗したときに受信するメッセージを入力します。 #{node.activityfield} 式を使用すれば、任意のアクティビティのフィールドをメッセージに含めることができます。たとえば、SNS 通知でスタックトレースを受信するには、「Error: #{node.errorStackTrace}」などのメッセージを入力します。各 Data Pipeline アクティビティで使用できるフィールドの詳細については、「 アクティビティ」をご参照ください。
- [ 件名 ] フィールドに、通知の件名を入力します。件名には、任意のアクティビティのフィールド (「Failed PipelineId: #{node.@pipelineId} Error: #{node.errorMessage}」など) を含めることもできます。
- [ トピック Arn ] フィールドに、SNS トピックの ARN (arn:aws:sns:us-east-1:111122223333:my-topic など) を入力します。
- [ 保存] をクリックします。パイプラインをアクティブ化すると、指定されたアクティビティが失敗した場合に通知を受け取ります。