Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save diego-ojeda-binbash/a7a4ccd746ccadf75c3ebe255df9df0e to your computer and use it in GitHub Desktop.
Save diego-ojeda-binbash/a7a4ccd746ccadf75c3ebe255df9df0e to your computer and use it in GitHub Desktop.
Temp-Kotlin-S3-ListBuckets
import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider
import software.amazon.awssdk.regions.Region
import software.amazon.awssdk.services.s3.S3Client
import software.amazon.awssdk.services.s3.model.ListBucketsRequest
import software.amazon.awssdk.services.s3.model.S3Exception
fun main() {
val region = Region.US_EAST_1 // Change to your desired AWS region
val credentialsProvider = ProfileCredentialsProvider.create() // Uses the default AWS credentials profile
val s3Client = S3Client.builder()
.region(region)
.credentialsProvider(credentialsProvider)
.build()
try {
val listBucketsRequest = ListBucketsRequest.builder().build()
val listBucketsResponse = s3Client.listBuckets(listBucketsRequest)
println("Buckets:")
listBucketsResponse.buckets().forEach { bucket ->
println("- ${bucket.name()}")
}
} catch (e: S3Exception) {
println("Failed to list S3 buckets: ${e.awsErrorDetails().errorMessage()}")
} finally {
s3Client.close()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment