Схема URI endpointOverride не должна быть нулевой AWS S3 SDK в Android

#android #amazon-s3

#Android #amazon-s3

Вопрос:

Я пытаюсь использовать облачное хранилище wasabi с использованием aws s3 sdk, но я получаю схему URI endpointOverride, которая не должна быть нулевым исключением. Вот мой код. Как я могу решить проблему?

 private val AMAZON_S3_CLIENT: S3Client = S3Client.builder()
    .endpointOverride(URI(Config.SERVICE_END_POINT))
    .region(Region.US_EAST_1)
    .credentialsProvider(
        StaticCredentialsProvider.create(
            AwsBasicCredentials.create(
                Config.AWS_ACCESS_KEY,
                Config.AWS_SECRET_KEY
            )
        )
    )
    .build()
  

Ответ №1:

Я только что столкнулся с тем же исключением, используя AWS Java SDK 2 с DynamoDB.

 java.lang.NullPointerException: The URI scheme of endpointOverride must not be null
  

Как указано в исключении, схема в URI of endpointOverride отсутствует.
Я ранее использовал "dynamodb.eu-central-1.amazonaws.com" .
Добавление схемы решило проблему.

 "https://dynamodb.eu-central-1.amazonaws.com"
  

Ответ №2:

Это правильно. вы должны добавить конечную точку с помощью https://

Мы используем приложение Flink Kinesis Analytics для чтения из KDS и записи в экземпляр Timestream.

В Flink при создании требуемого объекта TimestreamSink в Java для записи во Timestream есть свойство, которое необходимо установить bet при использовании службы конечных точек VPC.

TimestreamSinkConfig.builder().endpointOverride(endpointOverride)

изначально у меня был endpointOverride как null, когда я не использовал конечную точку VPC, и это работало нормально.

Когда мы реализовали конечную точку VPC с конечной точкой

ingest-cell1.timestream.region.amazonaws.com

это не сработало, и изначально не было очевидно, почему, поскольку в документации это явно не указано.

Когда я использовал https://ingest-cell1.timestream.region.amazonaws.com (где region — это наш регион AWS, а cell1 — ячейка временного потока) процесс Flink смог выполнить запись во временной поток, как и ожидалось.