Class EvaluateExpressionProps
Properties for EvaluateExpression.
Inheritance
Namespace: Amazon.CDK.AWS.StepFunctions.Tasks
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class EvaluateExpressionProps : Object, IEvaluateExpressionProps, ITaskStateBaseProps
Syntax (vb)
Public Class EvaluateExpressionProps
Inherits Object
Implements IEvaluateExpressionProps, ITaskStateBaseProps
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
Comment | An optional description for 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 select a portion of the state output to pass to the next 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()
public EvaluateExpressionProps()
Properties
Comment
An optional description for this state.
public string Comment { get; set; }
Property Value
System.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
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
System.String
Remarks
Example value: '$.a + $.b'
Heartbeat
(deprecated) Timeout for the heartbeat.
public Duration Heartbeat { get; set; }
Property Value
Remarks
Default: - None
Stability: Deprecated
HeartbeatTimeout
Timeout for the heartbeat.
public Timeout HeartbeatTimeout { get; set; }
Property Value
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
System.String
Remarks
May also be the special value JsonPath.DISCARD, which will cause the effective input to be the empty object {}.
Default: - The entire task input (JSON path '$')
IntegrationPattern
AWS Step Functions integrates with services directly in the Amazon States Language.
public Nullable<IntegrationPattern> IntegrationPattern { get; set; }
Property Value
System.Nullable<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 select a portion of the state output to pass to the next state.
public string OutputPath { get; set; }
Property Value
System.String
Remarks
May also be the special value JsonPath.DISCARD, which will cause the effective output to be the empty object {}.
Default: - The entire JSON node determined by the state input, the task result, and resultPath is passed to the next state (JSON path '$')
ResultPath
JSONPath expression to indicate where to inject the state's output.
public string ResultPath { get; set; }
Property Value
System.String
Remarks
May also be the special value JsonPath.DISCARD, which will cause the state's input to become its output.
Default: - Replaces the entire input with the result (JSON path '$')
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
System.Collections.Generic.IDictionary<System.String, System.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
Runtime
The runtime language to use to evaluate the expression.
public Runtime Runtime { get; set; }
Property Value
Remarks
Default: lambda.Runtime.NODEJS_18_X
StateName
Optional name for this state.
public string StateName { get; set; }
Property Value
System.String
Remarks
Default: - The construct ID will be used as state name
TaskTimeout
Timeout for the task.
public Timeout TaskTimeout { get; set; }
Property Value
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.
public Duration Timeout { get; set; }
Property Value
Remarks
Default: - None
Stability: Deprecated