本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS SDKs和工具設定參考
SDKs提供語言特定的 APIs AWS 服務。他們負責成功進行 API 呼叫所需的一些繁重工作,包括身分驗證、重試行為等。為此,SDKs具有靈活的策略,可取得用於請求的登入資料、維護用於每個服務的設定,以及取得用於全域設定的值。
您可以在下列各節中找到組態設定的詳細資訊:
-
AWS SDKs和工具標準化憑證提供者 – 跨多個 SDKs常見登入資料提供者。
-
AWS SDKs和工具標準化功能 – 跨多個 SDKs常見功能。
建立服務用戶端
若要以程式設計方式存取 AWS 服務,SDKs會針對每個 SDK 使用用戶端類別/物件 AWS 服務。例如,如果您的應用程式需要存取 Amazon EC2,您的應用程式會建立 Amazon EC2 用戶端物件以與該服務進行界面。然後,您可以使用 服務用戶端向該用戶端提出請求 AWS 服務。在大多數 SDKs 中,服務用戶端物件是不可變的,因此您必須為您提出請求的每個服務建立新的用戶端,並使用不同的組態對相同的服務提出請求。
設定優先順序
全域設定可設定大多數 SDKs 支援的功能、登入資料提供者和其他功能,並具有廣泛的影響 AWS 服務。所有 SDKs都有一系列位置 (或來源) 進行檢查,以尋找全域設定的值。以下是設定查詢優先順序:
-
程式碼中或服務用戶端本身上設定的任何明確設定,都優先於任何其他設定。
-
某些設定可以根據每個操作進行設定,也可以視需要為您叫用的每個操作進行變更。對於 AWS CLI 或 AWS Tools for PowerShell,這些採用您在命令列中輸入的每個操作參數形式。對於 SDK,明確指派可以採用您在執行個體化 AWS 服務 用戶端或組態物件時設定的參數形式,或者有時當您呼叫個別 API 時。
-
-
僅限 Java/Kotlin:會檢查設定的 JVM 系統屬性。如果已設定,該值會用來設定用戶端。
-
檢查 環境變數。如果已設定,該值會用來設定用戶端。
-
軟體開發套件會檢查共用
credentials
檔案是否有設定。如果已設定,用戶端會使用它。 -
設定的共用
config
檔案。如果設定存在,則 SDK 會使用它。-
AWS_PROFILE
環境變數或aws.profile
JVM 系統屬性可用來指定 SDK 載入的設定檔。
-
-
任何 SDK 原始碼本身提供的預設值都會最後使用。
注意
有些 SDKs和工具可能會以不同的順序進行檢查。此外,某些 SDKs和工具支援其他儲存和擷取參數的方法。例如, AWS SDK for .NET 支援稱為 SDK Store 的其他來源。如需 SDK 或工具唯一供應商的詳細資訊,請參閱您正在使用之 SDK 或工具的特定指南。
順序會決定哪些方法優先並覆寫其他方法。例如,如果您在共用config
檔案中設定設定檔,則只有在 SDK 或工具先檢查其他位置之後,才會找到和使用它。這表示,如果您在 credentials
檔案中放置設定,則會使用該設定,而不是在 config
檔案中找到的設定。如果您使用設定和值設定環境變數,它會覆寫 credentials
和 config
檔案中的該設定。最後,個別操作 (AWS CLI 命令列參數或 API 參數) 或程式碼中的設定會覆寫該命令的所有其他值。
了解本指南的設定頁面
本指南的設定參考區段中的頁面詳細說明可透過各種機制設定的可用設定。以下資料表列出組態和登入資料檔案設定、環境變數,以及 (適用於 Java 和 Kotlin SDKs) 可在程式碼外部用來設定功能的 JVM 設定。每個清單中的每個連結主題都會帶您前往對應的設定頁面。
每個登入資料提供者或功能都有一個頁面,其中會列出用於設定該功能的設定。對於每個設定,您通常可以透過將設定新增至組態檔案,或設定環境變數,或 (僅適用於 Java 和 Kotlin) 設定 JVM 系統屬性來設定值。每個設定都會列出在描述詳細資訊上方,在區塊中設定值的所有支援方法。雖然優先順序有所不同,但無論如何設定,產生的功能都相同。
描述將包含預設值,如果有的話,如果不執行任何動作,就會生效。它也會定義該設定的有效值。
例如,讓我們從請求壓縮功能頁面查看設定。
disable_request_compression
範例設定的資訊會記錄下列項目:
-
控制程式碼庫外部的請求壓縮有三種同等的方式。您可擇一方法:
-
使用 在組態檔案中設定
disable_request_compression
-
使用 將其設定為環境變數
AWS_DISABLE_REQUEST_COMPRESSION
-
或者,如果您使用的是 Java 或 Kotlin SDK,請使用 將其設定為 JVM 系統屬性
aws.disableRequestCompression
注意
也可能有方法可以直接在您的程式碼中設定相同的功能,但此參考不會涵蓋此項目,因為它對每個 SDK 都是唯一的。如果您想要在程式碼本身中設定組態,請參閱您的特定 SDK 指南或 API 參考。
-
-
如果您不採取任何動作,值會預設為
false
。 -
此布林值設定的唯一有效值為
true
和false
。
在每個功能頁面的底部都有 Support AWS SDKs和工具資料表。
此資料表顯示您的 SDK 是否支援頁面上列出的設定。Supported
資料欄使用下列值表示支援層級:
-
Yes
– 開發套件完全支援寫入的設定。 -
Partial
– 支援某些設定,或行為偏離描述。對於Partial
,額外的備註會指出偏差。 -
No
– 不支援任何設定。這不會宣告程式碼中是否可以實現相同的功能;它只會指出不支援列出的外部組態設定。
Config
檔案設定清單
下表中列出的設定可以在共用 AWS config
檔案中指派。它們是全域的,會影響所有 AWS 服務。SDKs和工具也可能支援唯一的設定和環境變數。若要查看僅個別 SDK 或工具支援的設定和環境變數,請參閱該特定 SDK 或工具指南。
設定名稱 | 詳細資訊 |
---|---|
account_id_endpoint_mode
|
帳戶型端點 |
api_versions
|
一般組態設定 |
aws_access_key_id
|
AWS 存取金鑰 |
aws_account_id
|
帳戶型端點 |
aws_secret_access_key
|
AWS 存取金鑰 |
aws_session_token
|
AWS 存取金鑰 |
ca_bundle
|
一般組態設定 |
credential_process
|
程序登入資料提供者 |
credential_source
|
擔任角色登入資料提供者 |
defaults_mode
|
智慧組態預設值 |
disable_request_compression
|
請求壓縮 |
duration_seconds
|
擔任角色登入資料提供者 |
ec2_metadata_service_endpoint
|
IMDS 登入資料提供者 |
ec2_metadata_service_endpoint_mode
|
IMDS 登入資料提供者 |
ec2_metadata_v1_disabled
|
IMDS 登入資料提供者 |
endpoint_discovery_enabled
|
端點探索 |
endpoint_url
|
服務特定的端點 |
external_id
|
擔任角色登入資料提供者 |
ignore_configured_endpoint_urls
|
服務特定的端點 |
max_attempts
|
重試行為 |
metadata_service_num_attempts
|
Amazon EC2 執行個體中繼資料 |
metadata_service_timeout
|
Amazon EC2 執行個體中繼資料 |
mfa_serial
|
擔任角色登入資料提供者 |
output
|
一般組態設定 |
parameter_validation
|
一般組態設定 |
region
|
AWS 區域 |
request_checksum_calculation
|
Amazon S3 的資料完整性保護 |
request_min_compression_size_bytes
|
請求壓縮 |
response_checksum_validation
|
Amazon S3 的資料完整性保護 |
retry_mode
|
重試行為 |
role_arn
|
擔任角色登入資料提供者 |
role_session_name
|
擔任角色登入資料提供者 |
s3_disable_multiregion_access_points
|
Amazon S3 多區域存取點 |
s3_use_arn_region
|
Amazon S3 存取點 |
sdk_ua_app_id
|
應用程式 ID |
source_profile
|
擔任角色登入資料提供者 |
sso_account_id
|
IAM Identity Center 登入資料提供者 |
sso_region
|
IAM Identity Center 登入資料提供者 |
sso_registration_scopes
|
IAM Identity Center 登入資料提供者 |
sso_role_name
|
IAM Identity Center 登入資料提供者 |
sso_start_url
|
IAM Identity Center 登入資料提供者 |
sts_regional_endpoints
|
AWS STS 區域端點 |
use_dualstack_endpoint
|
雙堆疊和 FIPS 端點 |
use_fips_endpoint
|
雙堆疊和 FIPS 端點 |
web_identity_token_file
|
擔任角色登入資料提供者 |
Credentials
檔案設定清單
下表中列出的設定可以在共用 AWS credentials
檔案中指派。它們是全域的,會影響所有人 AWS 服務。SDKs和工具也可能支援唯一的設定和環境變數。若要查看僅個別 SDK 或工具支援的設定和環境變數,請參閱該特定 SDK 或工具指南。
環境變數清單
下表列出大多數 SDKs支援的環境變數。它們是全域的,會影響所有人 AWS 服務。SDKs和工具也可能支援唯一的設定和環境變數。若要查看僅個別 SDK 或工具支援的設定和環境變數,請參閱該特定 SDK 或工具指南。
設定名稱 | 詳細資訊 |
---|---|
AWS_ACCESS_KEY_ID
|
AWS 存取金鑰 |
AWS_ACCOUNT_ID
|
帳戶型端點 |
AWS_ACCOUNT_ID_ENDPOINT_MODE
|
帳戶型端點 |
AWS_CA_BUNDLE
|
一般組態設定 |
AWS_CONFIG_FILE
|
共用 config和 credentials 檔案的位置 |
AWS_CONTAINER_AUTHORIZATION_TOKEN
|
容器憑證提供者 |
AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE
|
容器憑證提供者 |
AWS_CONTAINER_CREDENTIALS_FULL_URI
|
容器憑證提供者 |
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
|
容器憑證提供者 |
AWS_DEFAULTS_MODE
|
智慧組態預設值 |
AWS_DISABLE_REQUEST_COMPRESSION
|
請求壓縮 |
AWS_EC2_METADATA_DISABLED
|
IMDS 登入資料提供者 |
AWS_EC2_METADATA_SERVICE_ENDPOINT
|
IMDS 登入資料提供者 |
AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE
|
IMDS 登入資料提供者 |
AWS_EC2_METADATA_V1_DISABLED
|
IMDS 登入資料提供者 |
AWS_ENABLE_ENDPOINT_DISCOVERY
|
端點探索 |
AWS_ENDPOINT_URL
|
服務特定的端點 |
AWS_ENDPOINT_URL_<SERVICE>
|
服務特定的端點 |
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS
|
服務特定的端點 |
AWS_MAX_ATTEMPTS
|
重試行為 |
AWS_METADATA_SERVICE_NUM_ATTEMPTS
|
Amazon EC2 執行個體中繼資料 |
AWS_METADATA_SERVICE_TIMEOUT
|
Amazon EC2 執行個體中繼資料 |
AWS_PROFILE
|
共用 config 和 credentials 檔案 |
AWS_REGION
|
AWS 區域 |
AWS_REQUEST_CHECKSUM_CALCULATION
|
Amazon S3 的資料完整性保護 |
AWS_REQUEST_MIN_COMPRESSION_SIZE_BYTES
|
請求壓縮 |
AWS_RESPONSE_CHECKSUM_VALIDATION
|
Amazon S3 的資料完整性保護 |
AWS_RETRY_MODE
|
重試行為 |
AWS_ROLE_ARN
|
擔任角色登入資料提供者 |
AWS_ROLE_SESSION_NAME
|
擔任角色登入資料提供者 |
AWS_S3_DISABLE_MULTIREGION_ACCESS_POINTS
|
Amazon S3 多區域存取點 |
AWS_S3_USE_ARN_REGION
|
Amazon S3 存取點 |
AWS_SDK_UA_APP_ID
|
應用程式 ID |
AWS_SECRET_ACCESS_KEY
|
AWS 存取金鑰 |
AWS_SESSION_TOKEN
|
AWS 存取金鑰 |
AWS_SHARED_CREDENTIALS_FILE
|
共用 config和 credentials 檔案的位置 |
AWS_STS_REGIONAL_ENDPOINTS
|
AWS STS 區域端點 |
AWS_USE_DUALSTACK_ENDPOINT
|
雙堆疊和 FIPS 端點 |
AWS_USE_FIPS_ENDPOINT
|
雙堆疊和 FIPS 端點 |
AWS_WEB_IDENTITY_TOKEN_FILE
|
擔任角色登入資料提供者 |
JVM 系統屬性清單
您可以針對 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK (以 JVM 為目標) 使用下列 JVM 系統屬性。如需如何設定 JVM 系統屬性的說明如何設定 JVM 系統屬性,請參閱 。
設定名稱 | 詳細資訊 |
---|---|
aws.accessKeyId
|
AWS 存取金鑰 |
aws.accountId
|
帳戶型端點 |
aws.accountIdEndpointMode
|
帳戶型端點 |
aws.configFile
|
共用 config和 credentials 檔案的位置 |
aws.defaultsMode
|
智慧組態預設值 |
aws.disableEc2MetadataV1
|
IMDS 登入資料提供者 |
aws.disableRequestCompression
|
請求壓縮 |
aws.ec2MetadataServiceEndpoint
|
IMDS 登入資料提供者 |
aws.ec2MetadataServiceEndpointMode
|
IMDS 登入資料提供者 |
aws.endpointDiscoveryEnabled
|
端點探索 |
aws.endpointUrl
|
服務特定的端點 |
aws.endpointUrl<ServiceName>
|
服務特定的端點 |
aws.ignoreConfiguredEndpointUrls
|
服務特定的端點 |
aws.maxAttempts
|
重試行為 |
aws.profile
|
共用 config 和 credentials 檔案 |
aws.region
|
AWS 區域 |
aws.requestChecksumCalculation
|
Amazon S3 的資料完整性保護 |
aws.requestMinCompressionSizeBytes
|
請求壓縮 |
aws.responseChecksumValidation
|
Amazon S3 的資料完整性保護 |
aws.retryMode
|
重試行為 |
aws.roleArn
|
擔任角色登入資料提供者 |
aws.roleSessionName
|
擔任角色登入資料提供者 |
aws.s3DisableMultiRegionAccessPoints
|
Amazon S3 多區域存取點 |
aws.s3UseArnRegion
|
Amazon S3 存取點 |
aws.secretAccessKey
|
AWS 存取金鑰 |
aws.sessionToken
|
AWS 存取金鑰 |
aws.sharedCredentialsFile
|
共用 config和 credentials 檔案的位置 |
aws.useDualstackEndpoint
|
雙堆疊和 FIPS 端點 |
aws.useFipsEndpoint
|
雙堆疊和 FIPS 端點 |
aws.userAgentAppId
|
應用程式 ID |
aws.webIdentityTokenFile
|
擔任角色登入資料提供者 |