[ https://issues.apache.org/jira/browse/FLINK-8267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16575776#comment-16575776 ]
ASF GitHub Bot commented on FLINK-8267: --------------------------------------- bowenli86 closed pull request #5301: [FLINK-8267] [Kinesis Connector] update Kinesis Producer example for setting Region key URL: https://github.com/apache/flink/pull/5301 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/docs/dev/connectors/kinesis.md b/docs/dev/connectors/kinesis.md index 9bcd70a7534..674d0350f1f 100644 --- a/docs/dev/connectors/kinesis.md +++ b/docs/dev/connectors/kinesis.md @@ -271,9 +271,9 @@ For the monitoring to work, the user accessing the stream needs access to the Cl {% highlight java %} Properties producerConfig = new Properties(); // Required configs -producerConfig.put(AWSConfigConstants.AWS_REGION, "us-east-1"); producerConfig.put(AWSConfigConstants.AWS_ACCESS_KEY_ID, "aws_access_key_id"); producerConfig.put(AWSConfigConstants.AWS_SECRET_ACCESS_KEY, "aws_secret_access_key"); +producerConfig.put("Region", "us-east-1"); // Optional configs producerConfig.put("AggregationMaxCount", "4294967295"); producerConfig.put("CollectionMaxCount", "1000"); @@ -297,9 +297,9 @@ simpleStringStream.addSink(kinesis); {% highlight scala %} val producerConfig = new Properties() // Required configs -producerConfig.put(AWSConfigConstants.AWS_REGION, "us-east-1") producerConfig.put(AWSConfigConstants.AWS_ACCESS_KEY_ID, "aws_access_key_id") producerConfig.put(AWSConfigConstants.AWS_SECRET_ACCESS_KEY, "aws_secret_access_key") +producerConfig.put("Region", "us-east-1") // Optional KPL configs producerConfig.put("AggregationMaxCount", "4294967295") producerConfig.put("CollectionMaxCount", "1000") @@ -351,19 +351,19 @@ The following example shows how one might supply the `AWSConfigConstants.AWS_END <div data-lang="java" markdown="1"> {% highlight java %} Properties producerConfig = new Properties(); -producerConfig.put(AWSConfigConstants.AWS_REGION, "us-east-1"); producerConfig.put(AWSConfigConstants.AWS_ACCESS_KEY_ID, "aws_access_key_id"); producerConfig.put(AWSConfigConstants.AWS_SECRET_ACCESS_KEY, "aws_secret_access_key"); producerConfig.put(AWSConfigConstants.AWS_ENDPOINT, "http://localhost:4567"); +producerConfig.put("Region", "us-east-1"); {% endhighlight %} </div> <div data-lang="scala" markdown="1"> {% highlight scala %} val producerConfig = new Properties() -producerConfig.put(AWSConfigConstants.AWS_REGION, "us-east-1") producerConfig.put(AWSConfigConstants.AWS_ACCESS_KEY_ID, "aws_access_key_id") producerConfig.put(AWSConfigConstants.AWS_SECRET_ACCESS_KEY, "aws_secret_access_key") producerConfig.put(AWSConfigConstants.AWS_ENDPOINT, "http://localhost:4567") +producerConfig.put("Region", "us-east-1") {% endhighlight %} </div> </div> ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > update Kinesis Producer example for setting Region key > ------------------------------------------------------ > > Key: FLINK-8267 > URL: https://issues.apache.org/jira/browse/FLINK-8267 > Project: Flink > Issue Type: Bug > Components: Kinesis Connector > Reporter: Dyana Rose > Assignee: Bowen Li > Priority: Minor > > https://ci.apache.org/projects/flink/flink-docs-release-1.4/dev/connectors/kinesis.html#kinesis-producer > In the example code for the kinesis producer the region key is set like: > {code:java} > producerConfig.put(AWSConfigConstants.AWS_REGION, "us-east-1"); > {code} > However, the AWS Kinesis Producer Library requires that the region key be > Region > (https://github.com/awslabs/amazon-kinesis-producer/blob/94789ff4bb2f5dfa05aafe2d8437d3889293f264/java/amazon-kinesis-producer-sample/default_config.properties#L269) > so the setting at this point should be: > {code:java} > producerConfig.put(AWSConfigConstants.AWS_REGION, "us-east-1"); > producerConfig.put("Region", "us-east-1"); > {code} > When you run the Kinesis Producer you can see the effect of not setting the > Region key by a log line > {noformat} > org.apache.flink.streaming.connectors.kinesis.FlinkKinesisProducer - Started > Kinesis producer instance for region '' > {noformat} > The KPL also then assumes it's running on EC2 and attempts to determine it's > own region, which fails. > {noformat} > (EC2MetadataClient)Http request to Ec2MetadataService failed. > [error] [main.cc:266] Could not configure the region. It was not given in the > config and we were unable to retrieve it from EC2 metadata > {noformat} > At the least I'd say the documentation should mention the difference between > these two keys and when you are required to also set the Region key. > On the other hand, is this even the intended behaviour of this connector? Was > it intended that the AWSConfigConstants.AWS_REGION key also set the region of > the of the kinesis stream? The documentation for the example states > {noformat} > The example demonstrates producing a single Kinesis stream in the AWS region > “us-east-1”. > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)