【发布时间】:2021-09-08 19:02:27
【问题描述】:
我正在通过使用 boto3.client('stepfunctions') 中的 start_execution 调用执行来运行状态机,该执行成功。
现在我想获取执行输出,所以我使用了 describe_execution。但问题是当它记录时,我无法获得输出,因为状态仍在运行。我怎样才能让这个 describe_execution 等到状态成功
SF_CLIENT = boto3.client('stepfunctions')
sf_output = SF_CLIENT.start_execution(
stateMachineArn=os.environ['STATE_MACHINE_ARN'], input=input)
sf_response = SF_CLIENT.describe_execution(
executionArn=sf_output['executionArn'])
status = sf_response['status']
while status != 'SUCCEEDED':
sf_response = SF_CLIENT.describe_execution(
executionArn=sf_output['executionArn'])
LOGGER.info("%s: %s" % ("EXECUTION STILL RUNNING", sf_response))
if status != 'SUCCEEDED':
continue
elif status == 'SUCCEEDED':
break
LOGGER.info("%s: %s" % ("STEP FUNCTION EXECUTION OUTPUT", sf_output))
LOGGER.info("%s: %s" % ("STEP FUNCTION EXECUTION RESPONSE", sf_response))
【问题讨论】:
标签: python-3.x amazon-web-services boto3 aws-step-functions