40 static constexpr std::string_view
kAccessKeyId =
"s3.access-key-id";
47 "s3.session-token-expires-at-ms";
51 static constexpr std::string_view
kEndpoint =
"s3.endpoint";
55 static constexpr std::string_view
kSslEnabled =
"s3.ssl.enabled";
72inline constexpr std::array<std::string_view, 4>
kS3Schemes = {
"s3",
"s3a",
"s3n",
"oss"};
77 std::string_view right) {
78 constexpr auto lower = [](
char c) {
79 return (c >=
'A' && c <=
'Z') ?
static_cast<char>(c -
'A' +
'a') : c;
81 return std::ranges::equal(left, right,
82 [&](
char a,
char b) {
return lower(a) == lower(b); });
87inline constexpr bool IsS3Scheme(std::string_view scheme) {
88 return std::ranges::any_of(
kS3Schemes, [scheme](std::string_view alias) {
103 const auto delimiter = prefix.find(
"://");
104 return delimiter != std::string_view::npos &&
IsS3Scheme(prefix.substr(0, delimiter));
Arrow-backed IO and data conversion APIs.
Definition arrow_io_util.h:34
constexpr bool IsS3CredentialPrefix(std::string_view prefix)
Return whether a storage credential prefix belongs to S3.
Definition s3_properties.h:99
constexpr std::array< std::string_view, 4 > kS3Schemes
URI schemes served by the Arrow S3 FileIO, lower-case. These schemes share the S3 client implementati...
Definition s3_properties.h:72
constexpr bool EqualsIgnoreAsciiCase(std::string_view left, std::string_view right)
ASCII-only case-insensitive comparison: schemes are ASCII (RFC 3986), and <cctype> is locale-sensitiv...
Definition s3_properties.h:76
constexpr bool IsS3Scheme(std::string_view scheme)
Return whether a URI scheme is S3-compatible; case-insensitive, because scheme routing is.
Definition s3_properties.h:87
S3 configuration property keys for ArrowS3FileIO.
Definition s3_properties.h:36
static constexpr std::string_view kSecretAccessKey
AWS secret access key.
Definition s3_properties.h:42
static constexpr std::string_view kS3Schema
S3 URI scheme.
Definition s3_properties.h:38
static constexpr std::string_view kSocketTimeoutMs
Socket timeout in milliseconds.
Definition s3_properties.h:59
static constexpr std::string_view kDeleteNumThreads
Maximum workers per DeleteFiles call; defaults to the hardware thread count.
Definition s3_properties.h:61
static constexpr std::string_view kSessionToken
AWS session token (for temporary credentials)
Definition s3_properties.h:44
static constexpr std::string_view kPathStyleAccess
Whether to use path-style access (needed for some S3-compatible object stores)
Definition s3_properties.h:53
static constexpr std::string_view kAccessKeyId
AWS access key ID.
Definition s3_properties.h:40
static constexpr std::string_view kConnectTimeoutMs
Connection timeout in milliseconds.
Definition s3_properties.h:57
static constexpr std::string_view kEndpoint
Custom endpoint override (for S3-compatible object stores)
Definition s3_properties.h:51
static constexpr std::string_view kSslEnabled
Whether SSL is enabled.
Definition s3_properties.h:55
static constexpr std::string_view kClientRegion
AWS region, standard Iceberg client property.
Definition s3_properties.h:49
static constexpr std::string_view kSessionTokenExpiresAtMs
Epoch milliseconds at which a vended session token stops being valid.
Definition s3_properties.h:46