Files
canvas-lms/script/tail_kinesis
Cody Cutrer 1d3d9ed499 rubocop: fix miscelleneuos violations in prep of bumping rubocop
Change-Id: I9d37303737f00d6e022cb8fc08726e293a7336ab
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315166
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2023-04-12 19:26:13 +00:00

38 lines
761 B
Ruby
Executable File

#!/usr/bin/env ruby
# frozen_string_literal: true
require File.expand_path("../config/boot", __dir__)
require "aws-sdk-kinesis"
require "json"
ENDPOINT = ARGV[0]
STREAM_NAME = ARGV[1]
REGION = ARGV[2]
@kinesis = Aws::Kinesis::Client.new(
access_key_id: "key",
secret_access_key: "secret",
endpoint: ENDPOINT,
region: REGION || "us-east-1"
)
res = @kinesis.get_shard_iterator(
stream_name: STREAM_NAME,
shard_id: "shardId-000000000000",
shard_iterator_type: "TRIM_HORIZON"
)
iterator = res.data[:shard_iterator]
loop do
res = @kinesis.get_records(shard_iterator: iterator)
res.data[:records].each do |record|
body = record[:data]
pp JSON.parse(body)
puts "---"
end
iterator = res.data[:next_shard_iterator]
sleep 1
end