Я пытаюсь обработать aws s3, помещенный в корзину, с помощью простой строки, я не смог сделать это с помощью alpakka (scala), но я могу обработать тот же запрос, используя aws java sdk
Используя alpakka, мой поток просто зависает, ничего не обрабатывая, Future.onComplete не запускается
Я пытался указать файл конфигурации аплакки следующим образом (метки «*» охватывают конфиденциальные данные):
alpakka.s3 {
aws {
credentials {
provider = static
access-key-id = "********"
secret-access-key = "********"
}
region {
provider = static
default-region = "*****"
}
}
}
У меня есть ~/.aws/credentials на моей машине правильно, я могу подключиться как к aws sdk, так и к aws cli
Как я понимаю, в идеале я могу вообще не указывать никаких кредитов apakka.s3, как в aws java sdk
> Я уже ознакомился с этой статьей https://discuss.lightbend.com/t/alpakka-s3-connection-issue/6551/2 ничего не помогло
Мой пример — это scala-код для StrenghForward из документации:
val file: Source[ByteString, NotUsed] =
Source.single(ByteString(body))
val s3Sink: Sink[ByteString, Future[MultipartUploadResult]] =
S3.multipartUpload(bucket, bucketKey)
val result: Future[MultipartUploadResult] =
file.runWith(s3Sink)
но на самом деле мне также нужно, чтобы мой источник был InputStream
val source: Source[ByteString, Future[IOResult]] = StreamConverters.fromInputStream(() => is, 4096)
PS: на самом деле я не понимаю, зачем мне нужно указывать какой-то хост вот так:endpoint-url = "http://localhost:9000"