Show / Hide Table of Contents

Class EvaluateExpressionProps

Properties for EvaluateExpression.

Inheritance
object
EvaluateExpressionProps
Implements
IEvaluateExpressionProps
ITaskStateBaseProps
IStateBaseProps
ITaskStateBaseOptions
IAssignableStateOptions
IJsonPathCommonOptions
IJsonataCommonOptions
Inherited Members
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: Amazon.CDK.AWS.StepFunctions.Tasks
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class EvaluateExpressionProps : IEvaluateExpressionProps, ITaskStateBaseProps, IStateBaseProps, ITaskStateBaseOptions, IAssignableStateOptions, IJsonPathCommonOptions, IJsonataCommonOptions
Syntax (vb)
Public Class EvaluateExpressionProps Implements IEvaluateExpressionProps, ITaskStateBaseProps, IStateBaseProps, ITaskStateBaseOptions, IAssignableStateOptions, IJsonPathCommonOptions, IJsonataCommonOptions
Remarks

ExampleMetadata: infused

Examples
var convertToSeconds = new EvaluateExpression(this, "Convert to seconds", new EvaluateExpressionProps {
                Expression = "$.waitMilliseconds / 1000",
                ResultPath = "$.waitSeconds"
            });

            var createMessage = new EvaluateExpression(this, "Create message", new EvaluateExpressionProps {
                // Note: this is a string inside a string.
                Expression = "`Now waiting ${$.waitSeconds} seconds...`",
                Runtime = Runtime.NODEJS_LATEST,
                ResultPath = "$.message"
            });

            var publishMessage = new SnsPublish(this, "Publish message", new SnsPublishProps {
                Topic = new Topic(this, "cool-topic"),
                Message = TaskInput.FromJsonPathAt("$.message"),
                ResultPath = "$.sns"
            });

            var wait = new Wait(this, "Wait", new WaitProps {
                Time = WaitTime.SecondsPath("$.waitSeconds")
            });

            new StateMachine(this, "StateMachine", new StateMachineProps {
                Definition = convertToSeconds.Next(createMessage).Next(publishMessage).Next(wait)
            });

Synopsis

Constructors

EvaluateExpressionProps()

Properties for EvaluateExpression.

Properties

Architecture

The system architecture compatible with this lambda function.

Assign

Workflow variables to store in this step.

Comment

A comment describing this state.

Credentials

Credentials for an IAM Role that the State Machine assumes for executing the task.

Expression

The expression to evaluate. The expression may contain state paths.

Heartbeat

(deprecated) Timeout for the heartbeat.

HeartbeatTimeout

Timeout for the heartbeat.

InputPath

JSONPath expression to select part of the state to be the input to this state.

IntegrationPattern

AWS Step Functions integrates with services directly in the Amazon States Language.

OutputPath

JSONPath expression to select part of the state to be the output to this state.

Outputs

Used to specify and transform output from the state.

QueryLanguage

The name of the query language used by the state.

ResultPath

JSONPath expression to indicate where to inject the state's output.

ResultSelector

The JSON that will replace the state's raw result and become the effective result before ResultPath is applied.

Runtime

The runtime language to use to evaluate the expression.

StateName

Optional name for this state.

TaskTimeout

Timeout for the task.

Timeout

(deprecated) Timeout for the task.

Constructors

EvaluateExpressionProps()

Properties for EvaluateExpression.

public EvaluateExpressionProps()
Remarks

ExampleMetadata: infused

Examples
var convertToSeconds = new EvaluateExpression(this, "Convert to seconds", new EvaluateExpressionProps {
                Expression = "$.waitMilliseconds / 1000",
                ResultPath = "$.waitSeconds"
            });

            var createMessage = new EvaluateExpression(this, "Create message", new EvaluateExpressionProps {
                // Note: this is a string inside a string.
                Expression = "`Now waiting ${$.waitSeconds} seconds...`",
                Runtime = Runtime.NODEJS_LATEST,
                ResultPath = "$.message"
            });

            var publishMessage = new SnsPublish(this, "Publish message", new SnsPublishProps {
                Topic = new Topic(this, "cool-topic"),
                Message = TaskInput.FromJsonPathAt("$.message"),
                ResultPath = "$.sns"
            });

            var wait = new Wait(this, "Wait", new WaitProps {
                Time = WaitTime.SecondsPath("$.waitSeconds")
            });

            new StateMachine(this, "StateMachine", new StateMachineProps {
                Definition = convertToSeconds.Next(createMessage).Next(publishMessage).Next(wait)
            });

Properties

Architecture

The system architecture compatible with this lambda function.

public Architecture? Architecture { get; set; }
Property Value

Architecture

Remarks

ARM64 architecture support varies by AWS region. Please verify that your deployment region supports Lambda functions with ARM64 architecture before specifying Architecture.ARM_64.

Default: Architecture.X86_64

Assign

Workflow variables to store in this step.

public IDictionary<string, object>? Assign { get; set; }
Property Value

IDictionary<string, object>

Remarks

Using workflow variables, you can store data in a step and retrieve that data in future steps.

Default: - Not assign variables

See: https://docs.aws.amazon.com/step-functions/latest/dg/workflow-variables.html

Comment

A comment describing this state.

public string? Comment { get; set; }
Property Value

string

Remarks

Default: No comment

Credentials

Credentials for an IAM Role that the State Machine assumes for executing the task.

public ICredentials? Credentials { get; set; }
Property Value

ICredentials

Remarks

This enables cross-account resource invocations.

Default: - None (Task is executed using the State Machine's execution role)

See: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-access-cross-acct-resources.html

Expression

The expression to evaluate. The expression may contain state paths.

public string Expression { get; set; }
Property Value

string

Remarks

Example value: '$.a + $.b'

Heartbeat

(deprecated) Timeout for the heartbeat.

[Obsolete("use `heartbeatTimeout`")]
public Duration? Heartbeat { get; set; }
Property Value

Duration

Remarks

Default: - None

Stability: Deprecated

HeartbeatTimeout

Timeout for the heartbeat.

public Timeout? HeartbeatTimeout { get; set; }
Property Value

Timeout

Remarks

[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface

Default: - None

InputPath

JSONPath expression to select part of the state to be the input to this state.

public string? InputPath { get; set; }
Property Value

string

Remarks

May also be the special value JsonPath.DISCARD, which will cause the effective input to be the empty object {}.

Default: $

IntegrationPattern

AWS Step Functions integrates with services directly in the Amazon States Language.

public IntegrationPattern? IntegrationPattern { get; set; }
Property Value

IntegrationPattern?

Remarks

You can control these AWS services using service integration patterns.

Depending on the AWS Service, the Service Integration Pattern availability will vary.

Default: - IntegrationPattern.REQUEST_RESPONSE for most tasks. IntegrationPattern.RUN_JOB for the following exceptions: BatchSubmitJob, EmrAddStep, EmrCreateCluster, EmrTerminationCluster, and EmrContainersStartJobRun.

See: https://docs.aws.amazon.com/step-functions/latest/dg/connect-supported-services.html

OutputPath

JSONPath expression to select part of the state to be the output to this state.

public string? OutputPath { get; set; }
Property Value

string

Remarks

May also be the special value JsonPath.DISCARD, which will cause the effective output to be the empty object {}.

Default: $

Outputs

Used to specify and transform output from the state.

public object? Outputs { get; set; }
Property Value

object

Remarks

When specified, the value overrides the state output default. The output field accepts any JSON value (object, array, string, number, boolean, null). Any string value, including those inside objects or arrays, will be evaluated as JSONata if surrounded by {% %} characters. Output also accepts a JSONata expression directly.

Default: - $states.result or $states.errorOutput

See: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-input-output-filtering.html

QueryLanguage

The name of the query language used by the state.

public QueryLanguage? QueryLanguage { get; set; }
Property Value

QueryLanguage?

Remarks

If the state does not contain a queryLanguage field, then it will use the query language specified in the top-level queryLanguage field.

Default: - JSONPath

ResultPath

JSONPath expression to indicate where to inject the state's output.

public string? ResultPath { get; set; }
Property Value

string

Remarks

May also be the special value JsonPath.DISCARD, which will cause the state's input to become its output.

Default: $

ResultSelector

The JSON that will replace the state's raw result and become the effective result before ResultPath is applied.

public IDictionary<string, object>? ResultSelector { get; set; }
Property Value

IDictionary<string, object>

Remarks

You can use ResultSelector to create a payload with values that are static or selected from the state's raw result.

Default: - None

See: https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector

Runtime

The runtime language to use to evaluate the expression.

public Runtime? Runtime { get; set; }
Property Value

Runtime

Remarks

Default: - the latest Lambda node runtime available in your region.

StateName

Optional name for this state.

public string? StateName { get; set; }
Property Value

string

Remarks

Default: - The construct ID will be used as state name

TaskTimeout

Timeout for the task.

public Timeout? TaskTimeout { get; set; }
Property Value

Timeout

Remarks

[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface

Default: - None

Timeout

(deprecated) Timeout for the task.

[Obsolete("use `taskTimeout`")]
public Duration? Timeout { get; set; }
Property Value

Duration

Remarks

Default: - None

Stability: Deprecated

Implements

IEvaluateExpressionProps
ITaskStateBaseProps
IStateBaseProps
ITaskStateBaseOptions
IAssignableStateOptions
IJsonPathCommonOptions
IJsonataCommonOptions
Back to top Generated by DocFX