AWS S3: NoSuchBucketException when calling createMultipartUpload

294 Views Asked by At

I created the bucket before invoking S3AsyncClient.createMultipartUpload, but it still throws NoSuchBucketException:

private suspend fun initMultipartUpload(): CreateMultipartUploadResponse {

    val ifExists = bucketExists(s3TargetClient, s3Bucket)  // true

    val initRequest = CreateMultipartUploadRequest.builder()
        .bucket(s3Bucket)
        .key(s3Key)
        .build()

    return s3TargetClient.createMultipartUpload(initRequest).await()  // throws NoSuchBucketException: The specified bucket does not exist
}

private fun bucketExists(s3Client: S3AsyncClient, bucketName: String): Boolean {
    runCatching {
        s3Client.headBucket(
            HeadBucketRequest.builder()
                .bucket(bucketName)
                .build()
        )
        return true
    }.getOrElse {
        return false
    }
}
0

There are 0 best solutions below