问题描述
我正在尝试使用以下代码片段在Kinesis中创建记录:
AmazonKinesisClientBuilder clientBuilder = AmazonKinesisClientBuilder.standard();
clientBuilder.setCredentials(new EnvironmentVariableCredentialsProvider());
clientBuilder.setEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(
"http://localhost:4568",Regions.US_WEST_2.getName()));
AmazonKinesis kinesisClient = clientBuilder.build();
PutRecordRequest putRecordRequest = new PutRecordRequest();
putRecordRequest.setStreamName("test");
putRecordRequest.setData(ByteBuffer.wrap(String.format("testData-%d",1).getBytes()));
putRecordRequest.setPartitionKey(String.format("partitionKey-%d",1));
kinesisClient.putRecord(putRecordRequest);
但是,我在日志中收到以下错误:
Unable to unmarshall exception response with the unmarshallers provided (Service: AmazonKinesis; Status Code: 502; Error Code: null; Request ID: null)
在我的pom.xml中,相关的依赖项如下:
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-hibernate5</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-hppc</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-afterburner</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jdk8</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-csv</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-cbor</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-kinesis</artifactId>
<version>1.11.863</version>
</dependency>
我不知道如何解决此问题。谁能帮忙吗?
编辑:
我正在通过本地堆栈运行Kinesis。在localstack端,出现以下错误:
2020-09-17T14:34:42:ERROR:localstack.services.generic_proxy: Error forwarding request: 'utf-8' codec can't decode byte 0xbf in position 0: invalid start byte Traceback (most recent call last):
File "/opt/code/localstack/localstack/services/generic_proxy.py",line 247,in forward
listener_result = listener.forward_request(method=method,File "/opt/code/localstack/localstack/services/kinesis/kinesis_listener.py",line 28,in forward_request
data = json.loads(to_str(data or '{}'))
File "/opt/code/localstack/localstack/utils/common.py",line 735,in to_str
return obj.decode(encoding,errors) if isinstance(obj,six.binary_type) else obj
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbf in position 0: invalid start byte
在此扩展中,我经历了以下过程:Getting an AmazonKinesisException Status Code: 502 when using LocalStack from Java
在此之后,我做了以下更改:
-
在.bash_profile中添加了
export AWS_CBOR_DISABLE=true
-
在〜/ .aws / config中添加了以下行:
cborEnabled = false
即使在此之后,我仍然遇到相同的错误。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)