-
Notifications
You must be signed in to change notification settings - Fork 467
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Multiple multi-lang edits to introduce logging and additional tests.
+ added `ENDPOINT_REGION` nested key for a simpler Cx experience + deduplicated, and improved, logic w.r.t. CredentialsProvider construction to NOT swallow Exceptions
- Loading branch information
Showing
9 changed files
with
243 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
93 changes: 93 additions & 0 deletions
93
amazon-kinesis-client-multilang/src/main/resources/multilang.properties
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
# The script that abides by the multi-language protocol. This script will | ||
# be executed by the MultiLangDaemon, which will communicate with this script | ||
# over STDIN and STDOUT according to the multi-language protocol. | ||
executableName = sample_kclpy_app.py | ||
|
||
# The Stream arn: arn:aws:kinesis:<region>:<account id>:stream/<stream name> | ||
# Important: streamArn takes precedence over streamName if both are set | ||
streamArn = arn:aws:kinesis:us-east-5:000000000000:stream/kclpysample | ||
|
||
# The name of an Amazon Kinesis stream to process. | ||
# Important: streamArn takes precedence over streamName if both are set | ||
streamName = kclpysample | ||
|
||
# Used by the KCL as the name of this application. Will be used as the name | ||
# of an Amazon DynamoDB table which will store the lease and checkpoint | ||
# information for workers with this application name | ||
applicationName = MultiLangTest | ||
|
||
# Users can change the credentials provider the KCL will use to retrieve credentials. | ||
# The DefaultAWSCredentialsProviderChain checks several other providers, which is | ||
# described here: | ||
# http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html | ||
AWSCredentialsProvider = DefaultAWSCredentialsProviderChain | ||
|
||
# Appended to the user agent of the KCL. Does not impact the functionality of the | ||
# KCL in any other way. | ||
processingLanguage = python/3.8 | ||
|
||
# Valid options at TRIM_HORIZON or LATEST. | ||
# See http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html#API_GetShardIterator_RequestSyntax | ||
initialPositionInStream = TRIM_HORIZON | ||
|
||
# To specify an initial timestamp from which to start processing records, please specify timestamp value for 'initiatPositionInStreamExtended', | ||
# and uncomment below line with right timestamp value. | ||
# See more from 'Timestamp' under http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html#API_GetShardIterator_RequestSyntax | ||
#initialPositionInStreamExtended = 1636609142 | ||
|
||
# The following properties are also available for configuring the KCL Worker that is created | ||
# by the MultiLangDaemon. | ||
|
||
# The KCL defaults to us-east-1 | ||
regionName = us-east-1 | ||
|
||
# Fail over time in milliseconds. A worker which does not renew it's lease within this time interval | ||
# will be regarded as having problems and it's shards will be assigned to other workers. | ||
# For applications that have a large number of shards, this msy be set to a higher number to reduce | ||
# the number of DynamoDB IOPS required for tracking leases | ||
#failoverTimeMillis = 10000 | ||
|
||
# A worker id that uniquely identifies this worker among all workers using the same applicationName | ||
# If this isn't provided a MultiLangDaemon instance will assign a unique workerId to itself. | ||
#workerId = | ||
|
||
# Shard sync interval in milliseconds - e.g. wait for this long between shard sync tasks. | ||
#shardSyncIntervalMillis = 60000 | ||
|
||
# Max records to fetch from Kinesis in a single GetRecords call. | ||
#maxRecords = 10000 | ||
|
||
# Idle time between record reads in milliseconds. | ||
#idleTimeBetweenReadsInMillis = 1000 | ||
|
||
# Enables applications flush/checkpoint (if they have some data "in progress", but don't get new data for while) | ||
#callProcessRecordsEvenForEmptyRecordList = false | ||
|
||
# Interval in milliseconds between polling to check for parent shard completion. | ||
# Polling frequently will take up more DynamoDB IOPS (when there are leases for shards waiting on | ||
# completion of parent shards). | ||
#parentShardPollIntervalMillis = 10000 | ||
|
||
# Cleanup leases upon shards completion (don't wait until they expire in Kinesis). | ||
# Keeping leases takes some tracking/resources (e.g. they need to be renewed, assigned), so by default we try | ||
# to delete the ones we don't need any longer. | ||
#cleanupLeasesUponShardCompletion = true | ||
|
||
# Backoff time in milliseconds for Amazon Kinesis Client Library tasks (in the event of failures). | ||
#taskBackoffTimeMillis = 500 | ||
|
||
# Buffer metrics for at most this long before publishing to CloudWatch. | ||
#metricsBufferTimeMillis = 10000 | ||
|
||
# Buffer at most this many metrics before publishing to CloudWatch. | ||
#metricsMaxQueueSize = 10000 | ||
|
||
# KCL will validate client provided sequence numbers with a call to Amazon Kinesis before checkpointing for calls | ||
# to RecordProcessorCheckpointer#checkpoint(String) by default. | ||
#validateSequenceNumberBeforeCheckpointing = true | ||
|
||
# The maximum number of active threads for the MultiLangDaemon to permit. | ||
# If a value is provided then a FixedThreadPool is used with the maximum | ||
# active threads set to the provided value. If a non-positive integer or no | ||
# value is provided a CachedThreadPool is used. | ||
#maxActiveThreads = 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.