AWS Step Functions执行报错:资源ARN不支持,未部署却突发故障排查
AWS Step Functions执行失败故障排查
问题背景
项目使用的Step Functions状态机定义如下:
{ "Comment": "WESII internal pipeline", "StartAt": "FileUploadingWatcher", "States": { "FileUploadingWatcher": { "Type": "Task", "Resource": "arn:aws:state:::lambda:invoke.waitForTaskToken", "Parameters": { "FunctionName": "WesiiPipelines-dev-FileUploading", "Payload": { "token.$": "$$.Task.Token", "metadata.$": "$.metadata" } }, "ResultPath": "$.uploaded_files", "Next": "ProcessingWorker" }, "ProcessingWorker": { "Type": "Task", "Resource": "arn:aws:states:eu-west-1:777224273129:activity:ProcessingWorker-dev", "ResultPath": "$.processing_location", "End": true } } }
近期执行该状态机时持续失败,报错信息:
执行状态'FileUploadingWatcher'时出错(进入事件ID #2)。资源ARN中提供的资源不受支持。
可能的故障原因
- ARN服务名拼写错误:
FileUploadingWatcher任务的资源ARN中,服务名写成了state,正确的服务名应为states(正确格式:arn:aws:states:::lambda:invoke.waitForTaskToken)。AWS近期可能收紧了ARN格式校验规则,导致原本能兼容的错误拼写现在触发不支持的资源报错。 - 旧ARN格式被弃用:AWS Step Functions可能更新了Lambda任务的ARN要求,原本省略区域和账号ID的简化格式不再被支持,需要使用包含区域(如
eu-west-1)和账号ID(如777224273129)的完整ARN,例如arn:aws:states:eu-west-1:777224273129:lambda:invoke.waitForTaskToken。 - Step Functions服务规则更新:AWS近期对Step Functions的任务资源定义做了调整,
lambda:invoke.waitForTaskToken的调用方式可能需要适配新的语法或参数规范,旧语法因此失效。
内容的提问来源于stack exchange,提问作者exsurge-domine
相关产品推荐
相关产品推荐

