Получение кода состояния AmazonKinesisException: 502 при использовании LocalStack из Java - PullRequest
0 голосов
/ 10 июня 2019

Я пишу интеграционные тесты, используя 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()```

I get a 502 every time.  Everything works fine for S3, it's just the Kinesis service that's giving me trouble.   Has anyone seen anything like this?

1 Ответ

0 голосов
/ 03 июля 2019

У меня была похожая проблема при подключении Kinesis через локальный стек локально.Я использовал библиотеку Java SDK v2.

Основная причина

По умолчанию кинезалит не поддерживает CBOR и должен быть отключен для его запуска.Интернет затоплен флагами для отключения CBOR, но ни один из них не работал для меня.

Вы должны сделать две вещи:

  1. Установить переменную окружения AWS_CBOR_DISABLE=true, чтобы сообщить localstack , чтобы прекратить использование
  2. Установить переменную среды aws.cborEnabled=false сказать AWS SDK о прекращении его использования.

В моем случае я застрял с флагом SDK, который указан в software.amazon.awssdk.core.SdkSystemSetting

...