标签: aws-step-functions

有没有办法将请求的标头和正文传递到 aws 步骤函数管道?

我目前陷入了请求直通的困境。我需要使用步骤函数管道处理来自标头和请求正文的信息。我正在使用 REST API 网关,该网关在集成请求中具有以下映射模板

#set($data = $util.escapeJavaScript($input.json('$')))
{
    "input": "{ \"input\": $data, \"stageVariables\" : { #foreach($key in $stageVariables.keySet()) \"$key\" : \"$util.escapeJavaScript($stageVariables.get($key))\" #if($foreach.hasNext),#end #end } }",
    "stateMachineArn": "arn:aws:states:eu-west-1:xxxxxxxxxxxx:stateMachine:StateMachine-1"
}
Run Code Online (Sandbox Code Playgroud)

但这是行不通的。如果我使用 lambda 事件访问标头,它将是 event['headers']['Authorization'] 但我仅将请求正文作为步骤函数的输入。

当我将数据流模拟器用于整个请求,然后将 JsonPath 放入我的状态机模板中时,它仍然没有为我提供标头和正文作为输入。

有人可以帮我吗?

json amazon-web-services aws-api-gateway aws-step-functions

3
推荐指数
1
解决办法
1317
查看次数

如何访问 AWS Step Functions 任何节点中状态机的输入

假设我在 AWS Step Function 中有这个状态机:

阶跃函数示例

我是用这个输入开始的:

{
  "item1": 1,
  "item2": 2,
  "item3": 3
}
Run Code Online (Sandbox Code Playgroud)

我很清楚正在Action A接收输入有效负载。但是,如何Action C访问状态机输入来获取 的值item3?是否可以?

谢谢!!

amazon-web-services aws-step-functions

3
推荐指数
1
解决办法
3792
查看次数

Amazon s3 文件夹上的 EventBridge 通知

我必须在存储桶内的文件夹上上传文件时启动 stepMachine 执行,我了解了如何在 S3 存储桶级别上配置 eventbridge。但同一个存储桶上可以有多个文件上传。当对象插入存储桶内的特定文件夹时,我需要收到通知。有没有可能的方法来实现这一目标?

amazon-s3 amazon-web-services aws-lambda aws-step-functions aws-event-bridge

3
推荐指数
1
解决办法
9798
查看次数

步骤函数将字符串转换为数字

aws 步骤函数中有没有办法将字符串转换为数字?

我有一个从 api 网关传递到步骤函数的查询参数。它是一个带有数值的字符串。我想将字符串转换为步骤函数状态语言中的数字,但到目前为止还没有运气。

amazon-web-services aws-step-functions

3
推荐指数
1
解决办法
2516
查看次数

如何使用API​​网关调用AWS步骤函数

如何使用API​​网关POST请求调用AWS步骤函数,并将请求的JSON有效负载调用到步骤函数?

amazon-web-services aws-api-gateway aws-step-functions

2
推荐指数
2
解决办法
1681
查看次数

AWS Step Functions:创建新状态机时不显示现有角色列表

问题:

1)我用“ Hello World”蓝图创建新的AWS状态机

2)点击创建状态机按钮

3)它打开一个对话框,然后选择IAM角色下拉列表为空,并且不显示与我的AWS帐户关联的现有IAM角色的列表

调试:

我发现在执行其他操作之前,加载仪表板本身时会引发JS错误。

JS错误:grapheneConsole_prod_963c8da….gz.js:110 POST https://us-west-2.console.aws.amazon.com/states/service/iam/createrole 403(禁止)

因此,我认为它假定用户具有我没有的“创建角色”权限。

如果有人以前遇到过这个问题并解决了。请帮我。

一些额外的信息:我正在使用分配给所有开发人员的公司AWS帐户。同样对于lambda或任何其他AWS资源,我们被赋予了我们应该使用的特定开发人员角色,而我在创建lambda的过程中已将其与其他所有功能成功地结合使用。如果它可以向我显示列表,那么我将选择相同的iam角色

amazon-ec2 amazon-web-services amazon-iam aws-lambda aws-step-functions

2
推荐指数
1
解决办法
2522
查看次数

具有步骤功能的AWS API网关

我想要一个示例将AWS API Gateway与Step Function集成.我已阅读本教程使用API​​网关创建步骤函数API但该教程需要我以格式发送请求

{    
"input": "{}",    
"name": "PostmanExecution",    
"stateMachineArn": "arn:aws:states:us-east-1:123456789012:stateMachine:Custom" 
}
Run Code Online (Sandbox Code Playgroud)

我想发送普通请求并仅在API网关中配置此stateMachineArn,以便客户端不需要发送它.

amazon-web-services aws-lambda aws-api-gateway aws-step-functions

2
推荐指数
1
解决办法
2466
查看次数

通过API Gateway调用AWS Step函数并等待执行结果

是否可以通过API Gateway端点调用AWS Step功能并监听响应(直到工作流完成并从结束步骤返回结果)?

目前,我能够从文档中找到步骤函数本质上是异步的,并在最后进行最终回调.我需要API调用响应从步骤函数流中获取最终结果而不进行轮询.

amazon-web-services aws-lambda aws-step-functions

2
推荐指数
1
解决办法
985
查看次数

带有Lambda的Amazon Step Function,从Kinesis获取触发器

所以我想在Amazon AWS中创建一个简单的管道.我想使用由流生成的数据执行步骤函数,该流触发状态机的第一个lambda

我想做的是跟随.

输入数据由AWS Kinesis流式传输

此Kinesis流用作执行和写入S3 Bucket的lambda1的触发器.

这将触发(使用步骤函数)lambda2,它将读取给定存储桶中的内容并将其写入另一个存储桶

现在我想使用Amazon Step Function实现状态机.我创建了一个非常简单的状态机

  {
  "Comment": "Linear step function test",
  "StartAt": "lambda1",
  "States": {
    "lambda1": {
      "Type": "Task",
      "Resource": "arn:....",
      "Next": "lambda2"
    },
    "lambda2": {
      "Type": "Task",
      "Resource": "arn:...",
       "End": true
        }  
    }
}
Run Code Online (Sandbox Code Playgroud)

我想要的是,Kinesis应该触发第一个Lambda,一旦执行了step函数就会执行lambda 2.这似乎不会发生.即使从流中触发我的Lambda 1并写入S3存储桶,步骤功能也不会执行任何操作.我可以选择手动启动新执行并传递JSON作为输入,但这不是我正在寻找的工作流程

amazon-s3 amazon-kinesis aws-lambda aws-step-functions

2
推荐指数
1
解决办法
2319
查看次数

如何将输入传递给多个ARN(aws步进功能)?

我试图弄清楚如何将多个输入传递给我的ARN。但是,看来我做不到。

以下是我的机器规格

{
    "StartAt": "DemoStateFunction",
    "Version": "1.0",
    "States": {
        "DemoStateFunction": {
            "Type": "Task",
            "Resource": "ARN-Demo-Function",
            "InputPath": "$.demostate1",
            "Next": "DemoStateFunction2"
        },
        "DemoStateFunction2": {
            "Type": "Task",
            "Resource": "ARN-Demo-Function",
            "InputPath": "$.demostate2",
            "End": true         
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的意见

{
    "demostate1": {
        "data": "john",
    },
    "demostate2": {
        "data": "doe"
    }
}
Run Code Online (Sandbox Code Playgroud)

执行此任务时。它成功检索了我的demostate1数据,但是似乎无法像我在“ TaskStateEntered”步骤中看到的那样看到demostate2。

amazon-web-services aws-lambda aws-step-functions

2
推荐指数
1
解决办法
1274
查看次数