AWS Step Functions:新 startExecution.sync:2 <role> 无权创建托管规则
AWS Step Functions: new startExecution.sync:2 <role> not authorized to create managed-rule
我想尝试新的 AWS Step Functions 功能,通过 startExecution.sync:2 启动嵌套的 Step Function,这应该与 startExecution.sync 完全相同,但 return 结果如下json-对象而不是序列化字符串。
当我想使用 CloudFormation 部署 Step Functions 时,我收到错误“'无权创建托管规则。(服务:AWSStepFunctions;状态代码:400;错误代码:AccessDeniedException;请求 ID:。 ..; 代理:null)"
此错误只发生在新的 startExecution.sync:2 上,startExecution.sync 完美运行。
我的内联 IAM 语句是
iamRoleStatements:
# Event to start SF synchronous
- Effect: Allow
Action:
- events:PutTargets
- events:PutRule
- events:DescribeRule
- events:DeleteRule
- events:DisableRule
- events:EnableRule
- events:ListRules
Resource:
- arn:aws:events:eu-central-1:<MY_AWS_ACCOUNT_ID>:rule/StepFunctionsGetEventsForStepFunctionsExecutionRule
- Effect: Allow
Action:
- states:StartExecution
Resource:
- <arn of other sf>
- Effect: Allow
Action:
- states:DescribeExecution
- states:StopExecution
Resource:
- "*"
启动其他功能的任务代码是
callOcrSf:
Type: Task
Resource: "arn:aws:states:::states:startExecution.sync:2"
Parameters:
StateMachineArn: <arn of other sf>
Input.$: "$"
ResultPath: "$.otherResult"
Next: nextTask
有没有人知道为什么这不起作用?我正在使用无服务器框架进行部署,但我认为这应该没什么区别,因为它只创建 CloudFormation 堆栈。
我一直在无服务器框架中使用步进函数,他们有一个有趣的指南可以帮助您配置它:
https://www.serverless.com/plugins/serverless-step-functions
您需要在项目上安装的另一件事是实际上能够在无服务器 yaml 上创建步骤函数的插件 https://github.com/serverless-operations/serverless-step-functions
也根据这个 PR https://github.com/serverless-operations/serverless-step-functions/pull/333
startExecution.sync:2 已添加到软件包的 2.19.0 版本中。
我想尝试新的 AWS Step Functions 功能,通过 startExecution.sync:2 启动嵌套的 Step Function,这应该与 startExecution.sync 完全相同,但 return 结果如下json-对象而不是序列化字符串。
当我想使用 CloudFormation 部署 Step Functions 时,我收到错误“'无权创建托管规则。(服务:AWSStepFunctions;状态代码:400;错误代码:AccessDeniedException;请求 ID:。 ..; 代理:null)"
此错误只发生在新的 startExecution.sync:2 上,startExecution.sync 完美运行。
我的内联 IAM 语句是
iamRoleStatements:
# Event to start SF synchronous
- Effect: Allow
Action:
- events:PutTargets
- events:PutRule
- events:DescribeRule
- events:DeleteRule
- events:DisableRule
- events:EnableRule
- events:ListRules
Resource:
- arn:aws:events:eu-central-1:<MY_AWS_ACCOUNT_ID>:rule/StepFunctionsGetEventsForStepFunctionsExecutionRule
- Effect: Allow
Action:
- states:StartExecution
Resource:
- <arn of other sf>
- Effect: Allow
Action:
- states:DescribeExecution
- states:StopExecution
Resource:
- "*"
启动其他功能的任务代码是
callOcrSf:
Type: Task
Resource: "arn:aws:states:::states:startExecution.sync:2"
Parameters:
StateMachineArn: <arn of other sf>
Input.$: "$"
ResultPath: "$.otherResult"
Next: nextTask
有没有人知道为什么这不起作用?我正在使用无服务器框架进行部署,但我认为这应该没什么区别,因为它只创建 CloudFormation 堆栈。
我一直在无服务器框架中使用步进函数,他们有一个有趣的指南可以帮助您配置它: https://www.serverless.com/plugins/serverless-step-functions
您需要在项目上安装的另一件事是实际上能够在无服务器 yaml 上创建步骤函数的插件 https://github.com/serverless-operations/serverless-step-functions
也根据这个 PR https://github.com/serverless-operations/serverless-step-functions/pull/333 startExecution.sync:2 已添加到软件包的 2.19.0 版本中。