我是 AWS 的新手,正在努力使用步进功能。
我的工作流程是这样的:
客户端('search_word')-> api 网关 -> lambda 函数(调用步进函数)-> 步进函数(生成搜索输出)-> 客户端
这是我的调用 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
}
}
}
请帮忙。
提前致谢!