feat: 登録処理中断ファイルがある場合、処理を起動させない処理の追加
This commit is contained in:
parent
0da7efa1ed
commit
56c880be67
@ -61,14 +61,14 @@ def lambda_handler(event, context):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# ローカル実行用
|
||||
# ローカル実行用。バケット名やファイルキーはよしなに変えてください。
|
||||
lambda_handler({"Records": [{
|
||||
"s3": {
|
||||
"bucket": {
|
||||
"name": "test-shimoda-bucket"
|
||||
},
|
||||
"object": {
|
||||
"key": "folder/object_key"
|
||||
"key": "crm/target/CRM_Account_20221116111800.csv"
|
||||
}
|
||||
}
|
||||
}]}, {})
|
||||
|
||||
@ -52,7 +52,38 @@
|
||||
},
|
||||
"Comment": "パラメータ設定",
|
||||
"ResultPath": "$.params",
|
||||
"Next": "data-import"
|
||||
"Next": "?IsExistsFatalErrorFile"
|
||||
},
|
||||
"?IsExistsFatalErrorFile": {
|
||||
"Type": "Task",
|
||||
"Parameters": {
|
||||
"Bucket.$": "$.InputParams.BucketName",
|
||||
"Key.$": "States.Format('{}/target/.detected_fatal_error_ecs', $.InputParams.DataSourceName)"
|
||||
},
|
||||
"Resource": "arn:aws:states:::aws-sdk:s3:headObject",
|
||||
"ResultPath": "$.result",
|
||||
"Catch": [
|
||||
{
|
||||
"ErrorEquals": [
|
||||
"States.ALL"
|
||||
],
|
||||
"Next": "data-import",
|
||||
"ResultPath": "$.result"
|
||||
}
|
||||
],
|
||||
"Comment": "ECSタスク起動エラーファイル存在チェック",
|
||||
"Next": "PendingDataImportNotice"
|
||||
},
|
||||
"PendingDataImportNotice": {
|
||||
"Type": "Task",
|
||||
"Resource": "arn:aws:states:::aws-sdk:sns:publish",
|
||||
"Parameters": {
|
||||
"TopicArn.$": "$.params.sns.TopicArn",
|
||||
"Subject": "データ登録ECSタスク異常通知",
|
||||
"Message.$": "States.Format('「{}/{}/target/」に登録処理中断ファイル(.detected_fatal_error_ecs)が見つかったため、データ登録の起動を中断しました。\n', $.InputParams.BucketName, $.InputParams.DataSourceName)"
|
||||
},
|
||||
"End": true,
|
||||
"Comment": "データ登録処理起動中断通知"
|
||||
},
|
||||
"data-import": {
|
||||
"Type": "Task",
|
||||
@ -67,7 +98,9 @@
|
||||
"ResultPath": "$.result",
|
||||
"Retry": [
|
||||
{
|
||||
"ErrorEquals": ["States.ALL"],
|
||||
"ErrorEquals": [
|
||||
"States.ALL"
|
||||
],
|
||||
"BackoffRate": 2,
|
||||
"IntervalSeconds": 3,
|
||||
"MaxAttempts": 3
|
||||
@ -75,7 +108,9 @@
|
||||
],
|
||||
"Catch": [
|
||||
{
|
||||
"ErrorEquals": ["States.ALL"],
|
||||
"ErrorEquals": [
|
||||
"States.ALL"
|
||||
],
|
||||
"Next": "CreateImportPendingFile",
|
||||
"ResultPath": "$.result"
|
||||
}
|
||||
@ -88,22 +123,23 @@
|
||||
"Parameters": {
|
||||
"Body": "",
|
||||
"Bucket.$": "$.InputParams.BucketName",
|
||||
"Key.$": "States.Format('{}.pending-import', $.InputParams.TargetKey)"
|
||||
"Key.$": "States.Format('{}/target/.detected_fatal_error_ecs', $.InputParams.DataSourceName)"
|
||||
},
|
||||
"Resource": "arn:aws:states:::aws-sdk:s3:putObject",
|
||||
"Next": "FailedNotice",
|
||||
"Comment": "データ登録保留ファイル作成",
|
||||
"Comment": "データ登録処理起動中断ファイル作成",
|
||||
"ResultPath": "$.result"
|
||||
},
|
||||
"FailedNotice": {
|
||||
"Type": "Task",
|
||||
"Resource": "arn:aws:states:::sns:publish",
|
||||
"Resource": "arn:aws:states:::aws-sdk:sns:publish",
|
||||
"Parameters": {
|
||||
"TopicArn.$": "$.params.sns.TopicArn",
|
||||
"Subject": "データ登録ECSタスク異常通知",
|
||||
"Message.$": "States.Format('【{}】{}のデータ登録が失敗したため、登録中断ファイルを作成しました。\n\n バケット名:{}\n取込ファイルパス:{}\n\n', $.InputParams.DataSourceName, $.InputParams.FileName, $.InputParams.BucketName, $.InputParams.TargetKey)"
|
||||
"Message.$": "States.Format('【{}】{}のデータ登録が失敗したため、登録処理中断ファイル(.detected_fatal_error_ecs)を作成しました。\n\n バケット名:{}\n取込ファイルパス:{}\n\n', $.InputParams.DataSourceName, $.InputParams.FileName, $.InputParams.BucketName, $.InputParams.TargetKey)"
|
||||
},
|
||||
"Next": "Fail"
|
||||
"Next": "Fail",
|
||||
"Comment": "データ登録処理起動失敗通知"
|
||||
},
|
||||
"Success": {
|
||||
"Type": "Succeed",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user