

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS SDKs和工具設定參考
<a name="settings-reference"></a>

SDKs提供特定語言APIs AWS 服務。他們負責成功進行 API 呼叫所需的一些繁重工作，包括身分驗證、重試行為等。為此，SDKs具有靈活的策略，以取得用於請求的登入資料、維護用於每個服務的設定，以及取得用於全域設定的值。

您可以在以下章節中找到組態設定的詳細資訊：
+ [AWS SDKs和工具標準化登入資料提供者](standardized-credentials.md) – 跨多個 SDKs常見登入資料提供者。
+ [AWS SDKs和工具標準化功能](standardized-features.md) – 跨多個 SDKs常見功能。

## 建立服務用戶端
<a name="creatingServiceClients"></a>

 若要以程式設計方式存取 AWS 服務，SDKs會針對每個 SDK 使用用戶端類別/物件 AWS 服務。例如，如果您的應用程式需要存取 Amazon EC2，您的應用程式會建立 Amazon EC2 用戶端物件以與該服務連接。然後，您可以使用 服務用戶端向該用戶端提出請求 AWS 服務。在大多數 SDKs 中，服務用戶端物件是不可變的，因此您必須為您提出請求的每個服務建立新的用戶端，並使用不同的組態對相同的服務提出請求。

## 設定的優先順序
<a name="precedenceOfSettings"></a>

全域設定可設定大多數 SDKs 支援且具有廣泛影響的功能、登入資料提供者和其他功能 AWS 服務。所有 SDKs 都有一系列位置 （或來源） 進行檢查，以尋找全域設定的值。以下是設定查詢優先順序：

1. 在程式碼中或服務用戶端本身上設定的任何明確設定，都優先於任何其他設定。
   + 某些設定可以根據每個操作進行設定，也可以視需要為您叫用的每個操作進行變更。對於 AWS CLI 或 AWS Tools for PowerShell，這些採用您在命令列中輸入的每個操作參數形式。對於 SDK，明確指派可以採用您在執行個體化 AWS 服務 用戶端或組態物件時設定的參數形式，或者有時當您呼叫個別 API 時。

1. 僅限 Java/Kotlin：會檢查設定的 JVM 系統屬性。如果已設定，則會使用該值來設定用戶端。

1. 檢查 環境變數。如果已設定，則會使用該值來設定用戶端。

1. SDK 會檢查 設定的共用`credentials`檔案。如果已設定，用戶端會使用它。

1. 設定的共用`config`檔案。如果設定存在，則 SDK 會使用它。
   + `AWS_PROFILE` 環境變數或 `aws.profile` JVM 系統屬性可用來指定 SDK 載入的設定檔。

1. 開發套件原始碼本身提供的任何預設值都會最後使用。

**注意**  
有些 SDKs和工具可能會以不同的順序進行檢查。此外，某些 SDKs和工具支援其他儲存和擷取參數的方法。例如， 適用於 .NET 的 AWS SDK 支援稱為 [SDK Store](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/sdk-store.html) 的其他來源。如需開發套件或工具唯一提供者的詳細資訊，請參閱您正在使用之開發套件或工具的特定指南。

順序會決定哪些方法優先並覆寫其他方法。例如，如果您在共用`config`檔案中設定設定檔，只有在軟體開發套件或工具先檢查其他位置之後，才會找到並使用它。這表示如果您在 `credentials` 檔案中放置設定，則會使用該設定，而不是在 `config` 檔案中找到的設定。如果您使用 設定和值設定環境變數，它會覆寫 `credentials`和 `config` 檔案中的設定。最後，個別操作 (AWS CLI 命令列參數或 API 參數） 或程式碼中的設定會覆寫該命令的所有其他值。

## 了解本指南的設定頁面
<a name="settingsPages"></a>

本指南**的設定參考**區段中的頁面詳細說明了可透過各種機制設定的可用設定。下表列出組態和登入資料檔案設定、環境變數，以及 （適用於 Java 和 Kotlin SDKs) 可在程式碼外部用來設定功能的 JVM 設定。每個清單中的每個連結主題都會帶您前往對應的設定頁面。
+ [`Config` 檔案設定清單](#ConfigFileSettings)
+ [`Credentials` 檔案設定清單](#CredFileSettings)
+ [環境變數清單](#EVarSettings)
+ [JVM 系統屬性清單](#JVMSettings)



 每個登入資料提供者或功能都有一個頁面，其中會列出用於設定該功能的設定。對於每個設定，您通常可以透過將 設定新增至組態檔案，或透過設定環境變數，或 （僅適用於 Java 和 Kotlin) 透過設定 JVM 系統屬性來設定值。每個設定都會列出所有支援的方法來設定描述詳細資訊上方區塊中的值。雖然[優先順序](#precedenceOfSettings)不同，但無論如何設定，產生的功能都相同。

描述將包含預設值，如果有的話，如果不執行任何動作就會生效。它也會定義該設定的有效值。

 例如，讓我們從[請求壓縮](feature-compression.md)功能頁面查看設定。

`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` 檔案設定清單
<a name="ConfigFileSettings"></a>

下表列出的設定可以在共用 AWS `config`檔案中指派。它們是全域的，會影響所有 AWS 服務。SDKs和工具也可能支援唯一的設定和環境變數。若要查看僅個別 SDK 或工具支援的設定和環境變數，請參閱該特定 SDK 或工具指南。


| 設定名稱 | 詳細資訊 | 
| --- | --- | 
|  account\_id\_endpoint\_mode  | [帳戶型端點](feature-account-endpoints.md)  | 
|  api\_versions  | [一般組態設定](feature-gen-config.md)  | 
|  auth\_scheme\_preference  | [身分驗證機制](feature-auth-scheme.md)  | 
|  aws\_access\_key\_id  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  aws\_account\_id  | [帳戶型端點](feature-account-endpoints.md)  | 
|  aws\_secret\_access\_key  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  aws\_session\_token  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  ca\_bundle  | [一般組態設定](feature-gen-config.md)  | 
|  credential\_process  | [程序登入資料提供者](feature-process-credentials.md)  | 
|  credential\_source  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  defaults\_mode  | [智慧組態預設值](feature-smart-config-defaults.md)  | 
|  disable\_host\_prefix\_injection  | [主機字首注入](feature-host-prefix.md)  | 
|  disable\_request\_compression  | [請求壓縮](feature-compression.md)  | 
|  duration\_seconds  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  ec2\_metadata\_service\_endpoint  | [IMDS 登入資料提供者](feature-imds-credentials.md)  | 
|  ec2\_metadata\_service\_endpoint\_mode  | [IMDS 登入資料提供者](feature-imds-credentials.md)  | 
|  ec2\_metadata\_v1\_disabled  | [IMDS 登入資料提供者](feature-imds-credentials.md)  | 
|  endpoint\_discovery\_enabled  | [端點探索](feature-endpoint-discovery.md)  | 
|  endpoint\_url  | [服務特定的端點](feature-ss-endpoints.md)  | 
|  external\_id  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  ignore\_configured\_endpoint\_urls  | [服務特定的端點](feature-ss-endpoints.md)  | 
|  max\_attempts  | [重試行為](feature-retry-behavior.md)  | 
|  metadata\_service\_num\_attempts  | [Amazon EC2 執行個體中繼資料](feature-ec2-instance-metadata.md)  | 
|  metadata\_service\_timeout  | [Amazon EC2 執行個體中繼資料](feature-ec2-instance-metadata.md)  | 
|  mfa\_serial  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  output  | [一般組態設定](feature-gen-config.md)  | 
|  parameter\_validation  | [一般組態設定](feature-gen-config.md)  | 
|  region  | [AWS 區域](feature-region.md)  | 
|  request\_checksum\_calculation  | [Amazon S3 的資料完整性保護](feature-dataintegrity.md)  | 
|  request\_min\_compression\_size\_bytes  | [請求壓縮](feature-compression.md)  | 
|  response\_checksum\_validation  | [Amazon S3 的資料完整性保護](feature-dataintegrity.md)  | 
|  retry\_mode  | [重試行為](feature-retry-behavior.md)  | 
|  role\_arn  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  role\_session\_name  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  s3\_disable\_express\_session\_auth  | [S3 Express One Zone 工作階段身分驗證](feature-s3-express.md)  | 
|  s3\_disable\_multiregion\_access\_points  | [Amazon S3 多區域存取點](feature-s3-mrap.md)  | 
|  s3\_use\_arn\_region  | [Amazon S3 存取點](feature-s3-access-point.md)  | 
|  sdk\_ua\_app\_id  | [應用程式 ID](feature-appid.md)  | 
|  sigv4a\_signing\_region\_set  | [身分驗證機制](feature-auth-scheme.md)  | 
|  source\_profile  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  sso\_account\_id  | [IAM Identity Center 憑證提供者](feature-sso-credentials.md)  | 
|  sso\_region  | [IAM Identity Center 憑證提供者](feature-sso-credentials.md)  | 
|  sso\_registration\_scopes  | [IAM Identity Center 憑證提供者](feature-sso-credentials.md)  | 
|  sso\_role\_name  | [IAM Identity Center 憑證提供者](feature-sso-credentials.md)  | 
|  sso\_start\_url  | [IAM Identity Center 憑證提供者](feature-sso-credentials.md)  | 
|  sts\_regional\_endpoints  | [AWS STS 區域端點](feature-sts-regionalized-endpoints.md)  | 
|  use\_dualstack\_endpoint  | [雙堆疊和 FIPS 端點](feature-endpoints.md)  | 
|  use\_fips\_endpoint  | [雙堆疊和 FIPS 端點](feature-endpoints.md)  | 
|  web\_identity\_token\_file  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 

## `Credentials` 檔案設定清單
<a name="CredFileSettings"></a>

下表列出的設定可以在共用 AWS `credentials`檔案中指派。它們是全域的，會影響所有 AWS 服務。SDKs和工具也可能支援唯一的設定和環境變數。若要查看僅個別 SDK 或工具支援的設定和環境變數，請參閱該特定 SDK 或工具指南。


| 設定名稱 | 詳細資訊 | 
| --- | --- | 
|  aws\_access\_key\_id  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  aws\_secret\_access\_key  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  aws\_session\_token  | [AWS 存取金鑰](feature-static-credentials.md)  | 

## 環境變數清單
<a name="EVarSettings"></a>

下表列出大多數 SDKs支援的環境變數。它們是全域的，會影響所有人 AWS 服務。SDKs和工具也可能支援唯一的設定和環境變數。若要查看僅個別 SDK 或工具支援的設定和環境變數，請參閱該特定 SDK 或工具指南。


| 設定名稱 | 詳細資訊 | 
| --- | --- | 
|  AWS\_ACCESS\_KEY\_ID  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  AWS\_ACCOUNT\_ID  | [帳戶型端點](feature-account-endpoints.md)  | 
|  AWS\_ACCOUNT\_ID\_ENDPOINT\_MODE  | [帳戶型端點](feature-account-endpoints.md)  | 
|  AWS\_AUTH\_SCHEME\_PREFERENCE  | [身分驗證機制](feature-auth-scheme.md)  | 
|  AWS\_CA\_BUNDLE  | [一般組態設定](feature-gen-config.md)  | 
|  AWS\_CONFIG\_FILE  | [尋找和變更共用 `config` 和 AWS SDKs 和工具`credentials`檔案的位置](file-location.md)  | 
|  AWS\_CONTAINER\_AUTHORIZATION\_TOKEN  | [容器憑證提供者](feature-container-credentials.md)  | 
|  AWS\_CONTAINER\_AUTHORIZATION\_TOKEN\_FILE  | [容器憑證提供者](feature-container-credentials.md)  | 
|  AWS\_CONTAINER\_CREDENTIALS\_FULL\_URI  | [容器憑證提供者](feature-container-credentials.md)  | 
|  AWS\_CONTAINER\_CREDENTIALS\_RELATIVE\_URI  | [容器憑證提供者](feature-container-credentials.md)  | 
|  AWS\_DEFAULTS\_MODE  | [智慧組態預設值](feature-smart-config-defaults.md)  | 
|  AWS\_DISABLE\_HOST\_PREFIX\_INJECTION  | [主機字首注入](feature-host-prefix.md)  | 
|  AWS\_DISABLE\_REQUEST\_COMPRESSION  | [請求壓縮](feature-compression.md)  | 
|  AWS\_EC2\_METADATA\_DISABLED  | [IMDS 登入資料提供者](feature-imds-credentials.md)  | 
|  AWS\_EC2\_METADATA\_SERVICE\_ENDPOINT  | [IMDS 登入資料提供者](feature-imds-credentials.md)  | 
|  AWS\_EC2\_METADATA\_SERVICE\_ENDPOINT\_MODE  | [IMDS 登入資料提供者](feature-imds-credentials.md)  | 
|  AWS\_EC2\_METADATA\_V1\_DISABLED  | [IMDS 登入資料提供者](feature-imds-credentials.md)  | 
|  AWS\_ENABLE\_ENDPOINT\_DISCOVERY  | [端點探索](feature-endpoint-discovery.md)  | 
|  AWS\_ENDPOINT\_URL  | [服務特定的端點](feature-ss-endpoints.md)  | 
|  AWS\_ENDPOINT\_URL\_<SERVICE>  | [服務特定的端點](feature-ss-endpoints.md)  | 
|  AWS\_IGNORE\_CONFIGURED\_ENDPOINT\_URLS  | [服務特定的端點](feature-ss-endpoints.md)  | 
|  AWS\_MAX\_ATTEMPTS  | [重試行為](feature-retry-behavior.md)  | 
|  AWS\_METADATA\_SERVICE\_NUM\_ATTEMPTS  | [Amazon EC2 執行個體中繼資料](feature-ec2-instance-metadata.md)  | 
|  AWS\_METADATA\_SERVICE\_TIMEOUT  | [Amazon EC2 執行個體中繼資料](feature-ec2-instance-metadata.md)  | 
|  AWS\_PROFILE  | [使用共用 `config`和 `credentials` 檔案來全域設定 AWS SDKs和工具](file-format.md)  | 
|  AWS\_REGION  | [AWS 區域](feature-region.md)  | 
|  AWS\_REQUEST\_CHECKSUM\_CALCULATION  | [Amazon S3 的資料完整性保護](feature-dataintegrity.md)  | 
|  AWS\_REQUEST\_MIN\_COMPRESSION\_SIZE\_BYTES  | [請求壓縮](feature-compression.md)  | 
|  AWS\_RESPONSE\_CHECKSUM\_VALIDATION  | [Amazon S3 的資料完整性保護](feature-dataintegrity.md)  | 
|  AWS\_RETRY\_MODE  | [重試行為](feature-retry-behavior.md)  | 
|  AWS\_ROLE\_ARN  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  AWS\_ROLE\_SESSION\_NAME  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  AWS\_S3\_DISABLE\_EXPRESS\_SESSION\_AUTH  | [S3 Express One Zone 工作階段身分驗證](feature-s3-express.md)  | 
|  AWS\_S3\_DISABLE\_MULTIREGION\_ACCESS\_POINTS  | [Amazon S3 多區域存取點](feature-s3-mrap.md)  | 
|  AWS\_S3\_USE\_ARN\_REGION  | [Amazon S3 存取點](feature-s3-access-point.md)  | 
|  AWS\_SDK\_UA\_APP\_ID  | [應用程式 ID](feature-appid.md)  | 
|  AWS\_SECRET\_ACCESS\_KEY  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  AWS\_SESSION\_TOKEN  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  AWS\_SHARED\_CREDENTIALS\_FILE  | [尋找和變更 AWS SDKs `config` 和工具的共用和`credentials`檔案的位置](file-location.md)  | 
|  AWS\_SIGV4A\_SIGNING\_REGION\_SET  | [身分驗證機制](feature-auth-scheme.md)  | 
|  AWS\_STS\_REGIONAL\_ENDPOINTS  | [AWS STS 區域端點](feature-sts-regionalized-endpoints.md)  | 
|  AWS\_USE\_DUALSTACK\_ENDPOINT  | [雙堆疊和 FIPS 端點](feature-endpoints.md)  | 
|  AWS\_USE\_FIPS\_ENDPOINT  | [雙堆疊和 FIPS 端點](feature-endpoints.md)  | 
|  AWS\_WEB\_IDENTITY\_TOKEN\_FILE  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 

## JVM 系統屬性清單
<a name="JVMSettings"></a>

您可以針對 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK （以 JVM 為目標） 使用下列 JVM 系統屬性。如需如何設定 JVM 系統屬性的說明[如何設定 JVM 系統屬性](jvm-system-properties.md#jvm-sys-props-set)，請參閱 。


| 設定名稱 | 詳細資訊 | 
| --- | --- | 
|  aws.accessKeyId  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  aws.accountId  | [帳戶型端點](feature-account-endpoints.md)  | 
|  aws.accountIdEndpointMode  | [帳戶型端點](feature-account-endpoints.md)  | 
|  aws.authSchemePreference  | [身分驗證機制](feature-auth-scheme.md)  | 
|  aws.configFile  | [尋找和變更共用和 AWS SDKs `config`和工具`credentials`檔案的位置](file-location.md)  | 
|  aws.defaultsMode  | [智慧組態預設值](feature-smart-config-defaults.md)  | 
|  aws.disableEc2MetadataV1  | [IMDS 登入資料提供者](feature-imds-credentials.md)  | 
|  aws.disableHostPrefixInjection  | [主機字首注入](feature-host-prefix.md)  | 
|  aws.disableRequestCompression  | [請求壓縮](feature-compression.md)  | 
|  aws.disableS3ExpressAuth  | [S3 Express One Zone 工作階段身分驗證](feature-s3-express.md)  | 
|  aws.ec2MetadataServiceEndpoint  | [IMDS 登入資料提供者](feature-imds-credentials.md)  | 
|  aws.ec2MetadataServiceEndpointMode  | [IMDS 登入資料提供者](feature-imds-credentials.md)  | 
|  aws.endpointDiscoveryEnabled  | [端點探索](feature-endpoint-discovery.md)  | 
|  aws.endpointUrl  | [服務特定的端點](feature-ss-endpoints.md)  | 
|  aws.endpointUrl<ServiceName>  | [服務特定的端點](feature-ss-endpoints.md)  | 
|  aws.ignoreConfiguredEndpointUrls  | [服務特定的端點](feature-ss-endpoints.md)  | 
|  aws.maxAttempts  | [重試行為](feature-retry-behavior.md)  | 
|  aws.profile  | [使用共用 `config`和 `credentials` 檔案來全域設定 AWS SDKs和工具](file-format.md)  | 
|  aws.region  | [AWS 區域](feature-region.md)  | 
|  aws.requestChecksumCalculation  | [Amazon S3 的資料完整性保護](feature-dataintegrity.md)  | 
|  aws.requestMinCompressionSizeBytes  | [請求壓縮](feature-compression.md)  | 
|  aws.responseChecksumValidation  | [Amazon S3 的資料完整性保護](feature-dataintegrity.md)  | 
|  aws.retryMode  | [重試行為](feature-retry-behavior.md)  | 
|  aws.roleArn  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  aws.roleSessionName  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  aws.s3DisableMultiRegionAccessPoints  | [Amazon S3 多區域存取點](feature-s3-mrap.md)  | 
|  aws.s3UseArnRegion  | [Amazon S3 存取點](feature-s3-access-point.md)  | 
|  aws.secretAccessKey  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  aws.sessionToken  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  aws.sharedCredentialsFile  | [尋找和變更 AWS SDKs `config` 和工具的共用和`credentials`檔案的位置](file-location.md)  | 
|  aws.useDualstackEndpoint  | [雙堆疊和 FIPS 端點](feature-endpoints.md)  | 
|  aws.useFipsEndpoint  | [雙堆疊和 FIPS 端點](feature-endpoints.md)  | 
|  aws.webIdentityTokenFile  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  sdk.ua.appId  | [應用程式 ID](feature-appid.md)  | 