繁体   English   中英

从 Java 使用 LocalStack 时获取 AmazonKinesisException 状态代码:502

[英]Getting an AmazonKinesisException Status Code: 502 when using LocalStack from Java

我正在使用 LocalStack 编写集成测试来模拟我对 Kinesis 的调用。 我创建了一个 Kinesis 客户端,但是当我尝试在 Kinesis 上放置记录时出现错误:

com.amazonaws.services.kinesis.model.AmazonKinesisException: null (Service: AmazonKinesis; Status Code: 502; Error Code: null; Request ID: null)

我尝试使用以下方法禁用 CBOR 和证书检查:

System.setProperty(SDKGlobalConfiguration.DISABLE_CERT_CHECKING_SYSTEM_PROPERTY, "false");

System.setProperty(SDKGlobalConfiguration.AWS_CBOR_DISABLE_SYSTEM_PROPERTY, "true");

我以这种方式构建客户端:

.withEndpointConfiguration(localstack.getEndpointConfiguration(LocalStackContainer.Service.KINESIS))
.withCredentials(localstack.getDefaultCredentialsProvider())
.build()

我每次都收到502。 S3 一切正常,只是 Kinesis 服务给我带来了麻烦。 有没有人见过这样的事情?

我在本地通过 localstack 连接 Kinesis 时遇到了类似的问题。 我正在使用 v2 SDK java 库。

根本原因

默认情况下,kinesalite 不支持 CBOR,应该禁用它以使其运行。 互联网上充斥着禁用 CBOR 的标志,但没有一个对我有用。

你必须做两件事:

  1. 设置环境AWS_CBOR_DISABLE=true以告诉localstack停止使用
  2. 设置环境aws.cborEnabled=false以告诉AWS 开发工具包停止使用它。

就我而言,我坚持使用software.amazon.awssdk.core.SdkSystemSetting引用的 SDK 标志

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM