在 python 中从 Lambda 调用 AWS Step 函数
Invoking AWS Step function from Lambda in python
因此,我正在尝试调用我在 python 中使用 Lambda 编写的简单步骤函数。为此,我正在使用 boto3
client = boto3.client('stepfunctions')
response = client.start_execution(
stateMachineArn='aws:states:.......',
name='dev-hassan-pipeline-sf',
input= json.dumps(returnVal)
)
并且我创建了一个具有 "AWSStepFunctionsFullAccess" 策略
的 IAM 角色
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "states:*",
"Resource": "*"
}
]
}
我将此角色分配给我的 Lambda,但是当我 运行 lambda 时,我收到以下错误
An error occurred (AccessDeniedException) when calling the StartExecution operation: User: arn:aws:sts::xxxxxxxx:assumed-role/dev-hassan-role1/dev-hassan-pipeline-lambda is not authorized to access this resource: ClientError
dev-hassan-pipeline-lambda 是我的 Lambda 名称,dev-hassan-role1 是我的角色名称
有人能帮我解决这个问题吗,我做错了什么,为什么我不能从 Lambda 调用 step 函数,因为我已经给了它所需的权限
您可以在 AWS 的 IAM 中修复权限。创建具有所需权限的角色,在创建lambda函数时,提示时可以参考上面创建的IAM角色。
希望能解决您的权限问题:)
干杯!
所以,我发现了错误,我使用了错误的 ARN。我使用的 ARN 用于特定执行步骤函数
要使用的正确 ARN 是
arn:aws:states:us-east-1:xxxxxxxx:stateMachine:dev-hassan-pipeline-sf
我在网上找不到状态机的 ARN,这真是令人惊讶 ui。在查看一些示例代码时,我发现了我的错误,我意识到我的 ARN 在其中执行,而不是状态机。
我才意识到,我什至没有post这个问题中的整个 ARN
使用策略 "AWSStepFunctionsFullAccess" 或您需要的任何内容更新您的 IAM 角色
因此,我正在尝试调用我在 python 中使用 Lambda 编写的简单步骤函数。为此,我正在使用 boto3
client = boto3.client('stepfunctions')
response = client.start_execution(
stateMachineArn='aws:states:.......',
name='dev-hassan-pipeline-sf',
input= json.dumps(returnVal)
)
并且我创建了一个具有 "AWSStepFunctionsFullAccess" 策略
的 IAM 角色{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "states:*",
"Resource": "*"
}
]
}
我将此角色分配给我的 Lambda,但是当我 运行 lambda 时,我收到以下错误
An error occurred (AccessDeniedException) when calling the StartExecution operation: User: arn:aws:sts::xxxxxxxx:assumed-role/dev-hassan-role1/dev-hassan-pipeline-lambda is not authorized to access this resource: ClientError
dev-hassan-pipeline-lambda 是我的 Lambda 名称,dev-hassan-role1 是我的角色名称
有人能帮我解决这个问题吗,我做错了什么,为什么我不能从 Lambda 调用 step 函数,因为我已经给了它所需的权限
您可以在 AWS 的 IAM 中修复权限。创建具有所需权限的角色,在创建lambda函数时,提示时可以参考上面创建的IAM角色。
希望能解决您的权限问题:)
干杯!
所以,我发现了错误,我使用了错误的 ARN。我使用的 ARN 用于特定执行步骤函数 要使用的正确 ARN 是
arn:aws:states:us-east-1:xxxxxxxx:stateMachine:dev-hassan-pipeline-sf
我在网上找不到状态机的 ARN,这真是令人惊讶 ui。在查看一些示例代码时,我发现了我的错误,我意识到我的 ARN 在其中执行,而不是状态机。
我才意识到,我什至没有post这个问题中的整个 ARN
使用策略 "AWSStepFunctionsFullAccess" 或您需要的任何内容更新您的 IAM 角色