AthenaStartQueryExecutionJsonPathProps Struct
Properties for starting a Query Execution 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_kms as kms } 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 key: kms.Key;
declare const resultSelector: any;
declare const taskRole: stepfunctions.TaskRole;
declare const timeout: stepfunctions.Timeout;
const athenaStartQueryExecutionJsonPathProps: stepfunctions_tasks.AthenaStartQueryExecutionJsonPathProps = {
queryString: 'queryString',
// the properties below are optional
assign: {
assignKey: assign,
},
clientRequestToken: 'clientRequestToken',
comment: 'comment',
credentials: {
role: taskRole,
},
executionParameters: ['executionParameters'],
heartbeat: cdk.Duration.minutes(30),
heartbeatTimeout: timeout,
inputPath: 'inputPath',
integrationPattern: stepfunctions.IntegrationPattern.REQUEST_RESPONSE,
outputPath: 'outputPath',
queryExecutionContext: {
catalogName: 'catalogName',
databaseName: 'databaseName',
},
queryLanguage: stepfunctions.QueryLanguage.JSON_PATH,
resultConfiguration: {
encryptionConfiguration: {
encryptionOption: stepfunctions_tasks.EncryptionOption.S3_MANAGED,
// the properties below are optional
encryptionKey: key,
},
outputLocation: {
bucketName: 'bucketName',
objectKey: 'objectKey',
// the properties below are optional
objectVersion: 'objectVersion',
},
},
resultPath: 'resultPath',
resultReuseConfigurationMaxAge: cdk.Duration.minutes(30),
resultSelector: {
resultSelectorKey: resultSelector,
},
stateName: 'stateName',
taskTimeout: timeout,
timeout: cdk.Duration.minutes(30),
workGroup: 'workGroup',
};
Properties
assignoptional{ [key: string]: any }assignoptionaltyping.Mapping[str, Any]assignoptionalMap<String, Object>AssignoptionalIDictionary<string, object>Assignoptional*map[string]interface{}#Default: Not assign variables
Using workflow variables, you can store data in a step and retrieve that data in future steps.
clientRequestTokenoptionalstringclient_request_tokenoptionalstrclientRequestTokenoptionalStringClientRequestTokenoptionalstringClientRequestTokenoptional*string#Default: No client request token
commentoptionalstringcommentoptionalstrcommentoptionalStringCommentoptionalstringCommentoptional*string#Default: No comment
credentialsoptionalCredentialscredentialsoptionalCredentialscredentialsoptionalCredentialsCredentialsoptionalCredentialsCredentialsoptionalCredentials#Default: None (Task is executed using the State Machine's execution role)
This enables cross-account resource invocations.
executionParametersoptionalstring[]execution_parametersoptionaltyping.List[str]executionParametersoptionalList<String>ExecutionParametersoptionalstring[]ExecutionParametersoptional*[]*string#Default: No parameters
The values are applied sequentially to the parameters in the query in the order in which the parameters occur.
heartbeatoptionalDurationheartbeatoptionalDurationheartbeatoptionalDurationHeartbeatoptionalDurationHeartbeatoptionalDuration= Nonedeprecated#heartbeatTimeoutoptionalTimeoutheartbeat_timeoutoptionalTimeoutheartbeatTimeoutoptionalTimeoutHeartbeatTimeoutoptionalTimeoutHeartbeatTimeoutoptionalTimeout= None#[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface
inputPathoptionalstringinput_pathoptionalstrinputPathoptionalStringInputPathoptionalstringInputPathoptional*string= $#May also be the special value JsonPath.DISCARD, which will cause the effective input to be the empty object {}.
integrationPatternoptionalIntegrationPatternintegration_patternoptionalIntegrationPatternintegrationPatternoptionalIntegrationPatternIntegrationPatternoptionalIntegrationPatternIntegrationPatternoptionalIntegrationPattern#Default: IntegrationPattern.REQUEST_RESPONSE for most tasks. IntegrationPattern.RUN_JOB for the following exceptions: BatchSubmitJob, EmrAddStep, EmrCreateCluster, EmrTerminationCluster, and EmrContainersStartJobRun.
You can control these AWS services using service integration patterns.
Depending on the AWS Service, the Service Integration Pattern availability will vary.
outputPathoptionalstringoutput_pathoptionalstroutputPathoptionalStringOutputPathoptionalstringOutputPathoptional*string= $#May also be the special value JsonPath.DISCARD, which will cause the effective output to be the empty object {}.
queryExecutionContextoptionalQueryExecutionContextquery_execution_contextoptionalQueryExecutionContextqueryExecutionContextoptionalQueryExecutionContextQueryExecutionContextoptionalQueryExecutionContextQueryExecutionContextoptionalQueryExecutionContext#Default: No query execution context
queryLanguageoptionalQueryLanguagequery_languageoptionalQueryLanguagequeryLanguageoptionalQueryLanguageQueryLanguageoptionalQueryLanguageQueryLanguageoptionalQueryLanguage= JSONPath#If the state does not contain a queryLanguage field, then it will use the query language specified in the top-level queryLanguage field.
resultConfigurationoptionalResultConfigurationresult_configurationoptionalResultConfigurationresultConfigurationoptionalResultConfigurationResultConfigurationoptionalResultConfigurationResultConfigurationoptionalResultConfiguration#Default: No result configuration
resultPathoptionalstringresult_pathoptionalstrresultPathoptionalStringResultPathoptionalstringResultPathoptional*string= $#May also be the special value JsonPath.DISCARD, which will cause the state's input to become its output.
resultReuseConfigurationMaxAgeoptionalDurationresult_reuse_configuration_max_ageoptionalDurationresultReuseConfigurationMaxAgeoptionalDurationResultReuseConfigurationMaxAgeoptionalDurationResultReuseConfigurationMaxAgeoptionalDuration#Default: Query results are not reused
resultSelectoroptional{ [key: string]: any }result_selectoroptionaltyping.Mapping[str, Any]resultSelectoroptionalMap<String, Object>ResultSelectoroptionalIDictionary<string, object>ResultSelectoroptional*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.
stateNameoptionalstringstate_nameoptionalstrstateNameoptionalStringStateNameoptionalstringStateNameoptional*string#Default: The construct ID will be used as state name
taskTimeoutoptionalTimeouttask_timeoutoptionalTimeouttaskTimeoutoptionalTimeoutTaskTimeoutoptionalTimeoutTaskTimeoutoptionalTimeout= None#[disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface
timeoutoptionalDurationtimeoutoptionalDurationtimeoutoptionalDurationTimeoutoptionalDurationTimeoutoptionalDuration= Nonedeprecated#workGroupoptionalstringwork_groupoptionalstrworkGroupoptionalStringWorkGroupoptionalstringWorkGroupoptional*string#Default: No work group