aws-sdk-dynamodbstreams 1.23.0 → 1.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/aws-sdk-dynamodbstreams.rb +1 -1
- data/lib/aws-sdk-dynamodbstreams/attribute_translator.rb +40 -0
- data/lib/aws-sdk-dynamodbstreams/attribute_value.rb +61 -0
- data/lib/aws-sdk-dynamodbstreams/client.rb +7 -1
- data/lib/aws-sdk-dynamodbstreams/client_api.rb +1 -0
- data/lib/aws-sdk-dynamodbstreams/customizations.rb +5 -0
- data/lib/aws-sdk-dynamodbstreams/plugins/simple_attributes.rb +152 -0
- data/lib/aws-sdk-dynamodbstreams/types.rb +92 -44
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b25ccc8b1bcbb5930ccf0c4fc4a4fc9c19822608814b4da4368f7738635cc15
|
4
|
+
data.tar.gz: a7666236432ea4024baa072a22bc8c25a64779e36f89001dce3f73d9625354c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ff3a9a68ff26170d11101de46a8475275db4ef345f79b6e12d6ad21aad9e08114e9c651931e2744941b56223f46e11e5359864590b296c7cf2bb0e640bc32a9
|
7
|
+
data.tar.gz: 3698efd18c17ca973319efa79b2e37297d92d5ec361906e92fe42a2412422a1f44c08e9ea31e9328f7dea4290ce03fbc7773d41c3f645b830572acfc8d3f0020
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Aws
|
2
|
+
module DynamoDBStreams
|
3
|
+
# A utility class that translates DynamoDBStream events from Lambda
|
4
|
+
# functions into their simple attribute equivalents.
|
5
|
+
class AttributeTranslator
|
6
|
+
# Parse a DynamoDBStream event hash from Lambda that contains 1 or more
|
7
|
+
# records. When using the SDK to retrieve DynamoDB stream records, use the
|
8
|
+
# `simple_attributes: true` client option instead.
|
9
|
+
#
|
10
|
+
# @param [Hash] event A DynamoDBStream event.
|
11
|
+
#
|
12
|
+
# @example Parse a DynamoDB stream event from Lambda
|
13
|
+
# def lambda_handler(event:, context:)
|
14
|
+
# records = Aws::DynamoDBStreams::AttributeTranslator.from_event(event)
|
15
|
+
# records.each do |record|
|
16
|
+
# puts record.dynamodb.new_image
|
17
|
+
# # => { "size" => 123, "enabled" => true, ... }
|
18
|
+
# end
|
19
|
+
# end
|
20
|
+
def self.from_event(event)
|
21
|
+
return unless event.is_a?(Hash)
|
22
|
+
|
23
|
+
# TODO: This implementation is slow and inefficient. It would be
|
24
|
+
# better to write a switch-case that has similar logic to AttributeValue
|
25
|
+
# used in the ValueTranslator. This implementation however provides
|
26
|
+
# consistency between both DynamoDB and DynamoDBStreams. The translator
|
27
|
+
# only works with shapes and structs and not a regular Ruby hash.
|
28
|
+
shape_ref = ClientApi::Shapes::ShapeRef.new(
|
29
|
+
shape: ClientApi::GetRecordsOutput
|
30
|
+
)
|
31
|
+
translator = Plugins::SimpleAttributes::ValueTranslator.new(
|
32
|
+
shape_ref, :unmarshal
|
33
|
+
)
|
34
|
+
parser = Aws::Json::Parser.new(shape_ref)
|
35
|
+
input = parser.parse(Aws::Json.dump(event))
|
36
|
+
translator.apply(input).records
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'bigdecimal'
|
4
|
+
require 'stringio'
|
5
|
+
require 'set'
|
6
|
+
|
7
|
+
module Aws
|
8
|
+
module DynamoDBStreams
|
9
|
+
# @api private
|
10
|
+
class AttributeValue
|
11
|
+
|
12
|
+
def initialize
|
13
|
+
@unmarshaler = Unmarshaler.new
|
14
|
+
end
|
15
|
+
|
16
|
+
def unmarshal(value)
|
17
|
+
@unmarshaler.format(value)
|
18
|
+
end
|
19
|
+
|
20
|
+
class Unmarshaler
|
21
|
+
|
22
|
+
def format(obj)
|
23
|
+
type, value = extract_type_and_value(obj)
|
24
|
+
case type
|
25
|
+
when :m
|
26
|
+
value.each.with_object({}) do |(k, v), map|
|
27
|
+
map[k] = format(v)
|
28
|
+
end
|
29
|
+
when :l then value.map { |v| format(v) }
|
30
|
+
when :s then value
|
31
|
+
when :n then BigDecimal(value)
|
32
|
+
when :b then StringIO.new(value)
|
33
|
+
when :null then nil
|
34
|
+
when :bool then value
|
35
|
+
when :ss then Set.new(value)
|
36
|
+
when :ns then Set.new(value.map { |n| BigDecimal(n) })
|
37
|
+
when :bs then Set.new(value.map { |b| StringIO.new(b) })
|
38
|
+
else
|
39
|
+
raise ArgumentError, "unhandled type #{type.inspect}"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
private
|
44
|
+
|
45
|
+
def extract_type_and_value(obj)
|
46
|
+
case obj
|
47
|
+
when Hash then obj.to_a.first
|
48
|
+
when Struct
|
49
|
+
obj.members.each do |key|
|
50
|
+
value = obj[key]
|
51
|
+
return [key, value] unless value.nil?
|
52
|
+
end
|
53
|
+
else
|
54
|
+
raise ArgumentError, "unhandled type #{obj.inspect}"
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -29,6 +29,7 @@ require 'aws-sdk-core/plugins/transfer_encoding.rb'
|
|
29
29
|
require 'aws-sdk-core/plugins/http_checksum.rb'
|
30
30
|
require 'aws-sdk-core/plugins/signature_v4.rb'
|
31
31
|
require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
|
32
|
+
require 'aws-sdk-dynamodbstreams/plugins/simple_attributes.rb'
|
32
33
|
|
33
34
|
Aws::Plugins::GlobalConfiguration.add_identifier(:dynamodbstreams)
|
34
35
|
|
@@ -75,6 +76,7 @@ module Aws::DynamoDBStreams
|
|
75
76
|
add_plugin(Aws::Plugins::HttpChecksum)
|
76
77
|
add_plugin(Aws::Plugins::SignatureV4)
|
77
78
|
add_plugin(Aws::Plugins::Protocols::JsonRpc)
|
79
|
+
add_plugin(Aws::DynamoDBStreams::Plugins::SimpleAttributes)
|
78
80
|
|
79
81
|
# @overload initialize(options)
|
80
82
|
# @param [Hash] options
|
@@ -266,6 +268,10 @@ module Aws::DynamoDBStreams
|
|
266
268
|
#
|
267
269
|
# @option options [String] :session_token
|
268
270
|
#
|
271
|
+
# @option options [Boolean] :simple_attributes (false)
|
272
|
+
# When enabled, returns DynamoDBStream attribute values using
|
273
|
+
# hashes, arrays, sets, integers, floats, booleans, and nil.
|
274
|
+
#
|
269
275
|
# @option options [Boolean] :simple_json (false)
|
270
276
|
# Disables request parameter conversion, validation, and formatting.
|
271
277
|
# Also disable response data type conversions. This option is useful
|
@@ -787,7 +793,7 @@ module Aws::DynamoDBStreams
|
|
787
793
|
params: params,
|
788
794
|
config: config)
|
789
795
|
context[:gem_name] = 'aws-sdk-dynamodbstreams'
|
790
|
-
context[:gem_version] = '1.
|
796
|
+
context[:gem_version] = '1.28.0'
|
791
797
|
Seahorse::Client::Request.new(handlers, context)
|
792
798
|
end
|
793
799
|
|
@@ -214,6 +214,7 @@ module Aws::DynamoDBStreams
|
|
214
214
|
"jsonVersion" => "1.0",
|
215
215
|
"protocol" => "json",
|
216
216
|
"serviceFullName" => "Amazon DynamoDB Streams",
|
217
|
+
"serviceId" => "DynamoDB Streams",
|
217
218
|
"signatureVersion" => "v4",
|
218
219
|
"signingName" => "dynamodb",
|
219
220
|
"targetPrefix" => "DynamoDBStreams_20120810",
|
@@ -0,0 +1,152 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Aws
|
4
|
+
module DynamoDBStreams
|
5
|
+
module Plugins
|
6
|
+
# Simplifies working with Amazon DynamoDBStreams attribute values.
|
7
|
+
# Translates attribute values from responses to sensible Ruby natives.
|
8
|
+
#
|
9
|
+
# This plugin is disabled by default for all {DynamoDBStreams::Client}
|
10
|
+
# objects. You can enable this plugin by passing
|
11
|
+
# `simple_attributes: false` to the client constructor:
|
12
|
+
#
|
13
|
+
# ddb = Aws::DynamoDBStreams::Client.new(simple_attributes: true)
|
14
|
+
#
|
15
|
+
# ## Output Examples
|
16
|
+
#
|
17
|
+
# With this plugin **enabled**, `simple_attributes: true`:
|
18
|
+
#
|
19
|
+
# resp = dynamodbstreams.get_records(shard_iterator: iterator)
|
20
|
+
# resp.records.first.dynamodb.new_image
|
21
|
+
# {
|
22
|
+
# id: 'uuid',
|
23
|
+
# enabled: true,
|
24
|
+
# tags: #<Set: {"attributes", "simple"}>,
|
25
|
+
# data: #<StringIO:0x00007fe4061e6bc0>,
|
26
|
+
# scores: [0.1e1, 0.2e1, 0.3e1, nil],
|
27
|
+
# name: {
|
28
|
+
# first: 'John',
|
29
|
+
# last: 'Doe',
|
30
|
+
# }
|
31
|
+
# }
|
32
|
+
#
|
33
|
+
# With this plugin **disabled**, `simple_attributes: false`:
|
34
|
+
#
|
35
|
+
# resp = dynamodbstreams.get_records(shard_iterator: iterator)
|
36
|
+
# resp.records.first.dynamodb.new_image
|
37
|
+
# {
|
38
|
+
# "id"=> <struct s='uuid', n=nil, b=nil, ss=nil, ns=nil, bs=nil, m=nil, l=nil, null=nil, bool=nil>
|
39
|
+
# "enabled"=> <struct s=nil, n=nil, b=nil, ss=nil, ns=nil, bs=nil, m=nil, l=nil, null=nil, bool=true>
|
40
|
+
# ...
|
41
|
+
# }
|
42
|
+
#
|
43
|
+
class SimpleAttributes < Seahorse::Client::Plugin
|
44
|
+
|
45
|
+
option(:simple_attributes,
|
46
|
+
default: false,
|
47
|
+
doc_type: 'Boolean',
|
48
|
+
docstring: <<-DOCS
|
49
|
+
When enabled, returns DynamoDBStream attribute values using
|
50
|
+
hashes, arrays, sets, integers, floats, booleans, and nil.
|
51
|
+
DOCS
|
52
|
+
)
|
53
|
+
|
54
|
+
def add_handlers(handlers, config)
|
55
|
+
if config.simple_attributes
|
56
|
+
handlers.add(Handler, step: :initialize, operations: [:get_records])
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
class Handler < Seahorse::Client::Handler
|
61
|
+
|
62
|
+
def call(context)
|
63
|
+
@handler.call(context).on(200) do |response|
|
64
|
+
response.data = translate_output(response)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
private
|
69
|
+
|
70
|
+
def translate_output(response)
|
71
|
+
if shape = response.context.operation.output
|
72
|
+
ValueTranslator.new(shape, :unmarshal).apply(response.data)
|
73
|
+
else
|
74
|
+
response.data
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
79
|
+
|
80
|
+
# @api private
|
81
|
+
class ValueTranslator
|
82
|
+
|
83
|
+
include Seahorse::Model::Shapes
|
84
|
+
|
85
|
+
def self.apply(rules, mode, data)
|
86
|
+
new(rules, mode).apply(data)
|
87
|
+
end
|
88
|
+
|
89
|
+
def initialize(rules, mode)
|
90
|
+
@rules = rules
|
91
|
+
@mode = mode
|
92
|
+
end
|
93
|
+
|
94
|
+
def apply(values)
|
95
|
+
structure(@rules, values) if @rules
|
96
|
+
end
|
97
|
+
|
98
|
+
private
|
99
|
+
|
100
|
+
def structure(ref, values)
|
101
|
+
shape = ref.shape
|
102
|
+
if values.is_a?(Struct)
|
103
|
+
values.members.each.with_object(values.class.new) do |key, st|
|
104
|
+
st[key] = translate(shape.member(key), values[key])
|
105
|
+
end
|
106
|
+
elsif values.is_a?(Hash)
|
107
|
+
values.each.with_object({}) do |(key, value), hash|
|
108
|
+
hash[key] = translate(shape.member(key), value)
|
109
|
+
end
|
110
|
+
else
|
111
|
+
values
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
def list(ref, values)
|
116
|
+
return values unless values.is_a?(Array)
|
117
|
+
member_ref = ref.shape.member
|
118
|
+
values.inject([]) do |list, value|
|
119
|
+
list << translate(member_ref, value)
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
def map(ref, values)
|
124
|
+
return values unless values.is_a?(Hash)
|
125
|
+
value_ref = ref.shape.value
|
126
|
+
values.each.with_object({}) do |(key, value), hash|
|
127
|
+
hash[key] = translate(value_ref, value)
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
def translate(ref, value)
|
132
|
+
if ClientApi::AttributeValue === ref.shape
|
133
|
+
AttributeValue.new.send(@mode, value)
|
134
|
+
else
|
135
|
+
translate_complex(ref, value)
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
def translate_complex(ref, value)
|
140
|
+
case ref.shape
|
141
|
+
when StructureShape then structure(ref, value)
|
142
|
+
when ListShape then list(ref, value)
|
143
|
+
when MapShape then map(ref, value)
|
144
|
+
else value
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
@@ -10,53 +10,86 @@
|
|
10
10
|
module Aws::DynamoDBStreams
|
11
11
|
module Types
|
12
12
|
|
13
|
-
# Represents the data for an attribute.
|
14
|
-
# of the elements.
|
13
|
+
# Represents the data for an attribute.
|
15
14
|
#
|
16
|
-
# Each attribute
|
17
|
-
#
|
18
|
-
#
|
19
|
-
#
|
20
|
-
#
|
15
|
+
# Each attribute value is described as a name-value pair. The name is
|
16
|
+
# the data type, and the value is the data itself.
|
17
|
+
#
|
18
|
+
# For more information, see [Data Types][1] in the *Amazon DynamoDB
|
19
|
+
# Developer Guide*.
|
20
|
+
#
|
21
|
+
#
|
22
|
+
#
|
23
|
+
# [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes
|
21
24
|
#
|
22
25
|
# @!attribute [rw] s
|
23
|
-
#
|
26
|
+
# An attribute of type String. For example:
|
27
|
+
#
|
28
|
+
# `"S": "Hello"`
|
24
29
|
# @return [String]
|
25
30
|
#
|
26
31
|
# @!attribute [rw] n
|
27
|
-
#
|
32
|
+
# An attribute of type Number. For example:
|
33
|
+
#
|
34
|
+
# `"N": "123.45"`
|
35
|
+
#
|
36
|
+
# Numbers are sent across the network to DynamoDB as strings, to
|
37
|
+
# maximize compatibility across languages and libraries. However,
|
38
|
+
# DynamoDB treats them as number type attributes for mathematical
|
39
|
+
# operations.
|
28
40
|
# @return [String]
|
29
41
|
#
|
30
42
|
# @!attribute [rw] b
|
31
|
-
#
|
43
|
+
# An attribute of type Binary. For example:
|
44
|
+
#
|
45
|
+
# `"B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"`
|
32
46
|
# @return [String]
|
33
47
|
#
|
34
48
|
# @!attribute [rw] ss
|
35
|
-
#
|
49
|
+
# An attribute of type String Set. For example:
|
50
|
+
#
|
51
|
+
# `"SS": ["Giraffe", "Hippo" ,"Zebra"]`
|
36
52
|
# @return [Array<String>]
|
37
53
|
#
|
38
54
|
# @!attribute [rw] ns
|
39
|
-
#
|
55
|
+
# An attribute of type Number Set. For example:
|
56
|
+
#
|
57
|
+
# `"NS": ["42.2", "-19", "7.5", "3.14"]`
|
58
|
+
#
|
59
|
+
# Numbers are sent across the network to DynamoDB as strings, to
|
60
|
+
# maximize compatibility across languages and libraries. However,
|
61
|
+
# DynamoDB treats them as number type attributes for mathematical
|
62
|
+
# operations.
|
40
63
|
# @return [Array<String>]
|
41
64
|
#
|
42
65
|
# @!attribute [rw] bs
|
43
|
-
#
|
66
|
+
# An attribute of type Binary Set. For example:
|
67
|
+
#
|
68
|
+
# `"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]`
|
44
69
|
# @return [Array<String>]
|
45
70
|
#
|
46
71
|
# @!attribute [rw] m
|
47
|
-
#
|
72
|
+
# An attribute of type Map. For example:
|
73
|
+
#
|
74
|
+
# `"M": \{"Name": \{"S": "Joe"\}, "Age": \{"N": "35"\}\}`
|
48
75
|
# @return [Hash<String,Types::AttributeValue>]
|
49
76
|
#
|
50
77
|
# @!attribute [rw] l
|
51
|
-
#
|
78
|
+
# An attribute of type List. For example:
|
79
|
+
#
|
80
|
+
# `"L": [ \{"S": "Cookies"\} , \{"S": "Coffee"\}, \{"N", "3.14159"\}]`
|
52
81
|
# @return [Array<Types::AttributeValue>]
|
53
82
|
#
|
54
83
|
# @!attribute [rw] null
|
55
|
-
#
|
84
|
+
# An attribute of type Null. For example:
|
85
|
+
#
|
86
|
+
# `"NULL": true`
|
56
87
|
# @return [Boolean]
|
57
88
|
#
|
58
89
|
# @!attribute [rw] bool
|
59
|
-
#
|
90
|
+
# An attribute of type Boolean. For example:
|
91
|
+
#
|
92
|
+
# `"BOOL": true`
|
60
93
|
# @return [Boolean]
|
61
94
|
#
|
62
95
|
# @see http://docs.aws.amazon.com/goto/WebAPI/streams-dynamodb-2012-08-10/AttributeValue AWS API Documentation
|
@@ -311,30 +344,37 @@ module Aws::DynamoDBStreams
|
|
311
344
|
# attributes of an index.
|
312
345
|
#
|
313
346
|
# A `KeySchemaElement` represents exactly one attribute of the primary
|
314
|
-
# key. For example, a simple primary key
|
315
|
-
#
|
316
|
-
#
|
317
|
-
#
|
318
|
-
#
|
319
|
-
# <note markdown="1"> The partition key of an item is also known as its *hash attribute*.
|
320
|
-
# The term "hash attribute" derives from DynamoDB's usage of an
|
321
|
-
# internal hash function to evenly distribute data items across
|
322
|
-
# partitions, based on their partition key values.
|
323
|
-
#
|
324
|
-
# The sort key of an item is also known as its *range attribute*. The
|
325
|
-
# term "range attribute" derives from the way DynamoDB stores items
|
326
|
-
# with the same partition key physically close together, in sorted order
|
327
|
-
# by the sort key value.
|
347
|
+
# key. For example, a simple primary key would be represented by one
|
348
|
+
# `KeySchemaElement` (for the partition key). A composite primary key
|
349
|
+
# would require one `KeySchemaElement` for the partition key, and
|
350
|
+
# another `KeySchemaElement` for the sort key.
|
328
351
|
#
|
329
|
-
#
|
352
|
+
# A `KeySchemaElement` must be a scalar, top-level attribute (not a
|
353
|
+
# nested attribute). The data type must be one of String, Number, or
|
354
|
+
# Binary. The attribute cannot be nested within a List or a Map.
|
330
355
|
#
|
331
356
|
# @!attribute [rw] attribute_name
|
332
357
|
# The name of a key attribute.
|
333
358
|
# @return [String]
|
334
359
|
#
|
335
360
|
# @!attribute [rw] key_type
|
336
|
-
# The
|
337
|
-
#
|
361
|
+
# The role that this key attribute will assume:
|
362
|
+
#
|
363
|
+
# * `HASH` - partition key
|
364
|
+
#
|
365
|
+
# * `RANGE` - sort key
|
366
|
+
#
|
367
|
+
# <note markdown="1"> The partition key of an item is also known as its *hash attribute*.
|
368
|
+
# The term "hash attribute" derives from DynamoDB's usage of an
|
369
|
+
# internal hash function to evenly distribute data items across
|
370
|
+
# partitions, based on their partition key values.
|
371
|
+
#
|
372
|
+
# The sort key of an item is also known as its *range attribute*. The
|
373
|
+
# term "range attribute" derives from the way DynamoDB stores items
|
374
|
+
# with the same partition key physically close together, in sorted
|
375
|
+
# order by the sort key value.
|
376
|
+
#
|
377
|
+
# </note>
|
338
378
|
# @return [String]
|
339
379
|
#
|
340
380
|
# @see http://docs.aws.amazon.com/goto/WebAPI/streams-dynamodb-2012-08-10/KeySchemaElement AWS API Documentation
|
@@ -346,16 +386,20 @@ module Aws::DynamoDBStreams
|
|
346
386
|
include Aws::Structure
|
347
387
|
end
|
348
388
|
|
349
|
-
#
|
350
|
-
#
|
351
|
-
# successful, unless your retry queue is too large to finish. Reduce the
|
352
|
-
# frequency of requests and use exponential backoff. For more
|
353
|
-
# information, go to [Error Retries and Exponential Backoff][1] in the
|
354
|
-
# *Amazon DynamoDB Developer Guide*.
|
389
|
+
# There is no limit to the number of daily on-demand backups that can be
|
390
|
+
# taken.
|
355
391
|
#
|
392
|
+
# Up to 50 simultaneous table operations are allowed per account. These
|
393
|
+
# operations include `CreateTable`, `UpdateTable`,
|
394
|
+
# `DeleteTable`,`UpdateTimeToLive`, `RestoreTableFromBackup`, and
|
395
|
+
# `RestoreTableToPointInTime`.
|
356
396
|
#
|
397
|
+
# The only exception is when you are creating a table with one or more
|
398
|
+
# secondary indexes. You can have up to 25 such requests running at a
|
399
|
+
# time; however, if the table or index specifications are complex,
|
400
|
+
# DynamoDB might temporarily reduce the number of concurrent operations.
|
357
401
|
#
|
358
|
-
#
|
402
|
+
# There is a soft account quota of 256 tables.
|
359
403
|
#
|
360
404
|
# @!attribute [rw] message
|
361
405
|
# Too many operations for a given subscriber.
|
@@ -506,7 +550,9 @@ module Aws::DynamoDBStreams
|
|
506
550
|
include Aws::Structure
|
507
551
|
end
|
508
552
|
|
509
|
-
# The operation tried to access a nonexistent
|
553
|
+
# The operation tried to access a nonexistent table or index. The
|
554
|
+
# resource might not be specified correctly, or its status might not be
|
555
|
+
# `ACTIVE`.
|
510
556
|
#
|
511
557
|
# @!attribute [rw] message
|
512
558
|
# The resource which is being requested does not exist.
|
@@ -524,11 +570,13 @@ module Aws::DynamoDBStreams
|
|
524
570
|
# contained within a shard.
|
525
571
|
#
|
526
572
|
# @!attribute [rw] starting_sequence_number
|
527
|
-
# The first sequence number
|
573
|
+
# The first sequence number for the stream records contained within a
|
574
|
+
# shard. String contains numeric characters only.
|
528
575
|
# @return [String]
|
529
576
|
#
|
530
577
|
# @!attribute [rw] ending_sequence_number
|
531
|
-
# The last sequence number
|
578
|
+
# The last sequence number for the stream records contained within a
|
579
|
+
# shard. String contains numeric characters only.
|
532
580
|
# @return [String]
|
533
581
|
#
|
534
582
|
# @see http://docs.aws.amazon.com/goto/WebAPI/streams-dynamodb-2012-08-10/SequenceNumberRange AWS API Documentation
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sdk-dynamodbstreams
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.28.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Amazon Web Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '3'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 3.
|
22
|
+
version: 3.112.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: '3'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 3.
|
32
|
+
version: 3.112.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: aws-sigv4
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,10 +53,13 @@ extensions: []
|
|
53
53
|
extra_rdoc_files: []
|
54
54
|
files:
|
55
55
|
- lib/aws-sdk-dynamodbstreams.rb
|
56
|
+
- lib/aws-sdk-dynamodbstreams/attribute_translator.rb
|
57
|
+
- lib/aws-sdk-dynamodbstreams/attribute_value.rb
|
56
58
|
- lib/aws-sdk-dynamodbstreams/client.rb
|
57
59
|
- lib/aws-sdk-dynamodbstreams/client_api.rb
|
58
60
|
- lib/aws-sdk-dynamodbstreams/customizations.rb
|
59
61
|
- lib/aws-sdk-dynamodbstreams/errors.rb
|
62
|
+
- lib/aws-sdk-dynamodbstreams/plugins/simple_attributes.rb
|
60
63
|
- lib/aws-sdk-dynamodbstreams/resource.rb
|
61
64
|
- lib/aws-sdk-dynamodbstreams/types.rb
|
62
65
|
homepage: https://github.com/aws/aws-sdk-ruby
|