Class: AWSCDK::StepFunctions::DistributedMapProps

Inherits:
MapBaseProps
  • Object
show all
Defined in:
step_functions/distributed_map_props.rb

Overview

Properties for configuring a Distribute Map state.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(comment: nil, query_language: nil, state_name: nil, assign: nil, item_selector: nil, jsonata_item_selector: nil, jsonata_max_concurrency: nil, max_concurrency: nil, input_path: nil, output_path: nil, items_path: nil, max_concurrency_path: nil, result_path: nil, result_selector: nil, outputs: nil, items: nil, item_batcher: nil, item_reader: nil, label: nil, map_execution_type: nil, result_writer: nil, result_writer_v2: nil, tolerated_failure_count: nil, tolerated_failure_count_path: nil, tolerated_failure_percentage: nil, tolerated_failure_percentage_path: nil) ⇒ DistributedMapProps

Returns a new instance of DistributedMapProps.

Parameters:

  • comment (String, nil) (defaults to: nil)

    A comment describing this state.

  • query_language (AWSCDK::StepFunctions::QueryLanguage, nil) (defaults to: nil)

    The name of the query language used by the state.

  • state_name (String, nil) (defaults to: nil)

    Optional name for this state.

  • assign (Hash{String => Object}, nil) (defaults to: nil)

    Workflow variables to store in this step.

  • item_selector (Hash{String => Object}, nil) (defaults to: nil)

    The JSON that you want to override your default iteration input (mutually exclusive with parameters and jsonataItemSelector).

  • jsonata_item_selector (String, nil) (defaults to: nil)

    Jsonata expression that evaluates to a JSON array to override your default iteration input (mutually exclusive with parameters and itemSelector).

  • jsonata_max_concurrency (String, nil) (defaults to: nil)

    JSONata expression for MaxConcurrency.

  • max_concurrency (Numeric, nil) (defaults to: nil)

    MaxConcurrency.

  • input_path (String, nil) (defaults to: nil)

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

  • output_path (String, nil) (defaults to: nil)

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

  • items_path (String, nil) (defaults to: nil)

    JSONPath expression to select the array to iterate over.

  • max_concurrency_path (String, nil) (defaults to: nil)

    MaxConcurrencyPath.

  • result_path (String, nil) (defaults to: nil)

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

  • result_selector (Hash{String => Object}, nil) (defaults to: nil)

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

  • outputs (Object, nil) (defaults to: nil)

    Used to specify and transform output from the state.

  • items (AWSCDK::StepFunctions::ProvideItems, nil) (defaults to: nil)

    The array that the Map state will iterate over.

  • item_batcher (AWSCDK::StepFunctions::ItemBatcher, nil) (defaults to: nil)

    Specifies to process a group of items in a single child workflow execution.

  • item_reader (AWSCDK::StepFunctions::IItemReader, nil) (defaults to: nil)

    ItemReader.

  • label (String, nil) (defaults to: nil)

    Label.

  • map_execution_type (AWSCDK::StepFunctions::StateMachineType, nil) (defaults to: nil)

    MapExecutionType.

  • result_writer (AWSCDK::StepFunctions::ResultWriter, nil) (defaults to: nil)

    Configuration for S3 location in which to save Map Run results.

  • result_writer_v2 (AWSCDK::StepFunctions::ResultWriterV2, nil) (defaults to: nil)

    Configuration for S3 location in which to save Map Run results Enable "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2" feature in the context to use resultWriterV2 Example: stack.node.setContext("@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2", true);

  • tolerated_failure_count (Numeric, nil) (defaults to: nil)

    ToleratedFailureCount.

  • tolerated_failure_count_path (String, nil) (defaults to: nil)

    ToleratedFailureCountPath.

  • tolerated_failure_percentage (Numeric, nil) (defaults to: nil)

    ToleratedFailurePercentage.

  • tolerated_failure_percentage_path (String, nil) (defaults to: nil)

    ToleratedFailurePercentagePath.



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'step_functions/distributed_map_props.rb', line 34

def initialize(comment: nil, query_language: nil, state_name: nil, assign: nil, item_selector: nil, jsonata_item_selector: nil, jsonata_max_concurrency: nil, max_concurrency: nil, input_path: nil, output_path: nil, items_path: nil, max_concurrency_path: nil, result_path: nil, result_selector: nil, outputs: nil, items: nil, item_batcher: nil, item_reader: nil, label: nil, map_execution_type: nil, result_writer: nil, result_writer_v2: nil, tolerated_failure_count: nil, tolerated_failure_count_path: nil, tolerated_failure_percentage: nil, tolerated_failure_percentage_path: nil)
  @comment = comment
  Jsii::Type.check_type(@comment, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "comment") unless @comment.nil?
  @query_language = query_language
  Jsii::Type.check_type(@query_language, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5RdWVyeUxhbmd1YWdlIn0=")), "queryLanguage") unless @query_language.nil?
  @state_name = state_name
  Jsii::Type.check_type(@state_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "stateName") unless @state_name.nil?
  @assign = assign
  Jsii::Type.check_type(@assign, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "assign") unless @assign.nil?
  @item_selector = item_selector
  Jsii::Type.check_type(@item_selector, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "itemSelector") unless @item_selector.nil?
  @jsonata_item_selector = jsonata_item_selector
  Jsii::Type.check_type(@jsonata_item_selector, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "jsonataItemSelector") unless @jsonata_item_selector.nil?
  @jsonata_max_concurrency = jsonata_max_concurrency
  Jsii::Type.check_type(@jsonata_max_concurrency, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "jsonataMaxConcurrency") unless @jsonata_max_concurrency.nil?
  @max_concurrency = max_concurrency
  Jsii::Type.check_type(@max_concurrency, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxConcurrency") unless @max_concurrency.nil?
  @input_path = input_path
  Jsii::Type.check_type(@input_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "inputPath") unless @input_path.nil?
  @output_path = output_path
  Jsii::Type.check_type(@output_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "outputPath") unless @output_path.nil?
  @items_path = items_path
  Jsii::Type.check_type(@items_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "itemsPath") unless @items_path.nil?
  @max_concurrency_path = max_concurrency_path
  Jsii::Type.check_type(@max_concurrency_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "maxConcurrencyPath") unless @max_concurrency_path.nil?
  @result_path = result_path
  Jsii::Type.check_type(@result_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resultPath") unless @result_path.nil?
  @result_selector = result_selector
  Jsii::Type.check_type(@result_selector, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "resultSelector") unless @result_selector.nil?
  @outputs = outputs
  Jsii::Type.check_type(@outputs, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "outputs") unless @outputs.nil?
  @items = items
  Jsii::Type.check_type(@items, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5Qcm92aWRlSXRlbXMifQ==")), "items") unless @items.nil?
  @item_batcher = item_batcher
  Jsii::Type.check_type(@item_batcher, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5JdGVtQmF0Y2hlciJ9")), "itemBatcher") unless @item_batcher.nil?
  @item_reader = item_reader
  Jsii::Type.check_type(@item_reader, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5JSXRlbVJlYWRlciJ9")), "itemReader") unless @item_reader.nil?
  @label = label
  Jsii::Type.check_type(@label, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "label") unless @label.nil?
  @map_execution_type = map_execution_type
  Jsii::Type.check_type(@map_execution_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5TdGF0ZU1hY2hpbmVUeXBlIn0=")), "mapExecutionType") unless @map_execution_type.nil?
  @result_writer = result_writer
  Jsii::Type.check_type(@result_writer, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5SZXN1bHRXcml0ZXIifQ==")), "resultWriter") unless @result_writer.nil?
  @result_writer_v2 = result_writer_v2
  Jsii::Type.check_type(@result_writer_v2, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9ucy5SZXN1bHRXcml0ZXJWMiJ9")), "resultWriterV2") unless @result_writer_v2.nil?
  @tolerated_failure_count = tolerated_failure_count
  Jsii::Type.check_type(@tolerated_failure_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "toleratedFailureCount") unless @tolerated_failure_count.nil?
  @tolerated_failure_count_path = tolerated_failure_count_path
  Jsii::Type.check_type(@tolerated_failure_count_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "toleratedFailureCountPath") unless @tolerated_failure_count_path.nil?
  @tolerated_failure_percentage = tolerated_failure_percentage
  Jsii::Type.check_type(@tolerated_failure_percentage, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "toleratedFailurePercentage") unless @tolerated_failure_percentage.nil?
  @tolerated_failure_percentage_path = tolerated_failure_percentage_path
  Jsii::Type.check_type(@tolerated_failure_percentage_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "toleratedFailurePercentagePath") unless @tolerated_failure_percentage_path.nil?
end

Instance Attribute Details

#assignHash{String => Object}? (readonly)

Note:

Default: - Not assign variables

Workflow variables to store in this step.

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

Returns:

  • (Hash{String => Object}, nil)

See Also:



114
115
116
# File 'step_functions/distributed_map_props.rb', line 114

def assign
  @assign
end

#commentString? (readonly)

Note:

Default: No comment

A comment describing this state.

Returns:

  • (String, nil)


93
94
95
# File 'step_functions/distributed_map_props.rb', line 93

def comment
  @comment
end

#input_pathString? (readonly)

Note:

Default: $

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

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

Returns:

  • (String, nil)


155
156
157
# File 'step_functions/distributed_map_props.rb', line 155

def input_path
  @input_path
end

#item_batcherAWSCDK::StepFunctions::ItemBatcher? (readonly)

Note:

Default: - No itemBatcher

Specifies to process a group of items in a single child workflow execution.



215
216
217
# File 'step_functions/distributed_map_props.rb', line 215

def item_batcher
  @item_batcher
end

#item_readerAWSCDK::StepFunctions::IItemReader? (readonly)

Note:

Default: - No itemReader

ItemReader.

Configuration for where to read items dataset in S3 to iterate



222
223
224
# File 'step_functions/distributed_map_props.rb', line 222

def item_reader
  @item_reader
end

#item_selectorHash{String => Object}? (readonly)

Note:

Default: $

The JSON that you want to override your default iteration input (mutually exclusive with parameters and jsonataItemSelector).



120
121
122
# File 'step_functions/distributed_map_props.rb', line 120

def item_selector
  @item_selector
end

#itemsAWSCDK::StepFunctions::ProvideItems? (readonly)

Note:

Default: - The state input as is.

The array that the Map state will iterate over.



210
211
212
# File 'step_functions/distributed_map_props.rb', line 210

def items
  @items
end

#items_pathString? (readonly)

Note:

Default: $

JSONPath expression to select the array to iterate over.

Returns:

  • (String, nil)


168
169
170
# File 'step_functions/distributed_map_props.rb', line 168

def items_path
  @items_path
end

#jsonata_item_selectorString? (readonly)

Note:

Default: $

Jsonata expression that evaluates to a JSON array to override your default iteration input (mutually exclusive with parameters and itemSelector).

Example value: {% {\"foo\": \"foo\", \"input\": $states.input} %}

Returns:

  • (String, nil)


127
128
129
# File 'step_functions/distributed_map_props.rb', line 127

def jsonata_item_selector
  @jsonata_item_selector
end

#jsonata_max_concurrencyString? (readonly)

Note:

Default: - full concurrency

JSONata expression for MaxConcurrency.

A JSONata expression that evaluates to an integer, specifying the maximum concurrency dynamically. Mutually exclusive with max_concurrency and max_concurrency_path.

Example value: {% $states.input.maxConcurrency %}



139
140
141
# File 'step_functions/distributed_map_props.rb', line 139

def jsonata_max_concurrency
  @jsonata_max_concurrency
end

#labelString? (readonly)

Note:

Default: - No label

Label.

Unique name for the Distributed Map state added to each Map Run

Returns:

  • (String, nil)


229
230
231
# File 'step_functions/distributed_map_props.rb', line 229

def label
  @label
end

#map_execution_typeAWSCDK::StepFunctions::StateMachineType? (readonly)

Note:

Default: StateMachineType.STANDARD

MapExecutionType.

The execution type of the distributed map state

This property overwrites ProcessorConfig.executionType



238
239
240
# File 'step_functions/distributed_map_props.rb', line 238

def map_execution_type
  @map_execution_type
end

#max_concurrencyNumeric? (readonly)

Note:

Default: - full concurrency

MaxConcurrency.

An upper bound on the number of iterations you want running at once.



147
148
149
# File 'step_functions/distributed_map_props.rb', line 147

def max_concurrency
  @max_concurrency
end

#max_concurrency_pathString? (readonly)

Note:

Default: - full concurrency

MaxConcurrencyPath.

A JsonPath that specifies the maximum concurrency dynamically from the state input.



176
177
178
# File 'step_functions/distributed_map_props.rb', line 176

def max_concurrency_path
  @max_concurrency_path
end

#output_pathString? (readonly)

Note:

Default: $

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

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

Returns:

  • (String, nil)


163
164
165
# File 'step_functions/distributed_map_props.rb', line 163

def output_path
  @output_path
end

#outputsObject? (readonly)

Note:

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

Used to specify and transform output from the state.

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.



205
206
207
# File 'step_functions/distributed_map_props.rb', line 205

def outputs
  @outputs
end

#query_languageAWSCDK::StepFunctions::QueryLanguage? (readonly)

Note:

Default: - JSONPath

The name of the query language used by the state.

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



101
102
103
# File 'step_functions/distributed_map_props.rb', line 101

def query_language
  @query_language
end

#result_pathString? (readonly)

Note:

Default: $

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

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

Returns:

  • (String, nil)


184
185
186
# File 'step_functions/distributed_map_props.rb', line 184

def result_path
  @result_path
end

#result_selectorHash{String => Object}? (readonly)

Note:

Default: - None

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

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



193
194
195
# File 'step_functions/distributed_map_props.rb', line 193

def result_selector
  @result_selector
end

#result_writerAWSCDK::StepFunctions::ResultWriter? (readonly)

Deprecated.

Use {@link resultWriterV2 }

Note:

Default: - No resultWriter

Configuration for S3 location in which to save Map Run results.



244
245
246
# File 'step_functions/distributed_map_props.rb', line 244

def result_writer
  @result_writer
end

#result_writer_v2AWSCDK::StepFunctions::ResultWriterV2? (readonly)

Note:

Default: - No resultWriterV2

Configuration for S3 location in which to save Map Run results Enable "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2" feature in the context to use resultWriterV2 Example: stack.node.setContext("@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2", true);



249
250
251
# File 'step_functions/distributed_map_props.rb', line 249

def result_writer_v2
  @result_writer_v2
end

#state_nameString? (readonly)

Note:

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

Optional name for this state.

Returns:

  • (String, nil)


106
107
108
# File 'step_functions/distributed_map_props.rb', line 106

def state_name
  @state_name
end

#tolerated_failure_countNumeric? (readonly)

Note:

Default: - No toleratedFailureCount

ToleratedFailureCount.

Number of failed items to tolerate in a Map Run, as static number

Returns:

  • (Numeric, nil)


256
257
258
# File 'step_functions/distributed_map_props.rb', line 256

def tolerated_failure_count
  @tolerated_failure_count
end

#tolerated_failure_count_pathString? (readonly)

Note:

Default: - No toleratedFailureCountPath

ToleratedFailureCountPath.

Number of failed items to tolerate in a Map Run, as JsonPath

Returns:

  • (String, nil)


263
264
265
# File 'step_functions/distributed_map_props.rb', line 263

def tolerated_failure_count_path
  @tolerated_failure_count_path
end

#tolerated_failure_percentageNumeric? (readonly)

Note:

Default: - No toleratedFailurePercentage

ToleratedFailurePercentage.

Percentage of failed items to tolerate in a Map Run, as static number

Returns:

  • (Numeric, nil)


270
271
272
# File 'step_functions/distributed_map_props.rb', line 270

def tolerated_failure_percentage
  @tolerated_failure_percentage
end

#tolerated_failure_percentage_pathString? (readonly)

Note:

Default: - No toleratedFailurePercentagePath

ToleratedFailurePercentagePath.

Percentage of failed items to tolerate in a Map Run, as JsonPath

Returns:

  • (String, nil)


277
278
279
# File 'step_functions/distributed_map_props.rb', line 277

def tolerated_failure_percentage_path
  @tolerated_failure_percentage_path
end

Class Method Details

.jsii_propertiesObject



279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
# File 'step_functions/distributed_map_props.rb', line 279

def self.jsii_properties
  {
    :comment => "comment",
    :query_language => "queryLanguage",
    :state_name => "stateName",
    :assign => "assign",
    :item_selector => "itemSelector",
    :jsonata_item_selector => "jsonataItemSelector",
    :jsonata_max_concurrency => "jsonataMaxConcurrency",
    :max_concurrency => "maxConcurrency",
    :input_path => "inputPath",
    :output_path => "outputPath",
    :items_path => "itemsPath",
    :max_concurrency_path => "maxConcurrencyPath",
    :result_path => "resultPath",
    :result_selector => "resultSelector",
    :outputs => "outputs",
    :items => "items",
    :item_batcher => "itemBatcher",
    :item_reader => "itemReader",
    :label => "label",
    :map_execution_type => "mapExecutionType",
    :result_writer => "resultWriter",
    :result_writer_v2 => "resultWriterV2",
    :tolerated_failure_count => "toleratedFailureCount",
    :tolerated_failure_count_path => "toleratedFailureCountPath",
    :tolerated_failure_percentage => "toleratedFailurePercentage",
    :tolerated_failure_percentage_path => "toleratedFailurePercentagePath",
  }
end

Instance Method Details

#to_jsiiObject



310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
# File 'step_functions/distributed_map_props.rb', line 310

def to_jsii
  result = {}
  result.merge!(super)
  result.merge!({
    "comment" => @comment,
    "queryLanguage" => @query_language,
    "stateName" => @state_name,
    "assign" => @assign,
    "itemSelector" => @item_selector,
    "jsonataItemSelector" => @jsonata_item_selector,
    "jsonataMaxConcurrency" => @jsonata_max_concurrency,
    "maxConcurrency" => @max_concurrency,
    "inputPath" => @input_path,
    "outputPath" => @output_path,
    "itemsPath" => @items_path,
    "maxConcurrencyPath" => @max_concurrency_path,
    "resultPath" => @result_path,
    "resultSelector" => @result_selector,
    "outputs" => @outputs,
    "items" => @items,
    "itemBatcher" => @item_batcher,
    "itemReader" => @item_reader,
    "label" => @label,
    "mapExecutionType" => @map_execution_type,
    "resultWriter" => @result_writer,
    "resultWriterV2" => @result_writer_v2,
    "toleratedFailureCount" => @tolerated_failure_count,
    "toleratedFailureCountPath" => @tolerated_failure_count_path,
    "toleratedFailurePercentage" => @tolerated_failure_percentage,
    "toleratedFailurePercentagePath" => @tolerated_failure_percentage_path,
  })
  result.compact
end