aws-step-functions-data-science-sdk-python icon indicating copy to clipboard operation
aws-step-functions-data-science-sdk-python copied to clipboard

Which are the states including the common SFN states for which <state>.output () can be applied ?

Open nsankar opened this issue 4 years ago • 1 comments

This is a separate issue created from the discussion by @nsankar addressed to @wong-a from the issue id #31 The key point is which are the common SFN and AWS specific service states where we can use the form <state>.output() in this SDK. Please include it in the documentation.

More details and an example state using output() is as under.,

(1) Which are the states including the common SFN states for which state output () is applicable or can be used? This is not in the document unless we see an example, for instance, as an example output () is applicable to the processing step which can be then used in a choice state as cited below:

processing_step = ProcessingStep(
    "SageMaker processing step",
    processor=script_processor,
    job_name=execution_input["PreprocessingJobName"], ## placeholder per schema above. Later in workflow execute() below pass the uuid of jobname
    inputs=inputs,
    outputs=outputs,
    # container_arguments=["--train-test-split-ratio", "0.2"],
    container_entrypoint=["python3", "/opt/ml/processing/input/code/myprogram.py"],
)

choice_state1.add_choice(ChoiceRule.StringEquals(processing_step**.output()**["ProcessingJobStatus"], "Completed"), lambda_state1)


 

nsankar avatar Jan 10 '21 07:01 nsankar

Generally, anything that accepts a reference path (a JSONPath string that references something in JSON payload passed between states) can use a Placeholder.

https://aws-step-functions-data-science-sdk.readthedocs.io/en/latest/placeholders.html

wong-a avatar Jan 11 '21 19:01 wong-a