HttpInvokeJsonPathProps Struct
Properties for calling an external HTTP endpoint with HttpInvoke using JSONPath.
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as cdk from 'aws-cdk-lib';
import { aws_events as events } from 'aws-cdk-lib';
import { aws_stepfunctions as stepfunctions } from 'aws-cdk-lib';
import { aws_stepfunctions_tasks as stepfunctions_tasks } from 'aws-cdk-lib';
declare const assign: any;
declare const connection: events.Connection;
declare const resultSelector: any;
declare const taskInput: stepfunctions.TaskInput;
declare const taskRole: stepfunctions.TaskRole;
declare const timeout: stepfunctions.Timeout;
const httpInvokeJsonPathProps: stepfunctions_tasks.HttpInvokeJsonPathProps = {
apiEndpoint: taskInput,
apiRoot: 'apiRoot',
connection: connection,
method: taskInput,
// the properties below are optional
assign: {
assignKey: assign,
},
body: taskInput,
comment: 'comment',
credentials: {
role: taskRole,
},
headers: taskInput,
heartbeat: cdk.Duration.minutes(30),
heartbeatTimeout: timeout,
inputPath: 'inputPath',
integrationPattern: stepfunctions.IntegrationPattern.REQUEST_RESPONSE,
outputPath: 'outputPath',
queryLanguage: stepfunctions.QueryLanguage.JSON_PATH,
queryStringParameters: taskInput,
resultPath: 'resultPath',
resultSelector: {
resultSelectorKey: resultSelector,
},
stateName: 'stateName',
taskTimeout: timeout,
timeout: cdk.Duration.minutes(30),
urlEncodingFormat: stepfunctions_tasks.URLEncodingFormat.BRACKETS,
};
Properties
apiEndpointTaskInputapi_endpointTaskInputapiEndpointTaskInputApiEndpointTaskInputApiEndpointTaskInputrequired#example
sfn.TaskInput.fromText('path/to/resource')
example
'https://api.example.com'
assign{ [key: string]: any }assigntyping.Mapping[str, Any]assignMap<String, Object>AssignIDictionary<string, object>Assign*map[string]interface{}= Not assign variables#Using workflow variables, you can store data in a step and retrieve that data in future steps.
bodyTaskInputbodyTaskInputbodyTaskInputBodyTaskInputBodyTaskInput= No body is sent with the request…#default
Default: No body is sent with the request.
connectionIConnectionconnectionIConnectionconnectionIConnectionConnectionIConnectionConnectionIConnectionrequired#credentialsCredentialscredentialsCredentialscredentialsCredentialsCredentialsCredentialsCredentialsCredentials= None (Task is executed using the…#This enables cross-account resource invocations.
default
Default: None (Task is executed using the State Machine's execution role)
headersTaskInputheadersTaskInputheadersTaskInputHeadersTaskInputHeadersTaskInput= No additional headers are added …#default · example
Default: No additional headers are added to the request.
sfn.TaskInput.fromObject({ 'Content-Type': 'application/json' })
heartbeatDurationheartbeatDurationheartbeatDurationHeartbeatDurationHeartbeatDuration= Nonedeprecated#heartbeatTimeoutTimeoutheartbeat_timeoutTimeoutheartbeatTimeoutTimeoutHeartbeatTimeoutTimeoutHeartbeatTimeoutTimeout= None#[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface
May also be the special value JsonPath.DISCARD, which will cause the effective input to be the empty object {}.
integrationPatternIntegrationPatternintegration_patternIntegrationPatternintegrationPatternIntegrationPatternIntegrationPatternIntegrationPatternIntegrationPatternIntegrationPattern= `IntegrationPattern.REQUEST_RESP…#You can control these AWS services using service integration patterns.
Depending on the AWS Service, the Service Integration Pattern availability will vary.
default
Default: IntegrationPattern.REQUEST_RESPONSE for most tasks. IntegrationPattern.RUN_JOB for the following exceptions: BatchSubmitJob, EmrAddStep, EmrCreateCluster, EmrTerminationCluster, and EmrContainersStartJobRun.
example
sfn.TaskInput.fromText('GET')
May also be the special value JsonPath.DISCARD, which will cause the effective output to be the empty object {}.
queryLanguageQueryLanguagequery_languageQueryLanguagequeryLanguageQueryLanguageQueryLanguageQueryLanguageQueryLanguageQueryLanguage= JSONPath#If the state does not contain a queryLanguage field, then it will use the query language specified in the top-level queryLanguage field.
queryStringParametersTaskInputquery_string_parametersTaskInputqueryStringParametersTaskInputQueryStringParametersTaskInputQueryStringParametersTaskInput= No query string parameters are s…#default
Default: No query string parameters are sent in the request.
May also be the special value JsonPath.DISCARD, which will cause the state's input to become its output.
resultSelector{ [key: string]: any }result_selectortyping.Mapping[str, Any]resultSelectorMap<String, Object>ResultSelectorIDictionary<string, object>ResultSelector*map[string]interface{}= None#You can use ResultSelector to create a payload with values that are static or selected from the state's raw result.
stateNamestringstate_namestrstateNameStringStateNamestringStateName*string= The construct ID will be used as…#default
Default: The construct ID will be used as state name
[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface
urlEncodingFormatURLEncodingFormaturl_encoding_formatURLEncodingFormaturlEncodingFormatURLEncodingFormatUrlEncodingFormatURLEncodingFormatUrlEncodingFormatURLEncodingFormat= URLEncodingFormat.NONE#notes
URLEncodingFormat.NONE passes the JSON-serialized RequestBody field as the HTTP request body. Otherwise, the HTTP request body is the URL-encoded form data of the RequestBody field using the specified array encoding format, and the Content-Type header is set to application/x-www-form-urlencoded.