Kinesis putrecord引发无法解组异常

问题描述

我正在尝试使用以下代码片段在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

在此之后,我做了以下更改:

  1. 在.bash_profile中添加了export AWS_CBOR_DISABLE=true

  2. 在〜/ .aws / config中添加了以下行:

    cborEnabled = false

即使在此之后,我仍然遇到相同的错误。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...