Show / Hide Table of Contents

Class LambdaInvokeProps

Properties for invoking a Lambda function with LambdaInvoke.

Inheritance
object
LambdaInvokeProps
Implements
ILambdaInvokeProps
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 LambdaInvokeProps : ILambdaInvokeProps, ITaskStateBaseProps, IStateBaseProps, ITaskStateBaseOptions, IAssignableStateOptions, IJsonPathCommonOptions, IJsonataCommonOptions
Syntax (vb)
Public Class LambdaInvokeProps Implements ILambdaInvokeProps, ITaskStateBaseProps, IStateBaseProps, ITaskStateBaseOptions, IAssignableStateOptions, IJsonPathCommonOptions, IJsonataCommonOptions
Remarks

ExampleMetadata: infused

Examples
Function fn;

            new LambdaInvoke(this, "Invoke with empty object as payload", new LambdaInvokeProps {
                LambdaFunction = fn,
                Payload = TaskInput.FromObject(new Dictionary<string, object> { })
            });

            // use the output of fn as input
            // use the output of fn as input
            new LambdaInvoke(this, "Invoke with payload field in the state input", new LambdaInvokeProps {
                LambdaFunction = fn,
                Payload = TaskInput.FromJsonPathAt("$.Payload")
            });

Synopsis

Constructors

LambdaInvokeProps()

Properties for invoking a Lambda function with LambdaInvoke.

Properties

Assign

Workflow variables to store in this step.

ClientContext

Up to 3583 bytes of base64-encoded data about the invoking client to pass to the function.

Comment

A comment describing this state.

Credentials

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

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.

InvocationType

Invocation type of the Lambda function.

LambdaFunction

Lambda function to invoke.

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.

Payload

The JSON that will be supplied as input to the Lambda function.

PayloadResponseOnly

Invoke the Lambda in a way that only returns the payload response without additional metadata.

Qualifier

(deprecated) Version or alias to invoke a published version of the function.

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.

RetryOnServiceExceptions

Whether to retry on Lambda service exceptions.

StateName

Optional name for this state.

TaskTimeout

Timeout for the task.

Timeout

(deprecated) Timeout for the task.

Constructors

LambdaInvokeProps()

Properties for invoking a Lambda function with LambdaInvoke.

public LambdaInvokeProps()
Remarks

ExampleMetadata: infused

Examples
Function fn;

            new LambdaInvoke(this, "Invoke with empty object as payload", new LambdaInvokeProps {
                LambdaFunction = fn,
                Payload = TaskInput.FromObject(new Dictionary<string, object> { })
            });

            // use the output of fn as input
            // use the output of fn as input
            new LambdaInvoke(this, "Invoke with payload field in the state input", new LambdaInvokeProps {
                LambdaFunction = fn,
                Payload = TaskInput.FromJsonPathAt("$.Payload")
            });

Properties

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

ClientContext

Up to 3583 bytes of base64-encoded data about the invoking client to pass to the function.

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

string

Remarks

Default: - No context

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

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

InvocationType

Invocation type of the Lambda function.

public LambdaInvocationType? InvocationType { get; set; }
Property Value

LambdaInvocationType?

Remarks

Default: InvocationType.REQUEST_RESPONSE

LambdaFunction

Lambda function to invoke.

public IFunction LambdaFunction { get; set; }
Property Value

IFunction

Remarks

ExampleMetadata: infused

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

Payload

The JSON that will be supplied as input to the Lambda function.

public TaskInput? Payload { get; set; }
Property Value

TaskInput

Remarks

Default: - The state input (JSONata: '{% \(states.input %}', JSONPath: '\)')

PayloadResponseOnly

Invoke the Lambda in a way that only returns the payload response without additional metadata.

public bool? PayloadResponseOnly { get; set; }
Property Value

bool?

Remarks

The payloadResponseOnly property cannot be used if integrationPattern, invocationType, clientContext, or qualifier are specified. It always uses the REQUEST_RESPONSE behavior.

Default: false

Qualifier

(deprecated) Version or alias to invoke a published version of the function.

[Obsolete("pass a Version or Alias object as lambdaFunction instead")]
public string? Qualifier { get; set; }
Property Value

string

Remarks

You only need to supply this if you want the version of the Lambda Function to depend on data in the state machine state. If not, you can pass the appropriate Alias or Version object directly as the lambdaFunction argument.

Default: - Version or alias inherent to the lambdaFunction object.

Stability: Deprecated

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

RetryOnServiceExceptions

Whether to retry on Lambda service exceptions.

public bool? RetryOnServiceExceptions { get; set; }
Property Value

bool?

Remarks

This handles Lambda.ServiceException, Lambda.AWSLambdaException, Lambda.SdkClientException, and Lambda.ClientExecutionTimeoutException with an interval of 2 seconds, a back-off rate of 2 and 6 maximum attempts.

Default: true

See: https://docs.aws.amazon.com/step-functions/latest/dg/bp-lambda-serviceexception.html

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

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