Amazon S3 access points
The Amazon S3 service provides access points as an alternative way to interact with Amazon S3 buckets. Access points have unique policies
and configurations that can be applied to them instead of directly to the bucket. With AWS SDKs, you can use access point Amazon
Resource Names (ARNs) in the bucket field for API operations instead of specifying the bucket name explicitly. They are used for
specific operations such as using an access point ARN with GetObject
to fetch an object from a bucket, or using an access point ARN with PutObject
to add an object to a
bucket.
To learn more about Amazon S3 access points and ARNs, see Using access points in the Amazon S3 User Guide.
Configure this functionality by using the following:
s3_use_arn_region
- shared AWSconfig
file settingAWS_S3_USE_ARN_REGION
- environment variableaws.s3UseArnRegion
- JVM system property: Java/Kotlin only- To configure value directly in code, consult your specific SDK directly.
-
This setting controls whether the SDK uses the access point ARN AWS Region to construct the Regional endpoint for the request. The SDK validates that the ARN AWS Region is served by the same AWS partition as the client's configured AWS Region to prevent cross-partition calls that most likely will fail. If multiply defined, the code-configured setting takes precedence, followed by the environment variable setting.
Default value:
false
Valid values:
-
true
– The SDK uses the ARN's AWS Region when constructing the endpoint instead of the client's configured AWS Region. Exception: If the client's configured AWS Region is a FIPS AWS Region, then it must match the ARN's AWS Region. Otherwise, an error will result. -
false
– The SDK uses the client's configured AWS Region when constructing the endpoint.
-
Compatibility with AWS SDKs
The following SDKs support the features and settings described in this topic. Any partial exceptions are noted. Any JVM system property settings are supported by the AWS SDK for Java and the AWS SDK for Kotlin only.
SDK | Supported | Notes or more information |
---|---|---|
AWS CLI v2 | Yes | |
SDK for C++ | Yes | |
SDK for Go V2 (1.x) |
Yes | |
SDK for Go 1.x (V1) | Yes | To use shared config file settings, you must turn on loading from the config file; see Sessions. |
SDK for Java 2.x | Yes | |
SDK for Java 1.x | Yes | JVM system property not supported. |
SDK for JavaScript 3.x | Yes | |
SDK for JavaScript 2.x | Yes | |
SDK for Kotlin | Yes | |
SDK for .NET 3.x | Yes | Doesn’t follow standard precedence; shared config file value takes precedence over environment variable. |
SDK for PHP 3.x | Yes | |
SDK for Python (Boto3) |
Yes | |
SDK for Ruby 3.x | Yes | |
SDK for Rust | No | |
SDK for Swift | No | |
Tools for PowerShell | Yes | Doesn’t follow standard precedence; shared config file value takes precedence over environment variable. |