Class: Awful::Streams
- Inherits:
-
Cli
- Object
- Thor
- Cli
- Awful::Streams
show all
- Defined in:
- lib/awful/dynamodb_streams.rb
Instance Method Summary
collapse
Methods inherited from Cli
#initialize
Constructor Details
This class inherits a constructor from Awful::Cli
Instance Method Details
#dump(arn) ⇒ Object
32
33
34
35
36
|
# File 'lib/awful/dynamodb_streams.rb', line 32
def dump(arn)
streams.describe_stream(stream_arn: arn).stream_description.tap do |stream|
puts YAML.dump(stringify_keys(stream.to_hash))
end
end
|
#get_records(arn, shard_id) ⇒ Object
46
47
48
49
50
51
52
|
# File 'lib/awful/dynamodb_streams.rb', line 46
def get_records(arn, shard_id)
iterator = streams.get_shard_iterator(stream_arn: arn, shard_id: shard_id, shard_iterator_type: 'TRIM_HORIZON').shard_iterator
streams.get_records(shard_iterator: iterator).records.tap do |records|
print_table records.map { |r| [r.event_id, r.event_name, r.dynamodb.sequence_number, r.dynamodb.size_bytes] }
end
end
|
#ls(table_name = nil, exclusive_start_stream_arn = nil) ⇒ Object
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/awful/dynamodb_streams.rb', line 11
def ls(table_name = nil, exclusive_start_stream_arn = nil)
response = streams.list_streams(
table_name: table_name,
exclusive_start_stream_arn: exclusive_start_stream_arn
)
streams = response.streams
if options[:long]
print_table streams.map{ |s| [s.table_name, s.stream_arn] }.sort
else
puts streams.map(&:stream_arn)
end
streams += ls(table_name, response.last_evaluated_stream_arn) if response.last_evaluated_stream_arn
streams
end
|
#shards(arn) ⇒ Object
39
40
41
42
43
|
# File 'lib/awful/dynamodb_streams.rb', line 39
def shards(arn)
streams.describe_stream(stream_arn: arn).stream_description.shards.tap do |shards|
puts shards.map(&:shard_id)
end
end
|