| 3590 | // Top-level utility functions |
| 3591 | |
| 3592 | Result<std::string> ResolveS3BucketRegion(const std::string& bucket) { |
| 3593 | RETURN_NOT_OK(CheckS3Initialized()); |
| 3594 | |
| 3595 | if (bucket.empty() || bucket.find_first_of(kSep) != bucket.npos || |
| 3596 | internal::IsLikelyUri(bucket)) { |
| 3597 | return Status::Invalid("Not a valid bucket name: '", bucket, "'"); |
| 3598 | } |
| 3599 | |
| 3600 | ARROW_ASSIGN_OR_RAISE(auto resolver, RegionResolver::DefaultInstance()); |
| 3601 | return resolver->ResolveRegion(bucket); |
| 3602 | } |
| 3603 | |
| 3604 | auto kS3FileSystemModule = ARROW_REGISTER_FILESYSTEM( |
| 3605 | "s3", |