Scala alpaakka s3 соединяется с результатом множественной загрузки DO Spaces 403

Я пытаюсь настроить загрузку файла akka-http в Digital Ocean Spaces. И у меня проблема с многочастной загрузкой. Я использую alpaakka для потоковой передачи файла непосредственно на s3. Однако я получаю 403 ошибку SignatureDoesNotMatch при загрузке. Но если я пытаюсь загрузить один и тот же файл с простой загрузкой одной части, все работает нормально.

s3Client.putObject(collection, key, file, 1, s3Headers = S3Headers(Seq())) //works fine 

file.runWith(s3Client.multipartUpload(collection, key)) // gets 403 and throws No Etag exists in response 

Многокомпонентная загрузка успешно инициирует запрос, и подпись действительна, но когда он пытается выполнить фактическую загрузку части, я получаю 403.

Кто-нибудь пробовал это с DO? Я изменил разные настройки, как я настраиваю клиента (с прокси, с конечной точкой), но результат все тот же.

//with Proxy
val proxy = Option(Proxy(url, port, "https"))
val settings = new S3Settings(MemoryBufferType, proxy, awsCredentialsProvider, regionProvider, true, None)//Some(s"https://$url")
val s3Client = new S3Client(settings)(system, materializer)

//without
val proxy = Option(Proxy(url, port, "https"))
val settings = new S3Settings(MemoryBufferType, None, awsCredentialsProvider, regionProvider, true, Some($url))
val s3Client = new S3Client(settings)(system, materializer)

Спасибо за помощь.

0 ответов

Другие вопросы по тегам