【发布时间】:2021-05-24 22:24:38
【问题描述】:
我是 AWS 新手,正在努力使用步进功能。
我的工作流程是这样的:
client ('search_word')-> api gateway -> lambda function(调用 step 函数)-> step function(生成搜索输出)-> client
这是我的调用 lambda 函数。
import json
import boto3
import uuid
client = boto3.client('stepfunctions')
def lambda_handler(event, context):
transactionId = str(uuid.uuid1())
print(transactionId)
input = {'TransactionId':transactionId,'text':'search_word'}
response = client.start_execution(
stateMachineArn='arn:aws:states:ap-northeast-2:xxxxxxxxxx:stateMachine:MyStateMachine',
name=transactionId,
input=json.dumps(input)
)
print(response)
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
我想从 step 函数中获取执行结果并将其传递给客户端。但我不知道该怎么做。
工作流程不一定是我建议的,只要我能把step函数的执行结果提供给客户端即可。
这是我的阶梯函数。
{
"Comment": "A simple AWS Step Functions state machine.",
"StartAt": "Tokenize",
"States": {
"Tokenize": {
"Type": "Task",
"Resource": "arn:aws:lambda:ap-northeast-2:xxxxxxxx:function:search_ko",
"Next": "Search"
},
"Search": {
"Type": "Task",
"Resource": "arn:aws:lambda:ap-northeast-2:xxxxxxx:function:BM-25-Get-Index",
"End": true
}
}
}
请帮忙。
提前致谢!
【问题讨论】:
标签: python aws-lambda aws-api-gateway boto3 aws-step-functions