

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

# 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\$1id\$1endpoint\$1mode  | [帳戶型端點](feature-account-endpoints.md)  | 
|  api\$1versions  | [一般組態設定](feature-gen-config.md)  | 
|  auth\$1scheme\$1preference  | [身分驗證機制](feature-auth-scheme.md)  | 
|  aws\$1access\$1key\$1id  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  aws\$1account\$1id  | [帳戶型端點](feature-account-endpoints.md)  | 
|  aws\$1secret\$1access\$1key  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  aws\$1session\$1token  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  ca\$1bundle  | [一般組態設定](feature-gen-config.md)  | 
|  credential\$1process  | [程序登入資料提供者](feature-process-credentials.md)  | 
|  credential\$1source  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  defaults\$1mode  | [智慧組態預設值](feature-smart-config-defaults.md)  | 
|  disable\$1host\$1prefix\$1injection  | [主機字首注入](feature-host-prefix.md)  | 
|  disable\$1request\$1compression  | [請求壓縮](feature-compression.md)  | 
|  duration\$1seconds  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  ec2\$1metadata\$1service\$1endpoint  | [IMDS 登入資料提供者](feature-imds-credentials.md)  | 
|  ec2\$1metadata\$1service\$1endpoint\$1mode  | [IMDS 登入資料提供者](feature-imds-credentials.md)  | 
|  ec2\$1metadata\$1v1\$1disabled  | [IMDS 登入資料提供者](feature-imds-credentials.md)  | 
|  endpoint\$1discovery\$1enabled  | [端點探索](feature-endpoint-discovery.md)  | 
|  endpoint\$1url  | [服務特定的端點](feature-ss-endpoints.md)  | 
|  external\$1id  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  ignore\$1configured\$1endpoint\$1urls  | [服務特定的端點](feature-ss-endpoints.md)  | 
|  max\$1attempts  | [重試行為](feature-retry-behavior.md)  | 
|  metadata\$1service\$1num\$1attempts  | [Amazon EC2 執行個體中繼資料](feature-ec2-instance-metadata.md)  | 
|  metadata\$1service\$1timeout  | [Amazon EC2 執行個體中繼資料](feature-ec2-instance-metadata.md)  | 
|  mfa\$1serial  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  output  | [一般組態設定](feature-gen-config.md)  | 
|  parameter\$1validation  | [一般組態設定](feature-gen-config.md)  | 
|  region  | [AWS 區域](feature-region.md)  | 
|  request\$1checksum\$1calculation  | [Amazon S3 的資料完整性保護](feature-dataintegrity.md)  | 
|  request\$1min\$1compression\$1size\$1bytes  | [請求壓縮](feature-compression.md)  | 
|  response\$1checksum\$1validation  | [Amazon S3 的資料完整性保護](feature-dataintegrity.md)  | 
|  retry\$1mode  | [重試行為](feature-retry-behavior.md)  | 
|  role\$1arn  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  role\$1session\$1name  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  s3\$1disable\$1express\$1session\$1auth  | [S3 Express One Zone 工作階段身分驗證](feature-s3-express.md)  | 
|  s3\$1disable\$1multiregion\$1access\$1points  | [Amazon S3 多區域存取點](feature-s3-mrap.md)  | 
|  s3\$1use\$1arn\$1region  | [Amazon S3 存取點](feature-s3-access-point.md)  | 
|  sdk\$1ua\$1app\$1id  | [應用程式 ID](feature-appid.md)  | 
|  sigv4a\$1signing\$1region\$1set  | [身分驗證機制](feature-auth-scheme.md)  | 
|  source\$1profile  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  sso\$1account\$1id  | [IAM Identity Center 憑證提供者](feature-sso-credentials.md)  | 
|  sso\$1region  | [IAM Identity Center 憑證提供者](feature-sso-credentials.md)  | 
|  sso\$1registration\$1scopes  | [IAM Identity Center 憑證提供者](feature-sso-credentials.md)  | 
|  sso\$1role\$1name  | [IAM Identity Center 憑證提供者](feature-sso-credentials.md)  | 
|  sso\$1start\$1url  | [IAM Identity Center 憑證提供者](feature-sso-credentials.md)  | 
|  sts\$1regional\$1endpoints  | [AWS STS 區域端點](feature-sts-regionalized-endpoints.md)  | 
|  use\$1dualstack\$1endpoint  | [雙堆疊和 FIPS 端點](feature-endpoints.md)  | 
|  use\$1fips\$1endpoint  | [雙堆疊和 FIPS 端點](feature-endpoints.md)  | 
|  web\$1identity\$1token\$1file  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 

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

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


| 設定名稱 | 詳細資訊 | 
| --- | --- | 
|  aws\$1access\$1key\$1id  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  aws\$1secret\$1access\$1key  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  aws\$1session\$1token  | [AWS 存取金鑰](feature-static-credentials.md)  | 

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

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


| 設定名稱 | 詳細資訊 | 
| --- | --- | 
|  AWS\$1ACCESS\$1KEY\$1ID  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  AWS\$1ACCOUNT\$1ID  | [帳戶型端點](feature-account-endpoints.md)  | 
|  AWS\$1ACCOUNT\$1ID\$1ENDPOINT\$1MODE  | [帳戶型端點](feature-account-endpoints.md)  | 
|  AWS\$1AUTH\$1SCHEME\$1PREFERENCE  | [身分驗證機制](feature-auth-scheme.md)  | 
|  AWS\$1CA\$1BUNDLE  | [一般組態設定](feature-gen-config.md)  | 
|  AWS\$1CONFIG\$1FILE  | [尋找和變更共用 `config` 和 AWS SDKs 和工具`credentials`檔案的位置](file-location.md)  | 
|  AWS\$1CONTAINER\$1AUTHORIZATION\$1TOKEN  | [容器憑證提供者](feature-container-credentials.md)  | 
|  AWS\$1CONTAINER\$1AUTHORIZATION\$1TOKEN\$1FILE  | [容器憑證提供者](feature-container-credentials.md)  | 
|  AWS\$1CONTAINER\$1CREDENTIALS\$1FULL\$1URI  | [容器憑證提供者](feature-container-credentials.md)  | 
|  AWS\$1CONTAINER\$1CREDENTIALS\$1RELATIVE\$1URI  | [容器憑證提供者](feature-container-credentials.md)  | 
|  AWS\$1DEFAULTS\$1MODE  | [智慧組態預設值](feature-smart-config-defaults.md)  | 
|  AWS\$1DISABLE\$1HOST\$1PREFIX\$1INJECTION  | [主機字首注入](feature-host-prefix.md)  | 
|  AWS\$1DISABLE\$1REQUEST\$1COMPRESSION  | [請求壓縮](feature-compression.md)  | 
|  AWS\$1EC2\$1METADATA\$1DISABLED  | [IMDS 登入資料提供者](feature-imds-credentials.md)  | 
|  AWS\$1EC2\$1METADATA\$1SERVICE\$1ENDPOINT  | [IMDS 登入資料提供者](feature-imds-credentials.md)  | 
|  AWS\$1EC2\$1METADATA\$1SERVICE\$1ENDPOINT\$1MODE  | [IMDS 登入資料提供者](feature-imds-credentials.md)  | 
|  AWS\$1EC2\$1METADATA\$1V1\$1DISABLED  | [IMDS 登入資料提供者](feature-imds-credentials.md)  | 
|  AWS\$1ENABLE\$1ENDPOINT\$1DISCOVERY  | [端點探索](feature-endpoint-discovery.md)  | 
|  AWS\$1ENDPOINT\$1URL  | [服務特定的端點](feature-ss-endpoints.md)  | 
|  AWS\$1ENDPOINT\$1URL\$1<SERVICE>  | [服務特定的端點](feature-ss-endpoints.md)  | 
|  AWS\$1IGNORE\$1CONFIGURED\$1ENDPOINT\$1URLS  | [服務特定的端點](feature-ss-endpoints.md)  | 
|  AWS\$1MAX\$1ATTEMPTS  | [重試行為](feature-retry-behavior.md)  | 
|  AWS\$1METADATA\$1SERVICE\$1NUM\$1ATTEMPTS  | [Amazon EC2 執行個體中繼資料](feature-ec2-instance-metadata.md)  | 
|  AWS\$1METADATA\$1SERVICE\$1TIMEOUT  | [Amazon EC2 執行個體中繼資料](feature-ec2-instance-metadata.md)  | 
|  AWS\$1PROFILE  | [使用共用 `config`和 `credentials` 檔案來全域設定 AWS SDKs和工具](file-format.md)  | 
|  AWS\$1REGION  | [AWS 區域](feature-region.md)  | 
|  AWS\$1REQUEST\$1CHECKSUM\$1CALCULATION  | [Amazon S3 的資料完整性保護](feature-dataintegrity.md)  | 
|  AWS\$1REQUEST\$1MIN\$1COMPRESSION\$1SIZE\$1BYTES  | [請求壓縮](feature-compression.md)  | 
|  AWS\$1RESPONSE\$1CHECKSUM\$1VALIDATION  | [Amazon S3 的資料完整性保護](feature-dataintegrity.md)  | 
|  AWS\$1RETRY\$1MODE  | [重試行為](feature-retry-behavior.md)  | 
|  AWS\$1ROLE\$1ARN  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  AWS\$1ROLE\$1SESSION\$1NAME  | [擔任角色登入資料提供者](feature-assume-role-credentials.md)  | 
|  AWS\$1S3\$1DISABLE\$1EXPRESS\$1SESSION\$1AUTH  | [S3 Express One Zone 工作階段身分驗證](feature-s3-express.md)  | 
|  AWS\$1S3\$1DISABLE\$1MULTIREGION\$1ACCESS\$1POINTS  | [Amazon S3 多區域存取點](feature-s3-mrap.md)  | 
|  AWS\$1S3\$1USE\$1ARN\$1REGION  | [Amazon S3 存取點](feature-s3-access-point.md)  | 
|  AWS\$1SDK\$1UA\$1APP\$1ID  | [應用程式 ID](feature-appid.md)  | 
|  AWS\$1SECRET\$1ACCESS\$1KEY  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  AWS\$1SESSION\$1TOKEN  | [AWS 存取金鑰](feature-static-credentials.md)  | 
|  AWS\$1SHARED\$1CREDENTIALS\$1FILE  | [尋找和變更 AWS SDKs `config` 和工具的共用和`credentials`檔案的位置](file-location.md)  | 
|  AWS\$1SIGV4A\$1SIGNING\$1REGION\$1SET  | [身分驗證機制](feature-auth-scheme.md)  | 
|  AWS\$1STS\$1REGIONAL\$1ENDPOINTS  | [AWS STS 區域端點](feature-sts-regionalized-endpoints.md)  | 
|  AWS\$1USE\$1DUALSTACK\$1ENDPOINT  | [雙堆疊和 FIPS 端點](feature-endpoints.md)  | 
|  AWS\$1USE\$1FIPS\$1ENDPOINT  | [雙堆疊和 FIPS 端點](feature-endpoints.md)  | 
|  AWS\$1WEB\$1IDENTITY\$1TOKEN\$1FILE  | [擔任角色登入資料提供者](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)  | 

# AWS SDKs和工具標準化登入資料提供者
<a name="standardized-credentials"></a>

許多登入資料提供者已標準化為一致的預設值，並在許多 SDKs 中以相同的方式運作。此一致性可提高跨多個 SDKs 編碼時的生產力和清晰度。所有設定都可以在程式碼中覆寫。如需詳細資訊，請參閱您的特定 SDK API。

**重要**  
並非所有 SDKs都支援所有供應商，甚至是供應商內的所有層面。

**Topics**
+ [了解登入資料提供者鏈結](#credentialProviderChain)
+ [SDK 特定和工具特定登入資料提供者鏈結](#sdk-chains)
+ [AWS 存取金鑰](feature-static-credentials.md)
+ [登入提供者](feature-login-credentials.md)
+ [擔任角色提供者](feature-assume-role-credentials.md)
+ [容器提供者](feature-container-credentials.md)
+ [IAM Identity Center 供應商](feature-sso-credentials.md)
+ [IMDS 提供者](feature-imds-credentials.md)
+ [程序提供者](feature-process-credentials.md)

## 了解登入資料提供者鏈結
<a name="credentialProviderChain"></a>

所有 SDKs 都有一系列位置 （或來源） 可供他們檢查，以尋找可用於向 提出請求的有效登入資料 AWS 服務。找到有效的憑證後，系統就會停止搜尋。此系統搜尋稱為登入資料提供者鏈結。

使用其中一個標準化憑證提供者時， AWS SDKs 一律會在憑證過期時嘗試自動續約憑證。內建的登入資料提供者鏈結可讓您的應用程式重新整理登入資料，無論您在鏈結中使用哪個提供者。不需要額外的程式碼，軟體開發套件即可執行此操作。

雖然每個 SDK 使用的不同鏈結各不相同，但它們通常包含下列來源：


| 登入資料提供者 | Description | 
| --- | --- | 
| [AWS 存取金鑰](feature-static-credentials.md) | AWS IAM 使用者的存取金鑰 （例如 AWS\$1ACCESS\$1KEY\$1ID、 和 AWS\$1SECRET\$1ACCESS\$1KEY)。 | 
| [與 Web 身分或 OpenID Connect 聯合](access-assume-role-web.md#webidentity) - 擔任角色登入資料提供者 | 使用知名的外部身分提供者 (IdP) 登入，例如 Login with Amazon、Facebook、Google 或任何其他與 OpenID Connect (OIDC) 相容的 IdP。使用來自 AWS Security Token Service () 的 JSON Web Token (JWT) 來擔任 IAM 角色的許可AWS STS。 | 
| [登入憑證提供者](feature-login-credentials.md)  | 取得您登入的新或現有主控台工作階段的登入資料。 | 
| [IAM Identity Center 憑證提供者](feature-sso-credentials.md) | 從 取得登入資料 AWS IAM Identity Center。 | 
| [擔任角色登入資料提供者](feature-assume-role-credentials.md) | 擔任 IAM 角色的許可，以取得其他 資源的存取權。（擷取並使用角色的臨時登入資料）。 | 
| [容器憑證提供者](feature-container-credentials.md) | Amazon Elastic Container Service (Amazon ECS) 和 Amazon Elastic Kubernetes Service (Amazon EKS) 登入資料。容器憑證提供者會為客戶的容器化應用程式擷取憑證。 | 
| [程序登入資料提供者](feature-process-credentials.md) | 自訂登入資料提供者。從外部來源或程序取得您的登入資料，包括 IAM Roles Anywhere。 | 
| [IMDS 登入資料提供者](feature-imds-credentials.md) | Amazon Elastic Compute Cloud (Amazon EC2) 執行個體設定檔憑證。將 IAM 角色與每個 EC2 執行個體建立關聯。該角色的臨時登入資料可供執行個體中執行的程式碼使用。憑證是透過 Amazon EC2 中繼資料服務傳遞。 | 

 對於鏈結中的每個步驟，有多種方式可以指派設定值。設定在程式碼中指定的值一律優先。不過，也有 [環境變數](environment-variables.md)和 [使用共用 `config`和 `credentials` 檔案來全域設定 AWS SDKs和工具](file-format.md)。如需詳細資訊，請參閱[設定的優先順序](settings-reference.md#precedenceOfSettings)。

## SDK 特定和工具特定登入資料提供者鏈結
<a name="sdk-chains"></a>

若要直接前往軟體開發套件或工具**的特定**登入資料提供者鏈結詳細資訊，請從下列內容中選擇軟體開發套件或工具：
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) 
+ [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/credproviders.html)
+ [適用於 Go 的 SDK](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/configure-gosdk.html) 
+ [適用於 Java 的開發套件](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) 
+ [適用於 JavaScript 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/setting-credentials-node.html#credchain) 
+ [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/credential-providers.html) 
+ [適用於 .NET 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/creds-assign.html)
+ [適用於 PHP 的 SDK](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/guide_credentials.html)
+ [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)
+ [適用於 Ruby 的 SDK](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/setup-config.html)
+ [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/credproviders.html)
+ [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/using-configuration.html)
+ [PowerShell 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/creds-assign.html)

# AWS 存取金鑰
<a name="feature-static-credentials"></a>

**警告**  
為避免安全風險，在開發專用軟體或使用真實資料時，請勿使用 IAM 使用者進行身分驗證。相反地，搭配使用聯合功能和身分提供者，例如 [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)。

 AWS IAM 使用者的存取金鑰可以用作您的 AWS 登入資料。 AWS 開發套件會自動使用這些 AWS 登入資料來簽署 API 請求 AWS，讓您的工作負載可以安全方便地存取您的 AWS 資源和資料。建議一律使用 ，`aws_session_token`讓登入資料暫時且過期後不再有效。不建議使用長期登入資料。

**注意**  
如果 AWS 無法重新整理這些臨時登入資料， AWS 可能會延長登入資料的有效性，讓您的工作負載不受影響。

 共用 AWS `credentials`檔案是存放登入資料資訊的建議位置，因為它位於應用程式來源目錄外，並與共用`config`檔案的 SDK 特定設定分開。

若要進一步了解 AWS 登入資料和使用存取金鑰，請參閱《IAM *使用者指南*》中的[AWS 安全登入](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html)資料和管理 IAM 使用者的存取金鑰。 [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)

使用下列項目設定此功能：

**`aws_access_key_id` - 共用 AWS `config`檔案設定`aws_access_key_id` - 共用 AWS `credentials`檔案設定 *（建議的方法）*`AWS_ACCESS_KEY_ID` - 環境變數`aws.accessKeyId` - JVM 系統屬性：僅限 Java/Kotlin**  
指定用作登入資料一部分的 AWS 存取金鑰，以驗證使用者。

**`aws_secret_access_key` - 共用 AWS `config`檔案設定`aws_secret_access_key` - 共用 AWS `credentials`檔案設定 *（建議的方法）*`AWS_SECRET_ACCESS_KEY` - 環境變數`aws.secretAccessKey` - JVM 系統屬性：僅限 Java/Kotlin**  
指定用作登入資料一部分以驗證使用者的 AWS 私密金鑰。

**`aws_session_token` - 共用 AWS `config`檔案設定`aws_session_token` - 共用 AWS `credentials`檔案設定 *（建議的方法）*`AWS_SESSION_TOKEN` - 環境變數`aws.sessionToken` - JVM 系統屬性：僅限 Java/Kotlin**  
指定做為登入資料一部分的 AWS 工作階段字符，以驗證使用者。您會收到此值，這是成功請求擔任角色所傳回暫時登入資料的一部分。只有當您手動指定臨時的安全憑證時，才需要工作階段字符。不過，我們建議您一律使用臨時安全登入資料，而非長期登入資料。如需安全建議，請參閱 [IAM 中的安全最佳實務](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。

如需如何取得這些值的說明，請參閱 [使用短期登入資料來驗證 AWS SDKs和工具短期憑證](access-temp-idc.md)。

在 `config`或 `credentials`檔案中設定這些必要值的範例：

```
[default]
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token = AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
```

透過命令列設定環境變數的 Linux/macOS 範例：

```
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_SESSION_TOKEN=AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
```

透過命令列設定環境變數的 Windows 範例：

```
setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE
setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
setx AWS_SESSION_TOKEN AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
```

## 支援 AWS SDKs和工具
<a name="feature-static-credentials-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 | 不支援共用config檔案。 | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 是 | 若要使用共用config檔案設定，您必須開啟從組態檔案載入；請參閱[工作階段](https://docs.aws.amazon.com/sdk-for-go/api/aws/session/)。 | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 |  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 是 |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 是 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 是 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 | 不支援環境變數。 | 

# 登入憑證提供者
<a name="feature-login-credentials"></a>

您可以使用[現有的 AWS 管理主控台登入憑證](https://docs.amazon.aws.com/sdkref/latest/guide/access-login.html)，取得可用於程式設計存取的短期憑證。完成瀏覽器型身分驗證流程後， AWS 會產生臨時登入資料，可用於 CLI、 AWS Tools for PowerShell AWS 和 AWS SDKs等本機開發工具。

若要產生這些登入資料，請在 CLI AWS 中執行 `aws login`命令，或在 AWS Tools for PowerShell 中執行 `Invoke-AWSLogin` cmdlet。產生的短期登入資料將在本機快取， AWS SDKs 可在其中重複使用。短期登入資料會在 15 分鐘內過期，但 CLI 和 SDKs 將視需要自動重新整理它們，最長可達 12 小時。當重新整理字符過期時，系統會提示您透過 CLI 或 PowerShell 再次登入。

登入命令將使用 `login_session`設定更新您指定的設定檔，該設定會存放您在登入工作流程期間選取的管理主控台工作階段的身分。

```
[profile console]
login_session = arn:aws:iam::0123456789012:user/username
region = us-west-2
```

根據預設，短期憑證和重新整理字符存放在 Linux 和 macOS 或 `%USERPROFILE%\.aws\login\cache` Windows 的 `~/.aws/login/cache`目錄中的 JSON 檔案中。檔案名稱是以登入工作階段名稱為基礎。您可以設定`AWS_LOGIN_CACHE_DIRECTORY`環境變數來覆寫目錄。

## 登入提供者設定
<a name="feature-login-credentials-settings"></a>

使用下列項目設定此功能：

**`AWS_LOGIN_CACHE_DIRECTORY` - 環境變數**  
CLI 和 SDKs 將存放對應至登入工作階段設定檔之快取登入資料的替代目錄。  
預設值：`~/.aws/login/cache`在 Linux 和 macOS 上，或在 Windows `%USERPROFILE%\.aws\login\cache`上。

## 支援 AWS SDKs和工具
<a name="feature-login-credentials-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 否 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 是 |  | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 |  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 否 |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 否 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 | 需要 CRT | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 否 |  | 

# 擔任角色登入資料提供者
<a name="feature-assume-role-credentials"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

假設角色涉及使用一組臨時安全登入資料來存取 AWS 您可能無法存取的資源。這些臨時登入資料由存取金鑰 ID、私密存取金鑰和安全字符組成。

若要設定軟體開發套件或工具以擔任角色，您必須先建立或識別要擔任的特定*角色*。IAM 角色由角色 Amazon Resource Name ([ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)) 唯一識別。角色會與其他實體建立信任關係。使用角色的信任實體可能是 AWS 服務、另一個 AWS 帳戶、Web 身分提供者或 OIDC 或 SAML 聯合。

識別 IAM 角色之後，如果您受該角色信任，您可以將 SDK 或工具設定為使用角色授予的許可。若要這樣做，請使用下列設定。

如需開始使用這些設定的指引，請參閱本指南[使用 AWS 登入資料來擔任角色以驗證 AWS SDKs和工具](access-assume-role.md)中的 。

## 擔任角色登入資料提供者設定
<a name="feature-assume-role-credentials-settings"></a>

使用下列項目設定此功能：

**`credential_source` - 共用 AWS `config`檔案設定**  
在 Amazon EC2 執行個體或 Amazon Elastic Container Service 容器內使用，以指定 SDK 或工具可以尋找登入資料的位置，這些登入資料具有使用 `role_arn` 參數擔任您指定之角色的許可。  
**預設值：**無  
**有效值**：  
+ **環境** – 指定 SDK 或工具是從環境變數 [`AWS_ACCESS_KEY_ID`和 `AWS_SECRET_ACCESS_KEY`](feature-static-credentials.md)擷取來源憑證。
+ **Ec2InstanceMetadata** – 指定 SDK 或工具使用[連接到 EC2 執行個體描述檔的 IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html)來取得來源憑證。
+ **EcsContainer** – 指定 SDK 或工具使用[連接至 Amazon ECS 容器的 IAM 角色](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html)或[連接至 Amazon EKS 容器的 IAM 角色](https://docs.aws.amazon.com/eks/latest/userguide/security-iam-service-with-iam.html)來取得來源憑證。
您無法在同一個描述檔中同時指定 `credential_source` 和 `source_profile`。  
在 `config` 檔案中設定此項目以表示登入資料應來自 Amazon EC2 的範例：  

```
credential_source = Ec2InstanceMetadata
role_arn = arn:aws:iam::123456789012:role/my-role-name
```

**`duration_seconds` - 共用 AWS `config`檔案設定**  
指定角色工作階段的最大持續時間 (以秒為單位)。  
此設定只有在設定檔指定 擔任角色時才適用。  
**預設值：**3600 秒 （一小時）  
**有效值：**值的範圍可以從 900 秒 (15 分鐘） 到為角色設定的工作階段持續時間上限 （最多可達 43200 秒或 12 小時）。如需詳細資訊，請參閱[《IAM 使用者指南》中的檢視角色的工作階段持續時間上限設定](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session)。 **  
在 `config` 檔案中設定的範例：  

```
duration_seconds = 43200
```

**`external_id` - 共用 AWS `config`檔案設定**  
指定一個唯一識別符，第三方用來在其客戶帳戶擔任角色。  
此設定僅適用於設定檔指定 擔任角色，且角色的信任政策需要 的值時`ExternalId`。當設定檔指定角色時， 值會映射至傳遞至 `AssumeRole`操作的 `ExternalId` 參數。  
**預設值：**無。  
**有效值：**請參閱《*IAM 使用者指南*》中的[如何在將 AWS 資源的存取權授予第三方時使用外部 ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html)。  
在 `config` 檔案中設定的範例：  

```
external_id = unique_value_assigned_by_3rd_party
```

**`mfa_serial` - 共用 AWS `config`檔案設定**  
指定使用者擔任角色時必須使用的多重驗證 (MFA) 裝置的識別或序號。  
擔任角色時為必要，其中該角色的信任政策包含需要 MFA 身分驗證的條件。如需 MFA 的詳細資訊，請參閱《[AWS IAM 使用者指南》中的 IAM 中的多重要素驗證](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html)。 **  
**預設值：**無。  
**有效值：**該值可以是硬體裝置的序號 （例如 `GAHT12345678`)，也可以是虛擬 MFA 裝置的 Amazon Resource Name (ARN)。ARN 的格式為： `arn:aws:iam::account-id:mfa/mfa-device-name`  
在 `config` 檔案中設定的範例：  
此範例假設已為帳戶`MyMFADevice`建立並為使用者啟用的虛擬 MFA 裝置，稱為 。  

```
mfa_serial = arn:aws:iam::123456789012:mfa/MyMFADevice
```

**`role_arn` - 共用 AWS `config`檔案設定`AWS_ROLE_ARN` - 環境變數`aws.roleArn` - JVM 系統屬性：僅限 Java/Kotlin**  
指定您要用來執行使用此設定檔請求之操作的 IAM 角色的 Amazon Resource Name (ARN)。  
**預設值：**無。  
**有效值：**該值必須是 IAM 角色的 ARN，格式如下： `arn:aws:iam::account-id:role/role-name`  
 此外，您還必須指定下列**其中一項**設定：  
+ `source_profile` – 識別另一個設定檔，用來尋找具有在此設定檔中擔任角色之許可的登入資料。
+ `credential_source` – 使用目前環境變數識別的登入資料，或連接至 Amazon EC2 執行個體描述檔的登入資料，或 Amazon ECS 容器執行個體。
+ `web_identity_token_file` – 針對已在行動或 Web 應用程式中驗證的使用者，使用公有身分提供者或任何 OpenID Connect (OIDC) 相容身分提供者。

**`role_session_name` - 共用 AWS `config`檔案設定`AWS_ROLE_SESSION_NAME` - 環境變數`aws.roleSessionName` - JVM 系統屬性：僅限 Java/Kotlin**  
指定要連接到角色工作階段的名稱。此名稱會出現在與此工作階段相關聯的項目 AWS CloudTrail 日誌中，這在稽核時非常有用。如需詳細資訊，請參閱*AWS CloudTrail 《 使用者指南*》中的 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。  
**預設值：**選用參數。如果您未提供此值，則在設定檔擔任角色時，工作階段名稱會自動產生。  
**有效值：**當 AWS CLI 或 AWS API 代表您呼叫 `AssumeRole`操作 （或 操作等`AssumeRoleWithWebIdentity`操作） 時，提供給 `RoleSessionName` 參數。此值會成為您可以查詢的擔任角色使用者 Amazon Resource Name (ARN) 的一部分，並顯示為此設定檔所調用之操作的 CloudTrail 日誌項目的一部分。  
 `arn:aws:sts::123456789012:assumed-role/my-role-name/my-role_session_name`.  
在 `config` 檔案中設定的範例：  

```
role_session_name = my-role-session-name
```

**`source_profile` - 共用 AWS `config`檔案設定**  
指定另一個設定檔，其登入資料用於擔任原始設定檔中 `role_arn`設定所指定的角色。若要了解如何在共用 AWS `config` 和 `credentials` 檔案中使用設定檔，請參閱 [共用 `config`和 `credentials` 檔案](file-format.md)。  
如果您指定的設定檔也是擔任角色設定檔，則每個角色都會依序擔任，以完全解析登入資料。當 SDK 遇到具有登入資料的設定檔時，此鏈結會停止。角色鏈結會將您的 AWS CLI 或 AWS API 角色工作階段限制為最多一小時，且無法增加。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[角色術語和概念](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html)。  
**預設值：**無。  
**有效值：**文字字串，由 `config`和 `credentials`檔案中定義的設定檔名稱組成。您還必須在目前的設定檔`role_arn`中指定 的值。  
您無法在同一個描述檔中同時指定 `credential_source` 和 `source_profile`。  
在組態檔案中設定的範例：  

```
[profile A]
source_profile = B
role_arn =  arn:aws:iam::123456789012:role/RoleA
role_session_name = ProfileARoleSession
                
[profile B]
credential_process = ./aws_signing_helper credential-process --certificate /path/to/certificate --private-key /path/to/private-key --trust-anchor-arn arn:aws:rolesanywhere:region:account:trust-anchor/TA_ID --profile-arn arn:aws:rolesanywhere:region:account:profile/PROFILE_ID --role-arn arn:aws:iam::account:role/ROLE_ID
```
在先前的範例中，`A`設定檔會告知 SDK 或工具自動查詢連結`B`設定檔的登入資料。在此情況下， `B`設定檔會使用 提供的登入資料協助程式工具[使用 IAM Roles Anywhere 驗證 AWS SDKs和工具](access-rolesanywhere.md)來取得 SDK 的 AWS 登入資料。然後，您的程式碼會使用這些臨時登入資料來存取 AWS 資源。指定的角色必須已連接允許請求程式碼執行的 IAM 許可政策，例如 命令 AWS 服務或 API 方法。設定檔採取的每個動作`A`都會包含 CloudTrail 日誌中的角色工作階段名稱。  
對於角色鏈結的第二個範例，如果您在 Amazon Elastic Compute Cloud 執行個體上有應用程式，而且您想要讓該應用程式擔任另一個角色，則可以使用下列組態。  

```
[profile A]
source_profile = B
role_arn =  arn:aws:iam::123456789012:role/RoleA
role_session_name = ProfileARoleSession
                
[profile B]
credential_source=Ec2InstanceMetadata
```
設定檔`A`將使用來自 Amazon EC2 執行個體的登入資料擔任指定的角色，並自動續約登入資料。  


**`web_identity_token_file` - 共用 AWS `config`檔案設定`AWS_WEB_IDENTITY_TOKEN_FILE` - 環境變數`aws.webIdentityTokenFile` - JVM 系統屬性：僅限 Java/Kotlin**  
指定檔案的路徑，其中包含來自[支援 OAuth 2.0 提供者](https://wikipedia.org/wiki/List_of_OAuth_providers)或 [OpenID Connect ID 身分提供者](https://openid.net/developers/certified/)的存取權杖。  
此設定可透過使用 [Google](https://developers.google.com/identity/protocols/OAuth2)、[Facebook](https://developers.facebook.com/docs/facebook-login/overview) 和 [Amazon](https://login.amazon.com/) 等 Web 聯合身分提供者來啟用身分驗證。SDK 或開發人員工具會載入此檔案的內容，並在代您呼叫`AssumeRoleWithWebIdentity`操作時將其做為`WebIdentityToken`引數傳遞。  
**預設值：**無。  
**有效值：**此值必須是路徑和檔案名稱。檔案必須包含身分提供者提供給您的 OAuth 2.0 存取字符或 OpenID Connect 字符。相對路徑視為相對於程序的工作目錄。

## 支援 AWS SDKs和工具
<a name="assume-role-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 部分 | credential\$1source 不支援。duration\$1seconds不支援。mfa\$1serial不支援。 | 
| [適用於 Go 的 SDK V2 (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 是 | 若要使用共用config檔案設定，您必須開啟從組態檔案載入；請參閱[工作階段](https://docs.aws.amazon.com/sdk-for-go/api/aws/session/)。 | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 部分 | mfa\$1serial 不支援。duration\$1seconds不支援。 | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 部分 | credential\$1source 不支援。mfa\$1serial不支援。不支援 JVM 系統屬性。 | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 部分 | credential\$1source 不支援。 | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 是 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 |  | 

# 容器憑證提供者
<a name="feature-container-credentials"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

容器憑證提供者會為客戶的容器化應用程式擷取憑證。此登入資料提供者適用於 Amazon Elastic Container Service (Amazon ECS) 和 Amazon Elastic Kubernetes Service (Amazon EKS) 客戶。SDKs會嘗試透過 GET 請求從指定的 HTTP 端點載入登入資料。

如果您使用 Amazon ECS，我們建議您使用任務 IAM 角色來改善憑證隔離、授權和可稽核性。設定後，Amazon ECS 會設定軟體SDKs和工具用來取得登入資料`AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`的環境變數。若要為此功能設定 Amazon ECS，請參閱《*Amazon Elastic Container Service 開發人員指南*》中的[任務 IAM 角色](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html)。

如果您使用 Amazon EKS，我們建議您使用 Amazon EKS Pod Identity 來改善憑證隔離、最低權限、可稽核性、獨立操作、可重複使用性和可擴展性。您的 Pod 和 IAM 角色都與 Kubernetes 服務帳戶相關聯，以管理應用程式的登入資料。若要進一步了解 Amazon EKS Pod 身分，請參閱《[Amazon EKS 使用者指南》中的 Amazon EKS Pod 身分](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html)。 ****設定後，Amazon EKS 會設定開發套件`AWS_CONTAINER_CREDENTIALS_FULL_URI`和工具用來取得憑證SDKs和 `AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE`環境變數。如需設定資訊，請參閱[《Amazon EKS 使用者指南》中的設定 Amazon EKS Pod Identity Agent](https://docs.aws.amazon.com/eks/latest/userguide/pod-id-agent-setup.html) 或 [Amazon EKS Pod Identity 可簡化部落格網站上的 Amazon EKS 叢集應用程式 IAM 許可](https://aws.amazon.com/blogs/aws/amazon-eks-pod-identity-simplifies-iam-permissions-for-applications-on-amazon-eks-clusters/)。 **** AWS 

使用下列項目設定此功能：

**`AWS_CONTAINER_CREDENTIALS_FULL_URI` - 環境變數**  
指定 SDK 在請求登入資料時要使用的完整 HTTP URL 端點。其中包含通訊協定與主機。  
**預設值：**無。  
**有效值：**有效 URI。  
*注意：此設定是 的替代方案`AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`，只有在`AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`未設定 時才會使用。 *  
透過命令列設定環境變數的 Linux/macOS 範例：  

```
export AWS_CONTAINER_CREDENTIALS_FULL_URI=http://localhost/get-credentials
```
或  

```
export AWS_CONTAINER_CREDENTIALS_FULL_URI=http://localhost:8080/get-credentials
```

**`AWS_CONTAINER_CREDENTIALS_RELATIVE_URI` - 環境變數**  
指定 SDK 在請求登入資料時要使用的相對 HTTP URL 端點。此值會附加到 的預設 Amazon ECS 主機名稱`169.254.170.2`。  
**預設值：**無。  
**有效值：**有效的相對 URI。  
透過命令列設定環境變數的 Linux/macOS 範例：  

```
export AWS_CONTAINER_CREDENTIALS_RELATIVE_URI=/get-credentials?a=1
```

**`AWS_CONTAINER_AUTHORIZATION_TOKEN` - 環境變數**  
以純文字指定授權字符。如果設定此變數，軟體開發套件會在 HTTP 請求上設定具有環境變數值的授權標頭。  
**預設值：**無。  
**有效值：**字串。  
*注意：此設定是 的替代方案`AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE`，只有在`AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE`未設定 時才會使用。 *  
透過命令列設定環境變數的 Linux/macOS 範例：  

```
export AWS_CONTAINER_CREDENTIALS_FULL_URI=http://localhost/get-credential
export AWS_CONTAINER_AUTHORIZATION_TOKEN=Basic abcd
```

**`AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE` - 環境變數**  
指定檔案的絕對檔案路徑，其中包含純文字的授權字符。  
**預設值：**無。  
**有效值：**字串。  
透過命令列設定環境變數的 Linux/macOS 範例：  

```
export AWS_CONTAINER_CREDENTIALS_FULL_URI=http://localhost/get-credential
export AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE=/path/to/token
```

## 支援 AWS SDKs和工具
<a name="feature-container-credentials-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 是 |  | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 | 當 [Lambda SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html#snapstart-runtimes) 啟用時， AWS\$1CONTAINER\$1CREDENTIALS\$1FULL\$1URI AWS\$1CONTAINER\$1AUTHORIZATION\$1TOKEN 會自動用於身分驗證。 | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 是 | 當 [Lambda SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html#snapstart-runtimes) 啟用時， AWS\$1CONTAINER\$1CREDENTIALS\$1FULL\$1URI AWS\$1CONTAINER\$1AUTHORIZATION\$1TOKEN 會自動用於身分驗證。 | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 是 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 | 當 [Lambda SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html#snapstart-runtimes) 啟用時， AWS\$1CONTAINER\$1CREDENTIALS\$1FULL\$1URI AWS\$1CONTAINER\$1AUTHORIZATION\$1TOKEN 會自動用於身分驗證。 | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 | 當 [Lambda SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html#snapstart-runtimes) 啟用時， AWS\$1CONTAINER\$1CREDENTIALS\$1FULL\$1URI AWS\$1CONTAINER\$1AUTHORIZATION\$1TOKEN 會自動用於身分驗證。 | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 | 當 [Lambda SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html#snapstart-runtimes) 啟用時， AWS\$1CONTAINER\$1CREDENTIALS\$1FULL\$1URI AWS\$1CONTAINER\$1AUTHORIZATION\$1TOKEN 會自動用於身分驗證。 | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 是 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 |  | 

# IAM Identity Center 憑證提供者
<a name="feature-sso-credentials"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

此身分驗證機制使用 AWS IAM Identity Center 為您的程式碼取得 AWS 服務 的單一登入 (SSO) 存取權。

**注意**  
在 AWS SDK API 文件中，IAM Identity Center 憑證提供者稱為 SSO 憑證提供者。

啟用 IAM Identity Center 之後，您可以為共用 AWS `config`檔案中的設定定義設定檔。此設定檔用於連線至 IAM Identity Center 存取入口網站。當使用者成功向 IAM Identity Center 進行身分驗證時，入口網站會傳回與該使用者相關聯之 IAM 角色的短期憑證。若要了解 SDK 如何從組態取得臨時登入資料並將其用於 AWS 服務 請求，請參閱 [如何解決 AWS SDKs IAM Identity Center 身分驗證](understanding-sso.md)。

透過 `config` 檔案設定 IAM Identity Center 的方式有兩種：
+ **（建議） SSO 權杖提供者組態** – 延長工作階段持續時間。包括對自訂工作階段持續時間的支援。
+ **傳統不可重新整理組態** – 使用固定的八小時工作階段。

在這兩種組態中，您需要在工作階段過期時再次登入。

下列兩個指南包含有關 IAM Identity Center 的其他資訊：
+ [AWS IAM Identity Center 使用者指南](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)
+ [AWS IAM Identity Center 入口網站 API 參考](https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/Welcome.html)

如需SDKs和工具如何使用和使用此組態重新整理登入資料的深入探討，請參閱 [如何解決 AWS SDKs IAM Identity Center 身分驗證](understanding-sso.md)。

## 先決條件
<a name="feature-sso-credentials-prereq"></a>

您必須先啟用 IAM Identity Center。如需啟用 IAM Identity Center 身分驗證的詳細資訊，請參閱*AWS IAM Identity Center 《 使用者指南*》中的[啟用 AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html)。

**注意**  
或者，如需此頁面詳細說明的完整先決條件**和**必要的共用`config`檔案組態，請參閱設定 的引導說明[使用 IAM Identity Center 驗證 AWS SDK 和工具](access-sso.md)。

## SSO 權杖提供者組態
<a name="sso-token-config"></a>

當您使用 SSO 權杖提供者組態時，軟體 AWS 開發套件或工具會自動重新整理工作階段，直到延長工作階段期間為止。如需工作階段持續時間和最長持續時間的詳細資訊，請參閱*AWS IAM Identity Center 《 使用者指南*》中的[設定 AWS 存取入口網站和 IAM Identity Center 整合應用程式的工作階段持續時間](https://docs.aws.amazon.com/singlesignon/latest/userguide/configure-user-session.html)。

`config` 檔案的 `sso-session`區段用於將用於取得 SSO 存取權杖的組態變數分組，然後可用於取得 AWS 登入資料。如需 `config` 檔案內本節的詳細資訊，請參閱 [組態檔案的格式](file-format.md#file-format-config)。

下列共用`config`檔案範例使用`dev`設定檔來設定 SDK 或工具，以請求 IAM Identity Center 登入資料。

```
[profile dev]
sso_session = my-sso
sso_account_id = 111122223333
sso_role_name = SampleRole

[sso-session my-sso]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_registration_scopes = sso:account:access
```

上述範例顯示您定義 `sso-session`區段，並將其與設定檔建立關聯。一般而言， `sso_account_id`和 `sso_role_name` 必須在 `profile`區段中設定，以便 SDK 可以請求 AWS 登入資料。`sso_region`、 `sso_start_url`和 `sso_registration_scopes` 必須在 `sso-session`區段中設定。

`sso_account_id` 和 `sso_role_name` 並非 SSO 字符組態的所有案例都需要。如果您的應用程式只使用 AWS 服務 支援承載身分驗證，則不需要傳統 AWS 登入資料。承載身分驗證是一種 HTTP 身分驗證結構描述，使用稱為承載字符的安全字符。在這種情況下，`sso_account_id` 和 `sso_role_name` 並非必要資訊。請參閱個別 AWS 服務 指南，判斷服務是否支援承載字符授權。

註冊範圍會設定為 的一部分`sso-session`。範圍是 中的一種機制OAuth 2.0，用於限制應用程式對使用者帳戶的存取。先前的範例會設定 `sso_registration_scopes`以提供列出帳戶和角色的必要存取權。

下列範例示範如何在多個設定檔中重複使用相同的`sso-session`組態。

```
[profile dev]
sso_session = my-sso
sso_account_id = 111122223333
sso_role_name = SampleRole

[profile prod]
sso_session = my-sso
sso_account_id = 111122223333
sso_role_name = SampleRole2

[sso-session my-sso]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_registration_scopes = sso:account:access
```

身分驗證字符會快取至`~/.aws/sso/cache`目錄下的磁碟，並以工作階段名稱為基礎的檔案名稱。

## 舊版不可重新整理的配置
<a name="sso-legacy"></a>

使用舊版不可重新整理的組態，不支援自動字符重新整理。我們建議您[SSO 權杖提供者組態](#sso-token-config)改用 。

若要使用舊版不可重新整理組態，您必須在設定檔中指定下列設定：
+ `sso_start_url`
+ `sso_region`
+ `sso_account_id`
+ `sso_role_name`

您可以使用 `sso_start_url`和 `sso_region`設定來指定設定檔的使用者入口網站。您可以使用 `sso_account_id`和 `sso_role_name`設定指定許可。

下列範例會設定 `config` 檔案中的四個必要值。

```
[profile my-sso-profile]
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_region = us-west-2
sso_account_id = 111122223333
sso_role_name = SSOReadOnlyRole
```

身分驗證字符會快取至 `~/.aws/sso/cache`目錄下的磁碟，並以 為基礎的檔案名稱`sso_start_url`。

## IAM Identity Center 憑證提供者設定
<a name="feature-sso-credentials-profile"></a>

使用下列項目設定此功能：

**`sso_start_url` - 共用 AWS `config`檔案設定**  
指向您組織的 IAM Identity Center 發行者 URL 或存取入口網站 URL 的 URL。如需詳細資訊，請參閱*AWS IAM Identity Center 《 使用者指南*》中的[使用 AWS 存取入口網站](https://docs.aws.amazon.com/singlesignon/latest/userguide/using-the-portal.html)。  
 若要尋找此值，請開啟 [IAM Identity Center 主控台](https://console.aws.amazon.com/singlesignon)、檢視**儀表板**、尋找**AWS 存取入口網站 URL**。  
+ 或者，從 **2.22.0** 版開始 AWS CLI，您可以改為使用**AWS 發行者 URL** 的值。

**`sso_region` - 共用 AWS `config`檔案設定**  
包含 IAM Identity Center 入口網站主機 AWS 區域 的 ，亦即您在啟用 IAM Identity Center 之前選取的區域。這與您的預設 AWS 區域無關，並且可以不同。  
如需 AWS 區域 及其代碼的完整清單，請參閱《》中的[區域端點](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints)*Amazon Web Services 一般參考*。若要尋找此值，請開啟 [IAM Identity Center 主控台](https://console.aws.amazon.com/singlesignon)、檢視**儀表板**和尋找**區域**。

**`sso_account_id` - 共用 AWS `config`檔案設定**  
透過 AWS Organizations 服務 AWS 帳戶 新增用於身分驗證之 的數值 ID。  
若要查看可用帳戶的清單，請前往 [IAM Identity Center 主控台](https://console.aws.amazon.com/singlesignon)並開啟**AWS 帳戶**頁面。您也可以在*AWS IAM Identity Center 入口網站 API 參考*中使用 [ListAccounts](https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/API_ListAccounts.html) API 方法查看可用帳戶的清單。例如，您可以呼叫 AWS CLI 方法 [list-accounts](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sso/list-accounts.html)。

**`sso_role_name` - 共用 AWS `config`檔案設定**  
佈建為 IAM 角色的許可集名稱，定義使用者產生的許可。角色必須存在於 AWS 帳戶 指定的 中`sso_account_id`。使用角色名稱，而非角色 Amazon Resource Name (ARN)。  
許可集會連接 IAM 政策和自訂許可政策，並定義使用者對其指派的存取層級 AWS 帳戶。  
若要查看每個 的可用許可集清單 AWS 帳戶，請前往 [IAM Identity Center 主控台](https://console.aws.amazon.com/singlesignon)並開啟**AWS 帳戶**頁面。選擇 AWS 帳戶 表格中列出的正確許可集名稱。您也可以在*AWS IAM Identity Center 入口網站 API 參考*中使用 [ListAccountRoles](https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/API_ListAccountRoles.html) API 方法查看可用許可集的清單。例如，您可以呼叫 AWS CLI 方法 [list-account-roles](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sso/list-account-roles.html)。

**`sso_registration_scopes` - 共用 AWS `config`檔案設定**  
要授權給 的有效範圍字串逗號分隔清單`sso-session`。應用程式可以請求一個或多個範圍，則核發給應用程式的存取權杖僅限於授予的範圍。必須`sso:account:access`授予 的最小範圍，才能從 IAM Identity Center 服務取得重新整理權杖。如需可用存取範圍選項的清單，請參閱*AWS IAM Identity Center 《 使用者指南*》中的[存取範圍](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#oidc-concept)。  
這些範圍定義為已註冊 OIDC 用戶端和用戶端擷取的存取字符進行授權所需請求的許可。範圍授權對 IAM Identity Center 承載字符授權端點的存取。  
此設定不適用於舊版不可重新整理組態。使用舊版組態發行的權杖僅限於`sso:account:access`隱含範圍。

## 支援 AWS SDKs和工具
<a name="feature-sso-credentials-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 是 | 若要使用共用config檔案設定，您必須開啟從組態檔案載入；請參閱[工作階段](https://docs.aws.amazon.com/sdk-for-go/api/aws/session/)。 | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 | credentials 檔案中也支援組態值。 | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 否 |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 是 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 部分 | 僅限舊版不可重新整理組態。 | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 是 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 |  | 

# IMDS 登入資料提供者
<a name="feature-imds-credentials"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

Instance Metadata Service (IMDS) 提供執行個體的資料，可用來設定或管理執行中的執行個體。如需可用資料的詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[使用執行個體中繼資料](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)。Amazon EC2 提供執行個體可用的本機端點，可將各種位元的資訊提供給執行個體。如果執行個體已連接角色，則可以提供一組對該角色有效的登入資料。SDKs可以使用該端點來解析登入資料，做為其[預設登入資料提供者鏈結](standardized-credentials.md#credentialProviderChain)的一部分。執行個體中繼資料服務第 2 版 (IMDSv2) 是使用工作階段字符的更安全 IMDS 版本，預設為使用。如果因為不可重試的條件 (HTTP 錯誤代碼 403、404、405) 而失敗，則會使用 IMDSv1 做為備用。

使用下列項目設定此功能：

**`AWS_EC2_METADATA_DISABLED` - 環境變數**  
是否嘗試使用 Amazon EC2 執行個體中繼資料服務 (IMDS) 來取得登入資料。  
**預設值**：`false`。  
**有效值**：  
+ **`true`** – 請勿使用 IMDS 取得登入資料。
+ **`false`** – 使用 IMDS 取得登入資料。

**`ec2_metadata_v1_disabled` - 共用 AWS `config`檔案設定`AWS_EC2_METADATA_V1_DISABLED` - 環境變數`aws.disableEc2MetadataV1` - JVM 系統屬性：僅限 Java/Kotlin**  
如果 IMDSv1) 做為備用。 IMDSv2   
新的 SDKs 不支援 IMDSv1，因此不支援此設定。如需詳細資訊，請參閱資料表 [支援 AWS SDKs和工具](#feature-imds-credentials-sdk-compat)。
**預設值**：`false`。  
**有效值**：  
+ **`true`** – 請勿使用 IMDSv1 做為備用。
+ **`false`** – 使用 IMDSv1 做為備用。

**`ec2_metadata_service_endpoint` - 共用 AWS `config`檔案設定`AWS_EC2_METADATA_SERVICE_ENDPOINT` - 環境變數`aws.ec2MetadataServiceEndpoint` - JVM 系統屬性：僅限 Java/Kotlin**  
IMDS 的端點。此值會覆寫 AWS SDKs和工具將搜尋 Amazon EC2 執行個體中繼資料的預設位置。  
**預設值：**如果 `ec2_metadata_service_endpoint_mode`等於 `IPv4`，則預設端點為 `http://169.254.169.254`。如果 `ec2_metadata_service_endpoint_mode`等於 `IPv6`，則預設端點為 `http://[fd00:ec2::254]`。  
**有效值：**有效 URI。

**`ec2_metadata_service_endpoint_mode` - 共用 AWS `config`檔案設定`AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE` - 環境變數`aws.ec2MetadataServiceEndpointMode` - JVM 系統屬性：僅限 Java/Kotlin**  
IMDS 的端點模式。  
**預設值：**`IPv4`。  
**有效值：**`IPv4`、`IPv6`。

**注意**  
IMDS 登入資料提供者是 的一部分[了解登入資料提供者鏈結](standardized-credentials.md#credentialProviderChain)。不過，只有在此系列中的其他數個提供者之後，才會檢查 IMDS 登入資料提供者。因此，如果您希望程式使用此提供者的登入資料，您必須從組態中移除其他有效的登入資料提供者，或使用不同的設定檔。或者，不要依賴登入資料提供者鏈自動探索哪個提供者傳回有效的登入資料，而是在程式碼中指定 IMDS 登入資料提供者的使用。您可以在建立服務用戶端時直接指定登入資料來源。

## IMDS 登入資料的安全性
<a name="feature-imds-credentials-sdk-security"></a>

根據預設，當 AWS 軟體開發套件未設定有效的登入資料時，軟體開發套件會嘗試使用 Amazon EC2 執行個體中繼資料服務 (IMDS) 來擷取 AWS 角色的登入資料。將此`AWS_EC2_METADATA_DISABLED`環境變數設定為 ，即可停用此行為`true`。這可防止不必要的網路活動，並增強可能模擬 Amazon EC2 執行個體中繼資料服務之不受信任網路的安全性。

**注意**  
AWS 使用有效登入資料設定的 SDK 用戶端絕不會使用 IMDS 擷取登入資料，無論這些設定為何。

### 停用 Amazon EC2 IMDS 登入資料
<a name="feature-imds-credentials-disabling"></a>

如何設定此環境變數取決於正在使用的作業系統，以及您是否希望變更持續存在。

#### Linux 和 macOS
<a name="feature-imds-credentials-disabling-unix"></a>

使用 Linux 或 macOS 的客戶可以使用下列命令來設定此環境變數：

```
$ export AWS_EC2_METADATA_DISABLED=true
```

如果您希望此設定在多個 shell 工作階段和系統重新啟動之間持續存在，您可以將上述命令新增至您的 shell 設定檔，例如 `.bash_profile`、 `.zsh_profile`或 `.profile`。

#### Windows
<a name="feature-imds-credentials-disabling-windows"></a>

使用 Windows 的客戶可以使用下列命令來設定此環境變數：

```
$ set AWS_EC2_METADATA_DISABLED=true
```

如果您希望此設定在多個 Shell 工作階段間持續存在，且系統重新啟動，則可改用下列命令：

```
$ setx AWS_EC2_METADATA_DISABLED=true
```

**注意**  
**setx** 命令不會將值套用至目前的 Shell 工作階段，因此您需要重新載入或重新開啟 Shell，變更才會生效。

## 支援 AWS SDKs和工具
<a name="feature-imds-credentials-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 是 | 若要使用共用config檔案設定，您必須開啟從組態檔案載入；請參閱[工作階段](https://docs.aws.amazon.com/sdk-for-go/api/aws/session/)。 | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 |  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 部分 | JVM 系統屬性：使用 com.amazonaws.sdk.disableEc2MetadataV1而非 aws.disableEc2MetadataV1；aws.ec2MetadataServiceEndpointaws.ec2MetadataServiceEndpointMode不支援。 | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 是 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 | 不使用 IMDSv1 備用。 | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 | 不使用 IMDSv1 備用。 | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 是 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 | 您可以使用 在程式碼中明確停用 IMDSv1 後援[Amazon.Util.EC2InstanceMetadata]::EC2MetadataV1Disabled = \$1true。 | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 | 您可以使用 在程式碼中明確停用 IMDSv1 後援[Amazon.Util.EC2InstanceMetadata]::EC2MetadataV1Disabled = \$1true。 | 

# 程序登入資料提供者
<a name="feature-process-credentials"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

SDKs為自訂使用案例提供擴展憑證提供者鏈的方法。此提供者可用來提供自訂實作，例如從內部部署登入資料存放區擷取登入資料，或與您的內部部署識別提供者整合。

 例如，IAM Roles Anywhere 會使用 代表您的應用程式`credential_process`取得臨時登入資料。若要`credential_process`為此用途設定 ，請參閱 [使用 IAM Roles Anywhere 驗證 AWS SDKs和工具](access-rolesanywhere.md)。

**注意**  
以下說明從外部程序取得登入資料的方法，如果您在 外部執行軟體，可能會使用 AWS。如果您要在 AWS 運算資源上建置 ，請使用其他登入資料提供者。如果使用此選項，您應該使用作業系統的安全最佳實務，確保組態檔案盡可能鎖定。確認您的自訂登入資料工具不會將任何秘密資訊寫入 `StdErr`，因為 SDKs和 AWS CLI 可以擷取並記錄這類資訊，因此可能會將其暴露給未經授權的使用者。

使用下列項目設定此功能：

**`credential_process` - 共用 AWS `config`檔案設定**  
指定 SDK 或工具代表您執行的外部命令，以產生或擷取要使用的身分驗證憑證。設定會指定軟體開發套件將叫用的程式/命令名稱。當 SDK 調用程序時，會等待程序將 JSON 資料寫入 `stdout`。自訂提供者必須以特定格式傳回資訊。該資訊包含開發套件或工具可用來驗證您的登入資料。

**注意**  
程序登入資料提供者是 的一部分[了解登入資料提供者鏈結](standardized-credentials.md#credentialProviderChain)。不過，程序登入資料提供者只會在此系列中的幾個其他提供者之後進行檢查。因此，如果您希望程式使用此提供者的登入資料，您必須從組態中移除其他有效的登入資料提供者，或使用不同的設定檔。或者，不要依賴登入資料提供者鏈自動探索哪個提供者傳回有效的登入資料，而是在程式碼中指定使用程序登入資料提供者。您可以在建立服務用戶端時直接指定登入資料來源。

## 指定登入資料程式的路徑
<a name="feature-process-credentials-detail-path"></a>

設定的值是一個字串，其中包含 SDK 或開發工具代表您執行之程式的路徑：
+ 路徑和檔案名稱只能包含下列字元：A-Z、a-z、0-9、連字號 ( - )、底線 ( \$1 )、句點 ( . )、正斜線 ( / )、反斜線 ( \$1 ) 和空格。
+ 如果路徑或檔案名稱包含空格，完整的路徑和檔案名稱請以雙引號 (「」) 括住。
+ 如果參數名稱或參數值包含空格，則該元素請以雙引號 (「」) 括住。僅括住名稱或值，而非對組。
+ 請勿在字串中包含任何環境變數。例如，請勿包含 `$HOME`或 `%USERPROFILE%`。
+ 請勿將主資料夾指定為 `~`。\$1 您必須指定完整路徑或基本檔案名稱。如果有基本檔案名稱，系統會嘗試在`PATH`環境變數指定的資料夾中尋找程式。路徑會根據作業系統而有所不同：

  下列範例顯示在 Linux/macOS 的共用`config`檔案中設定 Credential\$1process。

  ```
  credential_process = "/path/to/credentials.sh" parameterWithoutSpaces "parameter with spaces"
  ```

  下列範例顯示在 Windows 的共用`config`檔案中設定 Credential\$1process。

  ```
  credential_process = "C:\Path\To\credentials.cmd" parameterWithoutSpaces "parameter with spaces"
  ```
+  可以在專用設定檔中指定：

  ```
  [profile cred_process] 
  credential_process = /Users/username/process.sh 
  region = us-east-1
  ```

## 登入資料程式的有效輸出
<a name="feature-process-credentials-output"></a>

SDK 會執行設定檔中指定的 命令，然後從標準輸出串流讀取資料。您指定的命令，無論是指令碼或二進位程式，都必須在 上產生符合下列語法`STDOUT`的 JSON 輸出。

```
{
    "Version": 1,
    "AccessKeyId": "an AWS access key",
    "SecretAccessKey": "your AWS secret access key",
    "SessionToken": "the AWS session token for temporary credentials", 
    "Expiration": "RFC3339 timestamp for when the credentials expire"
}
```

**注意**  
截至本文編寫時，`Version` 索引鍵必須設定為 `1`。這可能隨著結構演進而逐漸遞增。

`Expiration` 金鑰是 RFC3339 格式的時間戳記。如果`Expiration`金鑰不存在於工具的輸出中，開發套件會假設登入資料是不會重新整理的長期登入資料。否則，登入資料會被視為臨時登入資料，並在登入資料過期之前重新執行 `credential_process`命令來自動重新整理。

**注意**  
軟體開發套件***不會***像擔任角色登入資料一樣快取外部程序登入資料。如果需要快取，您必須在外部程序中實作它。

外部程序可能傳回非零傳回碼，以表示擷取憑證時發生錯誤。

## 支援 AWS SDKs和工具
<a name="feature-process-credentials-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 是 | 若要使用共用config檔案設定，您必須開啟從組態檔案載入；請參閱[工作階段](https://docs.aws.amazon.com/sdk-for-go/api/aws/session/)。 | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 |  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 是 |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 是 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 是 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 |  | 

# AWS SDKs和工具標準化功能
<a name="standardized-features"></a>

許多功能已標準化為一致的預設值，並在許多 SDKs 中以相同的方式運作。此一致性可提高跨多個 SDKs 編碼時的生產力和清晰度。所有設定都可以在程式碼中覆寫，如需詳細資訊，請參閱您的特定 SDK API。

**重要**  
並非所有 SDKs都支援所有功能，甚至支援功能中的所有層面。

**Topics**
+ [帳戶型端點](feature-account-endpoints.md)
+ [應用程式 ID](feature-appid.md)
+ [Amazon EC2 執行個體中繼資料](feature-ec2-instance-metadata.md)
+ [Amazon S3 存取點](feature-s3-access-point.md)
+ [Amazon S3 多區域存取點](feature-s3-mrap.md)
+ [S3 Express One Zone 工作階段身分驗證](feature-s3-express.md)
+ [身分驗證機制](feature-auth-scheme.md)
+ [AWS 區域](feature-region.md)
+ [AWS STS 區域端點](feature-sts-regionalized-endpoints.md)
+ [資料完整性保護](feature-dataintegrity.md)
+ [雙堆疊和 FIPS 端點](feature-endpoints.md)
+ [端點探索](feature-endpoint-discovery.md)
+ [一般組態](feature-gen-config.md)
+ [主機字首注入](feature-host-prefix.md)
+ [IMDS 用戶端](feature-imds-client.md)
+ [重試行為](feature-retry-behavior.md)
+ [請求壓縮](feature-compression.md)
+ [服務特定的端點](feature-ss-endpoints.md)
+ [智慧組態預設值](feature-smart-config-defaults.md)

# 帳戶型端點
<a name="feature-account-endpoints"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

帳戶型端點使用您的 AWS 帳戶 ID 路由支援此功能之服務的請求，有助於確保高效能和可擴展性。當您使用支援以帳戶為基礎的端點的 AWS SDK 和服務時，開發套件用戶端會建構並使用以帳戶為基礎的端點，而不是區域性端點。如果 SDK 用戶端看不到帳戶 ID，用戶端將使用區域端點。以帳戶為基礎的端點採用 的形式`https://<account-id>.ddb.<region>.amazonaws.com`，其中 `<account-id>`和 `<region>`是您的 AWS 帳戶 ID 和 AWS 區域。

使用下列項目設定此功能：

**`aws_account_id` - 共用 AWS `config`檔案設定`AWS_ACCOUNT_ID` - 環境變數`aws.accountId` - JVM 系統屬性：僅限 Java/Kotlin**  
 AWS 帳戶 ID。用於以帳戶為基礎的端點路由。 AWS 帳戶 ID 的格式類似 111122223333。  
 帳戶型端點路由可為某些服務提供更好的請求效能。

**`account_id_endpoint_mode` - 共用 AWS `config`檔案設定`AWS_ACCOUNT_ID_ENDPOINT_MODE` - 環境變數`aws.accountIdEndpointMode` - JVM 系統屬性：僅限 Java/Kotlin**  
此設定用於在必要時關閉以帳戶為基礎的端點路由，並略過以帳戶為基礎的規則。  
**預設值**：`preferred`  
**有效值**：  
+ **`preferred`** – 如果可用，端點應包含帳戶 ID。
+ **`disabled`** – 已解析的端點不包含帳戶 ID。
+ **`required`** – 端點必須包含帳戶 ID。如果帳戶 ID 無法使用，SDK 會擲出錯誤。

## 支援 AWS SDKs和工具
<a name="account-endpoints-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 在 SDK 版本中發行 | 備註或更多資訊 | 
| --- | --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 | 2.25.0 |  | 
| [AWS CLI v1](https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-welcome.html) | 是 | 1.38.0 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 否 |  |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 | 1.35.0 版 |  | 
| [適用於 Go 1.x (V1) 的 SDK](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 否 |  |  | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 | 2.28.4 版 |  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 是 | 1.12.771 版 |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 | v3.656.0 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 否 |  |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 | v1.3.37 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 | 4.0.0 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 否 |  |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 | v3.318.0 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 | 1.37.0 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 | 1.123.0 版 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 | Release-2025-04-24 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 是 | 1.2.0 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 否 |  |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 否 |  |  | 

# 應用程式 ID
<a name="feature-appid"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

單一 AWS 帳戶 可供多個客戶應用程式用來呼叫 AWS 服務。應用程式 ID 可讓客戶識別使用 AWS 帳戶. AWS SDKs和 服務進行一組呼叫的來源應用程式不使用或解譯此值，但 會在客戶通訊中呈現此值。例如，此值可以包含在操作電子郵件或 中 AWS Health 儀板表 ，以唯一識別哪些應用程式與通知相關聯。

使用下列項目設定此功能：

**`sdk_ua_app_id` - 共用 AWS `config`檔案設定`AWS_SDK_UA_APP_ID` - 環境變數`sdk.ua.appId` - JVM 系統屬性：僅限 Java/Kotlin**  
此設定是您指派給應用程式的唯一字串，用於識別特定 中的哪些應用程式會 AWS 帳戶 呼叫 AWS。  
**預設值**：`None`  
**有效值：**長度上限為 50 的字串。允許使用字母、數字和下列特殊字元：`!`、`#`、`$``%`、`&`、`'`、`*``+`、`-`、`.`、`^``_`、```、、、`|``~`。

在 `config` 檔案中設定此值的範例：

```
[default]
sdk_ua_app_id=ABCDEF
```

透過命令列設定環境變數的 Linux/macOS 範例：

```
export AWS_SDK_UA_APP_ID=ABCDEF
export AWS_SDK_UA_APP_ID="ABC DEF"
```

透過命令列設定環境變數的 Windows 範例：

```
setx AWS_SDK_UA_APP_ID ABCDEF
setx AWS_SDK_UA_APP_ID="ABC DEF"
```

如果您包含對正在使用的 shell 具有特殊意義的符號，請適當地逸出該值。

## 支援 AWS SDKs和工具
<a name="appid-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 | 不支援共用config檔案。 | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 否 |  | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 部分 | 不支援共用config檔案設定；不支援環境變數。 | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 否 |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 否 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 | JVM 系統屬性為 aws.userAgentAppId。 | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 是 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 |  | 

# Amazon EC2 執行個體中繼資料
<a name="feature-ec2-instance-metadata"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

Amazon EC2 在名為執行個體中繼資料服務 (IMDS) 的執行個體上提供服務。若要進一步了解此服務，請參閱《*Amazon EC2 使用者指南*》中的[使用執行個體中繼資料](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)。嘗試在已設定 IAM 角色的 Amazon EC2 執行個體上擷取登入資料時，執行個體中繼資料服務的連線是可調整的。

使用下列項目設定此功能：

**`metadata_service_num_attempts` - 共用 AWS `config`檔案設定`AWS_METADATA_SERVICE_NUM_ATTEMPTS` - 環境變數**  
此設定指定嘗試從執行個體中繼資料服務擷取資料時，放棄之前要嘗試的總次數。  
**預設值：**1  
**有效值：**大於或等於 1 的數字。

**`metadata_service_timeout` - 共用 AWS `config`檔案設定`AWS_METADATA_SERVICE_TIMEOUT` - 環境變數**  
指定嘗試從執行個體中繼資料服務擷取資料時，逾時之前的秒數。  
**預設值：**1  
**有效值：**大於或等於 1 的數字。

在 `config` 檔案中設定這些值的範例：

```
[default]
metadata_service_num_attempts=10
metadata_service_timeout=10
```

透過命令列設定環境變數的 Linux/macOS 範例：

```
export AWS_METADATA_SERVICE_NUM_ATTEMPTS=10
export AWS_METADATA_SERVICE_TIMEOUT=10
```

透過命令列設定環境變數的 Windows 範例：

```
setx AWS_METADATA_SERVICE_NUM_ATTEMPTS 10
setx AWS_METADATA_SERVICE_TIMEOUT 10
```

## 支援 AWS SDKs和工具
<a name="feature-ec2-instance-metadata-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 否 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 否 |  | 
| [適用於 Go 1.x (V1) 的 SDK](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 否 |  | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 部分 | 僅支援 AWS\$1METADATA\$1SERVICE\$1TIMEOUT。 | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 部分 | 僅支援 AWS\$1METADATA\$1SERVICE\$1TIMEOUT。 | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 否 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 否 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 否 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 否 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 否 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 否 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 否 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 否 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 否 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 否 |  | 

# Amazon S3 存取點
<a name="feature-s3-access-point"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

Amazon S3 服務提供存取點做為與 Amazon S3 儲存貯體互動的替代方式。存取點具有可套用至它們的唯一政策和組態，而不是直接套用至儲存貯體。透過 AWS SDKs，您可以在 API 操作的儲存貯體欄位中使用存取點 Amazon Resource Name (ARNs)，而不是明確指定儲存貯體名稱。它們用於特定操作，例如使用存取點 ARN [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)搭配 從儲存貯體擷取物件，或使用存取點 ARN 搭配 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) 將物件新增至儲存貯體。

若要進一步了解 Amazon S3 存取點和 ARNs，請參閱《*Amazon S3 使用者指南*》中的[使用存取點](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)。

使用下列項目設定此功能：

**`s3_use_arn_region` - 共用 AWS `config`檔案設定`AWS_S3_USE_ARN_REGION` - 環境變數`aws.s3UseArnRegion` - JVM 系統屬性：僅限 Java/Kotlin若要直接在程式碼中設定值，請直接參閱您的特定 SDK。**  
此設定控制 SDK 是否使用存取點 ARN AWS 區域 來建構請求的區域端點。開發套件會驗證 ARN 是否由與用戶端設定的相同 AWS 分割區 AWS 區域 提供 AWS 區域 ，以防止很可能失敗的跨分割區呼叫。如果定義了乘法，則程式碼設定的設定優先，後面接著環境變數設定。  
**預設值**：`false`  
**有效值**：  
+ **`true`** – SDK 會在建構端點 AWS 區域 時使用 ARN 的 ，而不是用戶端的 設定 AWS 區域。例外狀況：如果用戶端的 設定為 AWS 區域 FIPS AWS 區域，則必須符合 ARN 的 AWS 區域。否則將會發生錯誤。
+ **`false`** – SDK 會在建構端點時使用用戶端的 設定 AWS 區域 。

## 支援 AWS SDKs和工具
<a name="access-point-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 是 | 若要使用共用config檔案設定，您必須開啟從組態檔案載入；請參閱[工作階段](https://docs.aws.amazon.com/sdk-for-go/api/aws/session/)。 | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 |  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 是 | 不支援 JVM 系統屬性。 | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 是 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 | 不遵循標準優先順序；共用config檔案值的優先順序高於環境變數。 | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 否 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 否 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 | 不遵循標準優先順序；共用config檔案值的優先順序高於環境變數。 | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 | 不遵循標準優先順序；共用config檔案值的優先順序高於環境變數。 | 

# Amazon S3 多區域存取點
<a name="feature-s3-mrap"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

Amazon S3 多區域存取點提供全域端點，應用程式可用來滿足來自位於多個 Amazon S3 儲存貯體的請求 AWS 區域。您可以使用多區域存取點，以單一區域中使用的相同架構建置多區域應用程式，然後在世界任何地方執行這些應用程式。

若要進一步了解多區域存取點，請參閱《[Amazon S3 使用者指南》中的 Amazon S3 中的多區域存取點](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPoints.html)。 *Amazon S3 * 

若要進一步了解多區域存取點 Amazon Resource Name (ARNs)，請參閱《*Amazon S3 使用者指南*》中的[使用多區域存取點提出請求](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPointRequests.html)。

若要進一步了解如何建立多區域存取點，請參閱《*Amazon S3 使用者指南*》中的[管理多區域存取點](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ManagingMultiRegionAccessPoints.html)。

SigV4A 演算法是用來簽署全域區域請求的簽署實作。此演算法是由 SDK 透過 的相依性取得[AWS 通用執行期 (CRT) 程式庫](common-runtime.md)。

使用下列項目設定此功能：

**`s3_disable_multiregion_access_points` - 共用 AWS `config`檔案設定`AWS_S3_DISABLE_MULTIREGION_ACCESS_POINTS` - 環境變數`aws.s3DisableMultiRegionAccessPoints` - JVM 系統屬性：僅限 Java/Kotlin若要直接在程式碼中設定值，請直接參閱您的特定 SDK。**  
此設定會控制 SDK 是否可能嘗試跨區域請求。如果定義了乘法，則程式碼設定的設定優先，後面接著環境變數設定。  
**預設值**：`false`  
**有效值**：  
+ **`true`** – 停止使用跨區域請求。
+ **`false`** – 使用多區域存取點啟用跨區域請求。

## 支援 AWS SDKs和工具
<a name="s3-mrap-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 否 |  | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 |  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 否 |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 否 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 否 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 |  | 

# S3 Express One Zone 工作階段身分驗證
<a name="feature-s3-express"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

S3 Express One Zone 是 Amazon S3 的高效能儲存類別，可為經常存取的資料提供單一位數毫秒延遲。當您使用 S3 Express One Zone 儲存貯體時， AWS SDKs和工具會自動使用針對資料請求的低延遲授權最佳化的工作階段型身分驗證。您可以使用工作階段字符搭配區域 （物件層級） 操作，將與授權相關聯的延遲分配到工作階段中的多個請求，從而減少身分驗證額外負荷並改善整體請求效能。

S3 Express One Zone 儲存貯體使用包含可用區域 ID 的特定命名格式，例如 `bucket-name--usw2-az1--x-s3`。當 SDK 偵測到此命名模式時，會自動將請求路由到適當的 S3 Express One Zone 端點，並套用最佳化的身分驗證流程。工作階段身分驗證會建立暫時性的儲存貯體特定登入資料，提供對儲存貯體的低延遲存取，並由 SDK 自動快取和重新整理。如需進一步了解，請參閱《Amazon [S3 使用者指南》中的 S3 Express One Zone](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-high-performance.html#s3-express-one-zone)。 *Amazon S3 * 

預設會針對 S3 Express One Zone 儲存貯體啟用工作階段身分驗證。

使用下列項目設定此功能：

**`s3_disable_express_session_auth` - 共用 AWS `config`檔案設定`AWS_S3_DISABLE_EXPRESS_SESSION_AUTH` - 環境變數`aws.disableS3ExpressAuth` - JVM 系統屬性：僅限 Java/Kotlin**  
控制是否停用 S3 Express One Zone 工作階段身分驗證。設定為 時`true`，開發套件會對 S3 Express One Zone 儲存貯體使用標準 SigV4 身分驗證，而非工作階段身分驗證。 S3   
**預設值**：`false`  
**有效值**：  
+ **`true`** – 停用 S3 Express One Zone 工作階段身分驗證。
+ **`false`** – 啟用 S3 Express One Zone 工作階段身分驗證。

在 `config` 檔案中設定此值的範例：

```
[default]
s3_disable_express_session_auth=true
```

透過命令列設定環境變數的 Linux/macOS 範例：

```
export AWS_S3_DISABLE_EXPRESS_SESSION_AUTH=true
```

透過命令列設定環境變數的 Windows 範例：

```
setx AWS_S3_DISABLE_EXPRESS_SESSION_AUTH true
```

## 支援 AWS SDKs和工具
<a name="s3-express-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [AWS CLI v1](https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-welcome.html) | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 否 | 若要使用共用config檔案設定，您必須開啟從組態檔案載入；請參閱[工作階段](https://docs.aws.amazon.com/sdk-for-go/api/aws/session/)。 | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 |  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 否 |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 否 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 | JVM 系統屬性為 aws.s3DisableExpressSessionAuth。 | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 是 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 |  | 

# 身分驗證機制
<a name="feature-auth-scheme"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

AWS 服務支援多個身分驗證機制，例如 AWS Signature 第 4 版 (SigV4) 和 AWS Signature 第 4a 版 (SigV4a)。根據預設，SDKs會根據服務模型定義選取身分驗證機制，並優先考慮提供最佳相容性的機制。不過，您可以設定偏好的身分驗證機制，以針對特定需求進行最佳化。

與 SigV4 不同，使用 SigV4a 簽署的請求在多個 中有效 AWS 區域。SigV4a 透過跨區域請求簽署提供增強的可用性，可在區域中斷期間自動容錯移轉至備份區域。這對 AWS Identity and Access Management 或 Amazon CloudFront 等全球服務特別有用。

如需這兩個身分驗證機制的詳細資訊，請參閱《*IAM 使用者指南*》中的 [AWS API 請求的簽章版本 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)。

使用下列項目設定此功能：

**`auth_scheme_preference` - 共用 AWS `config`檔案設定`AWS_AUTH_SCHEME_PREFERENCE` - 環境變數`aws.authSchemePreference` - JVM 系統屬性：僅限 Java/Kotlin**  
依優先順序指定以逗號分隔的偏好身分驗證機制清單。當服務支援多個身分驗證方案時，開發套件會嘗試以指定的順序使用此清單中的方案，如果沒有可用的偏好方案，則會回復為預設行為。  
**預設值：**無。  
**有效值：**下列一或多個項目的逗號分隔清單：  
+ **`sigv4`** – Signature 第 4 版 （最高效能，單一區域）
+ **`sigv4a`** – Signature 第 4a 版 （增強可用性、跨區域支援，簽署效能比 SigV4 慢）
+ **`httpBearerAuth`** – HTTP 承載字符身分驗證
配置名稱之間的空格和標籤字元會被忽略。  
在 `config` 檔案中設定此值以偏好 SigV4a 的範例：  

```
[default]
auth_scheme_preference=sigv4a,sigv4
```

**`sigv4a_signing_region_set` - 共用 AWS `config`檔案設定`AWS_SIGV4A_SIGNING_REGION_SET` - 環境變數**  
為 SigV4a 多區域簽署指定以逗號分隔 AWS 區域 的 清單。如果 SigV4a 是選取的身分驗證機制，則會將其用作請求的預設區域集。  
**預設值：**由請求決定。  
**有效值：**以逗號分隔的 清單 AWS 區域。區域之間的空格和標籤字元會被忽略。

## 支援 AWS SDKs和工具
<a name="auth-scheme-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 否 |  | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 |  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 否 |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 否 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 否 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 是 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 否 |  | 

# AWS 區域
<a name="feature-region"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

AWS 區域 是使用 時需要了解的重要概念 AWS 服務。

使用 AWS 區域，您可以存取實際位於特定地理區域的 AWS 服務 。這有助於讓您的資料和應用程式在靠近您和您的使用者將存取它們的位置執行。區域提供容錯能力、穩定性和恢復能力，也可降低延遲。使用 區域，您可以建立備援資源，以保持可用且不受區域中斷影響。

大多數 AWS 服務 請求都與特定地理區域相關聯。除非您明確使用 提供的複寫功能，否則您在一個區域中建立的資源不會存在於任何其他區域中 AWS 服務。例如，Amazon S3 和 Amazon EC2 支援跨區域複寫。有些服務，例如 IAM，沒有區域資源。

*AWS 一般參考* 包含下列資訊：
+  若要了解區域和端點之間的關係，以及檢視現有區域端點的清單，請參閱 [AWS 服務端點](https://docs.aws.amazon.com/general/latest/gr/rande.html)。
+ 若要檢視每個 所有支援的區域和端點的目前清單 AWS 服務，請參閱[服務端點和配額](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html)。

**建立服務用戶端**

若要以程式設計方式存取 AWS 服務，SDKs會為每個 使用用戶端類別/物件 AWS 服務。例如，如果您的應用程式需要存取 Amazon EC2，您的應用程式會建立 Amazon EC2 用戶端物件以與該服務連接。

如果程式碼本身未明確為用戶端指定區域，用戶端會預設為使用透過下列設定設定的 區域`region`。不過，可以針對任何個別用戶端物件明確設定用戶端的作用中區域。以這種方式設定區域優先於該特定服務用戶端的任何全域設定。替代區域是在該用戶端的執行個體化期間指定，專屬於您的 SDK （請參閱您的特定 SDK 指南或軟體開發套件的程式碼基底）。

使用下列項目設定此功能：

**`region` - 共用 AWS `config`檔案設定`AWS_REGION` - 環境變數`aws.region` - JVM 系統屬性：僅限 Java/Kotlin**  
指定 AWS 區域 要用於 AWS 請求的預設值。此區域用於未隨附要使用之特定區域的 SDK 服務請求。  
**預設值：**無。您必須明確指定此值。  
**有效值**：  
+ 適用於所選服務的任何區域代碼，如 *AWS 一般參考*中的[AWS 服務端點](https://docs.aws.amazon.com/general/latest/gr/rande.html)所列。例如， 值`us-east-1`會將端點設定為 AWS 區域 美國東部 （維吉尼亞北部）。
+ `aws-global` 指定 服務的全域端點，除了區域端點之外，還支援個別的全域端點，例如 AWS Security Token Service (AWS STS) 和 Amazon Simple Storage Service (Amazon S3)。

在 `config` 檔案中設定此值的範例：

```
[default]
region = us-west-2
```

透過命令列設定環境變數的 Linux/macOS 範例：

```
export AWS_REGION=us-west-2
```

透過命令列設定環境變數的 Windows 範例：

```
setx AWS_REGION us-west-2
```

大多數 SDKs 都有一個「組態」物件，可用於從應用程式程式碼內設定預設區域。如需詳細資訊，請參閱您的特定 AWS SDK 開發人員指南。

## 支援 AWS SDKs和工具
<a name="feature-region-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 | AWS CLI v2 在 中的任何值AWS\$1REGION之前，會先使用 中的任何值 AWS\$1DEFAULT\$1REGION（會檢查兩個變數）。 | 
| [AWS CLI v1](https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-welcome.html) | 是 | AWS CLI v1 會將名為 的環境變數AWS\$1DEFAULT\$1REGION用於此目的。 | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 是 | 若要使用共用config檔案設定，您必須開啟從組態檔案載入；請參閱[工作階段](https://docs.aws.amazon.com/sdk-for-go/api/aws/session/)。 | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 |  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 是 |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 是 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 | 此 SDK 會將名為 的環境變數AWS\$1DEFAULT\$1REGION用於此目的。 | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 是 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 |  | 

# AWS STS 區域端點
<a name="feature-sts-regionalized-endpoints"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

 AWS Security Token Service (AWS STS) 提供全球和區域服務。有些 AWS SDKs 和 CLIs 預設使用全域服務端點 (`https://sts.amazonaws.com`)，有些則使用區域服務端點 (`https://sts.{region_identifier}.{partition_domain}`)。在[預設啟用](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)的區域中，對 AWS STS 全域端點的請求會在請求產生的相同區域中自動提供。在選擇加入區域中，全域 AWS STS 端點的請求由單一 AWS 區域美國東部 （維吉尼亞北部） 提供。如需 AWS STS 端點的詳細資訊，請參閱*AWS Security Token Service 《 API 參考*》中的[端點](https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html#sts-endpoints)或《 *AWS Identity and Access Management 使用者指南*[AWS STS 》中的管理 AWS 區域](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)。

 AWS 最佳實務是盡可能使用區域端點並設定您的 [AWS 區域](feature-region.md)。商業 以外[分割區](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html?id=docs_gateway#partition)中的客戶必須使用區域端點。並非所有 SDKs和工具都支援此設定，但所有 都已定義全球和區域端點的行為。如需詳細資訊，請參閱下一節。

**注意**  
AWS 已對[依預設啟用](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)的區域中的 AWS Security Token Service (AWS STS) 全域端點 (`https://sts.amazonaws.com`) 進行變更，以增強其彈性和效能。對全域端點的 AWS STS 請求會在與您的工作負載 AWS 區域 相同的 中自動提供。這些變更不會部署至選擇加入區域。我們建議您使用適當的 AWS STS 區域端點。如需詳細資訊，請參閱*AWS Identity and Access Management 《 使用者指南*》中的[AWS STS 全域端點變更](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_region-endpoints.html#reference_sts_global_endpoint_changes)。

對於支援此設定的 SDKs 和工具，客戶可以使用下列項目來設定功能：

**`sts_regional_endpoints` - 共用 AWS `config`檔案設定`AWS_STS_REGIONAL_ENDPOINTS` - 環境變數**  
此設定指定 SDK 或工具如何決定用來與 AWS 服務 AWS Security Token Service () 通訊的端點AWS STS。  
**預設值：**`regional`，請參閱下表中的例外狀況。  
2022 年 7 月之後發行的所有新 SDK 主要版本都將預設為 `regional`。新的 SDK 主要版本可能會移除此設定並使用`regional`行為。為了降低此變更的未來影響，我們建議您盡可能`regional`在應用程式中開始使用 。
**有效值：**   *（建議值：`regional`)*   
+ **`legacy`** – 使用全域 AWS STS 端點 `sts.amazonaws.com`。
+ **`regional`** – SDK 或工具一律使用目前設定區域的 AWS STS 端點。例如，如果用戶端設定為使用 `us-west-2`，則對 的所有呼叫 AWS STS 都會對區域端點 進行`sts.us-west-2.amazonaws.com`，而不是全域`sts.amazonaws.com`端點。若要在啟用此設定的同時，將請求傳送至全域端點，您可以將區域設為 `aws-global`。
在 `config` 檔案中設定這些值的範例：  

```
[default]
sts_regional_endpoints = regional
```
透過命令列設定環境變數的 Linux/macOS 範例：  

```
export AWS_STS_REGIONAL_ENDPOINTS=regional
```
透過命令列設定環境變數的 Windows 範例：  

```
setx AWS_STS_REGIONAL_ENDPOINTS regional
```

## 支援 AWS SDKs和工具
<a name="feature-sts-regionalized-endpoints-sdk-compat"></a>

**注意**  
 AWS 最佳實務是盡可能使用區域端點並設定您的 [AWS 區域](feature-region.md)。

 以下資料表摘要說明 SDK 或工具：
+ **支援設定**：是否支援 STS 區域端點的共用`config`檔案變數和環境變數。
+ **預設設定值**：如果支援，則設定的預設值。
+ **預設服務用戶端目標 STS 端點**：用戶端使用什麼預設端點，即使變更它的設定不可用。
+ **服務用戶端備用行為**：軟體開發套件應該使用區域端點，但未設定區域時所執行的動作。這是行為，無論它是否因為預設值而使用區域端點，還是因為 `regional` 已由 設定選取。

資料表也會使用下列值：
+ **全域端點**：`https://sts.amazonaws.com`。
+ **區域端點**：根據您應用程式[AWS 區域](feature-region.md)所使用的設定。
+ **`us-east-1` （區域）**：使用`us-east-1`區域端點，但具有比一般全域請求更長的工作階段字符。


| SDK |  支援設定  |  預設設定值  |  預設服務用戶端目標 STS 端點  |  服務用戶端備用行為  | 備註或更多資訊 | 
| --- | --- | --- | --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 否 | N/A | 區域 (Region) 端點 | 全域端點 |  | 
| [AWS CLI v1](https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-welcome.html) | 是 | legacy | 全域端點 | 全域端點 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 否 | N/A | 區域 (Region) 端點 | us-east-1 （區域） |  | 
| [SDK for Go V2 (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 否 | N/A | 區域 (Region) 端點 | 請求失敗 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 是 | legacy | 全域端點 | 全域端點 | 若要使用共用config檔案設定，您必須開啟從組態檔案載入；請參閱[工作階段](https://docs.aws.amazon.com/sdk-for-go/api/aws/session/)。 | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 否 | N/A | 區域 (Region) 端點 | 請求失敗 |  如果未設定區域， `AssumeRole`和 `AssumeRoleWithWebIdentity`將使用全域 STS 端點。  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 是 | legacy | 全域端點 | 全域端點 |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 否 | N/A | 區域 (Region) 端點 | us-east-1 （區域） |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 是 | legacy | 全域端點 | 全域端點 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 否 | N/A | 區域 (Region) 端點 | 全域端點 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 否 | N/A | 區域 (Region) 端點 | us-east-1 （區域） |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 | regional | 全域端點 | 全域端點 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 | regional | 全域端點 | 請求失敗 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 | regional | 全域端點 | 全域端點 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 | regional | 區域 (Region) 端點 | 請求失敗 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 否 | N/A | 區域 (Region) 端點 | 請求失敗 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 否 | N/A | 區域 (Region) 端點 | 請求失敗 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 | regional | 全域端點 | 全域端點 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 | regional | 全域端點 | 全域端點 |  | 

# Amazon S3 的資料完整性保護
<a name="feature-dataintegrity"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

一段時間內， AWS SDKs將資料上傳至 Amazon Simple Storage Service 或從 Amazon Simple Storage Service 下載資料時支援資料完整性檢查。先前，這些檢查是選擇加入。現在，我們預設已使用 CRC 型演算法啟用這些檢查，例如 CRC32 或 CRC64NVME。雖然每個 SDK 或工具都有預設演算法，但您可以選擇不同的演算法。您也可以視需要繼續手動提供上傳的預先計算檢查總和。跨上傳、分段上傳、下載和加密模式的一致行為可簡化用戶端完整性檢查。

 最新版本的 AWS SDKs，並 AWS CLI 自動計算每次上傳的[循環備援檢查 (CRC) 型檢查總](https://en.wikipedia.org/wiki/Cyclic_redundancy_check)和，並將其傳送至 Amazon S3。Amazon S3 會獨立計算伺服器端的檢查總和，並根據提供的值進行驗證，然後再將物件及其檢查總和永久存放在物件的中繼資料中。透過將檢查總和與物件一起存放在中繼資料中，當物件下載時，也可以自動傳回相同的檢查總和，並用於驗證下載。您也可以隨時驗證存放在物件中繼資料中的檢查總和。

 若要進一步了解檢查總和操作、分段上傳或支援的檢查總和演算法清單，請參閱《[Amazon Simple Storage Service 使用者指南》中的在 Amazon S3 中檢查物件完整性](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)。 **

 **分段上傳：**

Amazon S3 也為開發人員提供跨單一部分和分段上傳的一致完整物件檢查總和。

以多個部分上傳檔案時，SDKs會計算每個部分的檢查總和。Amazon S3 使用這些檢查總和透過 `UploadPart` API 驗證每個部分的完整性。此外，當您呼叫 `CompleteMultipartUpload` API 時，Amazon S3 會驗證整個檔案的大小和檢查總和。

如果您的 SDK 具有 Amazon S3 Transfer Manager 來協助分段上傳，則檢查總和會使用[支援 AWS SDKs和工具](#dataintegrity-sdk-compat)資料表中找到的開發套件特定預設演算法來驗證組件。您可以選擇加入完整的物件檢查總和，方法是`checksum_type`將 設定為 ，`FULL_OBJECT`或選擇使用 CRC64NVME 演算法。

** 如果您使用的是較舊版本的 SDK 或 AWS CLI：**

如果您的應用程式使用 SDK 或工具 2024 年 12 月之前的版本，Amazon S3 仍會在新物件上計算 CRC64NVME 檢查總和，並將其存放在物件中繼資料中以供日後參考。您稍後可以將存放的 CRC 與在 端計算的 CRC 進行比較，並確認網路傳輸正確。此外，您仍然可以透過使用 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)或 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)請求提供您自己的預先計算檢查總和來手動擴展完整性保護，這是在較舊版本中解決此問題的標準技術。



使用下列項目設定此功能：

**`request_checksum_calculation` - 共用 AWS `config`檔案設定`AWS_REQUEST_CHECKSUM_CALCULATION` - 環境變數`aws.requestChecksumCalculation` - JVM 系統屬性：僅限 Java/Kotlin**  
根據預設，使用者在傳送請求時可以選擇加入計算請求檢查總和。使用者可以選擇任何[可用的檢查總和演算法](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html)，做為建置請求的一部分。否則，會使用 SDK 特定的預設演算法。如需每個 SDK 或工具的預設演算法，請參閱 [支援 AWS SDKs和工具](#dataintegrity-sdk-compat)資料表。  
**預設值**：`WHEN_SUPPORTED`  
**有效值**：  
+ **`WHEN_SUPPORTED`** – 當 API 操作支援時，對所有請求承載執行檢查總和驗證，例如資料傳輸到 Amazon S3。
+ **`WHEN_REQUIRED`** – 只有在 API 操作需要時，才會執行檢查總和驗證。

**`response_checksum_validation` - 共用 AWS `config`檔案設定`AWS_RESPONSE_CHECKSUM_VALIDATION` - 環境變數`aws.responseChecksumValidation` - JVM 系統屬性：僅限 Java/Kotlin**  
根據預設，使用者在傳送請求時可以選擇加入回應檢查總和驗證。系統會計算回應承載的檢查總和，並與檢查總和回應標頭進行比較。如果檢查總和驗證失敗，會在讀取承載時向使用者引發錯誤。  
 檢查總和回應標頭也會指出檢查總和的演算法。Amazon S3 用戶端會嘗試驗證支援檢查總和之所有 Amazon S3 API 操作的回應檢查總和。不過，如果軟體開發套件未實作指定的檢查總和演算法，則會略過此驗證。  
**預設值**：`WHEN_SUPPORTED`  
**有效值**：  
+ **`WHEN_SUPPORTED`** – 當 API 操作支援時，檢查總和驗證會在所有回應承載上執行，例如資料傳輸到 Amazon S3。
+ **`WHEN_REQUIRED`** – 只有在 API 操作支援且發起人已明確啟用操作的檢查總和時，才會執行檢查總和驗證。例如，當呼叫 Amazon S3 `GetObject` API 且 `ChecksumMode` 參數設定為啟用時。

## 支援 AWS SDKs和工具
<a name="dataintegrity-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。

**注意**  
在下表中，「CRT」是指 [AWS 通用執行期 (CRT) 程式庫](common-runtime.md)，可能需要為您的專案新增額外的相依性。


| SDK | 支援 | 預設檢查總和演算法 | 支援的檢查總和演算法 | 備註或更多資訊 | 
| --- | --- | --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 | CRC64NVME | CRC64NVME, CRC32, CRC32C, SHA1, SHA256 | 對於 AWS CLI v1，預設演算法和支援的演算法將與 Python (Boto3) 相同。 | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 | CRC64NVME | CRC64NVME, CRC32, CRC32C, SHA1, SHA256 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 | CRC32 | CRC64NVME, CRC32, CRC32C, SHA1, SHA256 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 否 |  |  |  | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 | CRC32 | CRC64NVME （僅透過 CRT)、CRC32, CRC32C, SHA1, SHA256 |  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 否 |  |  |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 | CRC32 | CRC32, CRC32C, SHA1, SHA256 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 否 |  |  |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 | CRC32 | CRC32, CRC32C, SHA1, SHA256 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 | CRC32 | CRC32, CRC32C, SHA1, SHA256 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 | CRC32 | CRC32, CRC32C, SHA1, SHA256 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 | CRC32 | CRC32, CRC32C （僅透過 CRT)、SHA1, SHA256 | awscrt 需要擴充功能才能使用 CRC32C。 | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 | CRC32 | CRC64NVME （僅透過 CRT)、CRC32, CRC32C （僅透過 CRT)、SHA1, SHA256 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 | CRC32 | CRC64NVME （僅透過 CRT)、CRC32, CRC32C （僅透過 CRT)、SHA1, SHA256 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 | CRC32 | CRC64NVME, CRC32, CRC32C, SHA1, SHA256 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 是 | CRC32 | CRC64NVME, CRC32, CRC32C, SHA1, SHA256 | 所有演算法都需要 CRT 相依性。 | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 | CRC32 | CRC32, CRC32C, SHA1, SHA256 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 | CRC32 | CRC32, CRC32C, SHA1, SHA256 |  | 

# 雙堆疊和 FIPS 端點
<a name="feature-endpoints"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

使用下列項目設定此功能：

**`use_dualstack_endpoint` - 共用 AWS `config`檔案設定`AWS_USE_DUALSTACK_ENDPOINT` - 環境變數`aws.useDualstackEndpoint` - JVM 系統屬性：僅限 Java/Kotlin**  
開啟或關閉軟體開發套件是否將請求傳送至雙堆疊端點。若要進一步了解支援 IPv4 和 IPv6 流量的雙堆疊端點，請參閱《Amazon Simple Storage Service 使用者指南》**中的[使用 Amazon S3 雙堆疊端點](https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html)。雙堆疊端點適用於部分區域的某些服務。  
**預設值**：`false`  
**有效值**：  
+ **`true`** – SDK 或工具會嘗試使用雙堆疊端點來提出網路請求。如果服務和/或 不存在雙堆疊端點 AWS 區域，請求將會失敗。
+ **`false`** – SDK 或工具不會使用雙堆疊端點提出網路請求。

**`use_fips_endpoint` - 共用 AWS `config`檔案設定`AWS_USE_FIPS_ENDPOINT` - 環境變數`aws.useFipsEndpoint` - JVM 系統屬性：僅限 Java/Kotlin**  
開啟或關閉軟體開發套件或工具是否將請求傳送至符合 FIPS 標準的端點。聯邦資訊處理標準 (FIPS) 是一組美國政府對資料及其加密的安全要求。政府機構、合作夥伴以及想要與聯邦政府進行業務合作的人員必須遵守 FIPS 準則。與標準 AWS 端點不同，FIPS 端點使用經過 FIPS 140 驗證的 TLS 軟體程式庫。如果啟用此設定，且 服務不存在 FIPS 端點 AWS 區域，則 AWS 呼叫可能會失敗。 [服務特定的端點](feature-ss-endpoints.md)和 `--endpoint-url`選項會 AWS Command Line Interface 覆寫此設定。  
若要進一步了解依 指定 FIPS 端點的其他方式 AWS 區域，請參閱[依服務的 FIPS 端點](https://aws.amazon.com/compliance/fips/)。如需 Amazon Elastic Compute Cloud 服務端點的詳細資訊，請參閱《*Amazon EC2 API 參考*》中的[雙堆疊 (IPv4 和 IPv6) 端點](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Using_Endpoints.html#ipv6)。  
**預設值**：`false`  
**有效值**：  
+ **`true`** – SDK 或工具會將請求傳送至符合 FIPS 規範的端點。
+ **`false`** – SDK 或工具不會將請求傳送至符合 FIPS 規範的端點。

## 支援 AWS SDKs和工具
<a name="endpoints-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 是 | 若要使用共用config檔案設定，您必須開啟從組態檔案載入；請參閱[工作階段](https://docs.aws.amazon.com/sdk-for-go/api/aws/session/)。 | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 |  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 否 |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 是 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 是 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 |  | 

# 端點探索
<a name="feature-endpoint-discovery"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

SDKs使用端點探索來存取服務端點 (URLs存取各種資源） AWS ，同時仍保有 視需要變更 URLs彈性。如此一來，您的程式碼就會自動偵測新的端點。某些服務沒有固定端點。相反地，您可以透過請求先取得端點，在執行時間期間取得可用的端點。擷取可用的端點之後，程式碼接著會使用端點來存取其他操作。例如，對於 Amazon Timestream，軟體開發套件會發出擷取可用端點的`DescribeEndpoints`請求，然後使用這些端點來完成特定操作，例如 `CreateDatabase`或 `CreateTable`。

使用下列項目設定此功能：

**`endpoint_discovery_enabled` - 共用 AWS `config`檔案設定`AWS_ENABLE_ENDPOINT_DISCOVERY` - 環境變數`aws.endpointDiscoveryEnabled` - JVM 系統屬性：僅限 Java/Kotlin若要直接在程式碼中設定值，請直接參閱您的特定 SDK。**  
開啟或關閉 DynamoDB 的端點探索。  
Timestream 需要端點探索，Amazon DynamoDB 則為選用。此設定預設為 `true`或 ，`false`取決於服務是否需要端點探索。Timestream 請求預設為 `true`，Amazon DynamoDB 請求預設為 `false`。  
**有效值**：  
+ **`true`** – SDK 應自動嘗試探索 服務的端點，其中端點探索是選用的。
+ **`false`** – SDK 不應自動嘗試探索 服務的端點，其中端點探索是選用的。

## 支援 AWS SDKs和工具
<a name="endpoint-discovery-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 是 | 若要使用共用config檔案設定，您必須開啟從組態檔案載入；請參閱[工作階段](https://docs.aws.amazon.com/sdk-for-go/api/aws/session/)。 | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 | 適用於 Java 的 SDK 2.x AWS\$1ENDPOINT\$1DISCOVERY\$1ENABLED用於環境變數名稱。 | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 部分 | 不支援 JVM 系統屬性。 | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 是 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 部分 | 僅支援 Timestream。 | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 否 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 |  | 

# 一般組態設定
<a name="feature-gen-config"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

SDKs支援一些設定整體軟體開發套件行為的一般設定。

使用下列項目設定此功能：

**`api_versions` - 共用 AWS `config`檔案設定**  
有些 AWS 服務會維護多個 API 版本，以支援回溯相容性。根據預設， SDK 和 AWS CLI 操作會使用最新的可用 API 版本。若要要求特定 API 版本用於您的請求，請在設定檔中包含 `api_versions`設定。  
**預設值：**無。（開發套件會使用最新 API 版本。)   
**有效值：**這是一個巢狀設定，後面接著一或多個縮排行，每個行都會識別一個 AWS 服務和要使用的 API 版本。請參閱 AWS 服務的文件，以了解可用的 API 版本。  
 此範例會為 `config` 檔案中的兩個 AWS 服務設定特定的 API 版本。這些 API 版本僅適用於在包含這些設定的描述檔下執行的命令。任何其他服務的命令會使用該服務 API 的最新版本。  

```
api_versions =
    ec2 = 2015-03-01
    cloudfront = 2015-09-017
```

**`ca_bundle` - 共用 AWS `config`檔案設定`AWS_CA_BUNDLE` - 環境變數**  
指定建立 SSL/TLS 連線時要使用的自訂憑證套件 （具有`.pem`副檔名的檔案） 路徑。  
**預設值：**無  
**有效值：**指定完整路徑或基本檔案名稱。如果有基本檔案名稱，系統會嘗試在`PATH`環境變數指定的資料夾中尋找程式。  
 在 `config` 檔案中設定此值的範例：  

```
[default]
ca_bundle = dev/apps/ca-certs/cabundle-2019mar05.pem
```
由於作業系統如何處理路徑和路徑字元逸出的差異，以下是在 Windows 的 `config` 檔案中設定此值的範例：  

```
[default]
ca_bundle = C:\\Users\\username\\.aws\\aws-custom-bundle.pem
```
透過命令列設定環境變數的 Linux/macOS 範例：  

```
export AWS_CA_BUNDLE=/dev/apps/ca-certs/cabundle-2019mar05.pem
```
透過命令列設定環境變數的 Windows 範例：  

```
setx AWS_CA_BUNDLE C:\dev\apps\ca-certs\cabundle-2019mar05.pem
```

**`output` - 共用 AWS `config`檔案設定**  
指定 AWS CLI 和其他 AWS SDKs和工具中結果的格式。  
**預設值**：`json`  
**有效值**：  
+ **[https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html#json-output](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html#json-output)** – 輸出的格式為 [JSON](https://json.org/) 字串。
+  **[https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html#yaml-output](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html#yaml-output)** – 輸出的格式為 [YAML](https://yaml.org/) 字串。
+ **[https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html#yaml-stream-output](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html#yaml-stream-output)** – 輸出採用串流方式且格式為 [YAML](https://yaml.org/) 字串。串流可加速處理大型資料類型。
+ **[https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html#text-output](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html#text-output)** – 輸出的格式是多行以 Tab 分隔的字串值。這對於將輸出傳遞給文字處理器 (如 `grep`、`sed` 或 `awk`) 非常有用。
+ **[https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html#table-output](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html#table-output)** – 輸出的格式為使用字元 \$1\$1- 形成儲存格框線的表格。它通常以「方便人類使用」的格式來呈現資訊，這種格式比其他格式更容易閱讀，但在編寫程式方面較不有用。

**`parameter_validation` - 共用 AWS `config`檔案設定**  
指定軟體開發套件或工具是否在將 AWS 命令列參數傳送至服務端點之前嘗試驗證命令列參數。  
**預設值**：`true`  
**有效值**：  
+ **`true`** – 預設值。SDK 或工具會執行命令列參數的用戶端驗證。這有助於 SDK 或工具確認參數有效，並擷取一些錯誤。開發套件或工具可以在傳送請求至 AWS 服務端點之前，拒絕無效的請求。
+  **`false`** – SDK 或工具不會在將命令列參數傳送到 AWS 服務端點之前驗證命令列參數。 AWS 服務端點負責驗證所有請求，並拒絕無效的請求。

## 支援 AWS SDKs和工具
<a name="feature-gen-config-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 部分 | api\$1versions 不支援。 | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 部分 | api\$1versions parameter\$1validation不支援 和 。 | 
| [適用於 Go 1.x (V1) 的 SDK](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 部分 | api\$1versions parameter\$1validation不支援 和 。若要使用共用config檔案設定，您必須開啟從組態檔案載入；請參閱[工作階段](https://docs.aws.amazon.com/sdk-for-go/api/aws/session/)。 | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 否 |  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 否 |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 是 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 否 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 否 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 否 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 否 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 否 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 否 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 否 |  | 

# 主機字首注入
<a name="feature-host-prefix"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

主機字首插入是一項功能，其中 AWS SDKs會自動在特定 API 操作的服務端點主機名稱前面加上字首。此字首可以是靜態字串或動態值，其中包含來自請求參數的資料。

例如，使用 Amazon Simple Storage Service 在 Amazon S3 物件或儲存貯體上執行動作時，軟體開發套件會取代最終 API 端點中的儲存貯體名稱和 AWS 帳戶 ID。

雖然一般 AWS 服務端點需要此行為，但在使用 VPC 端點或本機測試工具等自訂端點時，可能會導致問題。在這些情況下，您可能需要停用主機字首注入。

使用下列項目設定此功能：

**`disable_host_prefix_injection` - 共用 AWS `config`檔案設定`AWS_DISABLE_HOST_PREFIX_INJECTION` - 環境變數`aws.disableHostPrefixInjection` - JVM 系統屬性：僅限 Java/Kotlin**  
此設定會控制軟體開發套件或工具是否透過在軟體開發套件的用戶端物件或變數中定義的主機字首前加上來修改端點主機名稱。  
**預設值**：`false`  
**有效值**：  
+ **`true`** – 停用主機字首注入。SDK 不會修改端點主機名稱。
+ **`false`** – 啟用主機字首注入。SDK 會在端點主機名稱的主機字首前面加上 。

在 `config` 檔案中設定此值的範例：

```
[default]
disable_host_prefix_injection = true
```

透過命令列設定環境變數的 Linux/macOS 範例：

```
export AWS_DISABLE_HOST_PREFIX_INJECTION=true
```

透過命令列設定環境變數的 Windows 範例：

```
setx AWS_DISABLE_HOST_PREFIX_INJECTION true
```

## 主機字首注入的範例
<a name="hostprefix_examples"></a>

下表範例顯示 SDKs如何在啟用和停用主機字首注入時修改最終端點。
+ **主機字首**：在 SDK 的用戶端物件或程式碼中的變數上設定的主機字首屬性字串範本。
+ **輸入**：在 SDK 的用戶端物件或程式碼中的變數上設定的其他輸入。
+ **用戶端端點**：用戶端的衍生端點。
+ **設定值**：上一個設定的解析值。
+ **產生的端點**：SDK 用戶端用來進行 API 呼叫的產生端點。


| 主機字首 | 輸入 | 用戶端端點 | 設定值 | 產生的端點 | 
| --- |--- |--- |--- |--- |
| "data." | \$1\$1 | "https://service.us-west-2.amazonaws.com" | false | "https://data.service.us-west-2.amazonaws.com" | 
| "\$1Bucket\$1-\$1AccountId\$1." | Bucket: "amzn-s3-demo-bucket1", AccountId:"123456789012" | "https://service.us-west-2.amazonaws.com" | false | "https://amzn-s3-demo-bucket1-123456789012.service.us-west-2.amazonaws.com" | 
| "data." | \$1\$1 | "https://override.us-west-2.amazonaws.com" (as an override endpoint) | true | "https://override.us-west-2.amazonaws.com" | 

## 支援 AWS SDKs和工具
<a name="host-prefix-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 否 | 不支援設定 ，但可以使用 在用戶端的程式碼中設定 ：[https://sdk.amazonaws.com/cpp/api/LATEST/aws-cpp-sdk-core/html/struct_aws_1_1_client_1_1_client_configuration.html](https://sdk.amazonaws.com/cpp/api/LATEST/aws-cpp-sdk-core/html/struct_aws_1_1_client_1_1_client_configuration.html)。 | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 否 | 可以使用[中介軟體](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/configure-endpoints.html)停用。 | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 否 |  | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 否 | 不支援設定 ，但可以使用 在用戶端的程式碼中設定 ：[https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/core/client/config/SdkAdvancedClientOption.html#DISABLE_HOST_PREFIX_INJECTION](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/core/client/config/SdkAdvancedClientOption.html#DISABLE_HOST_PREFIX_INJECTION)。 | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 否 | 不支援設定 ，但可以使用 在用戶端的程式碼中設定 ：[https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/ClientConfiguration.html](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/ClientConfiguration.html)。 | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 否 | 不支援設定 ，但可以使用 在用戶端的程式碼中設定 ：[https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3-control/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3-control/)。 | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 否 | 不支援設定 ，但可以使用 在用戶端的程式碼中設定 ：[https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html)。 | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 否 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 否 | 不支援設定 ，但可以使用 在用戶端的程式碼中設定 [https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html)。 | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 否 | 不支援設定 ，但可以使用 在用戶端的程式碼中設定 [https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TClientConfig.html](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TClientConfig.html)。 | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 否 | 不支援設定 ，但可以使用 在用戶端的程式碼中設定 ：[https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.AwsClient.html](https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.AwsClient.html)。 | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 | 您可以使用 ，在用戶端的程式碼中設定 [https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html)。 | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 否 | 不支援設定 ，但可以使用 在用戶端的程式碼中設定 ：[https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/lib/aws-sdk-core/plugins/endpoint_pattern.rb#L8](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/lib/aws-sdk-core/plugins/endpoint_pattern.rb#L8)。 | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 否 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 否 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 否 | 不支援設定，但可以使用參數 包含在特定 cmdlet 中-ClientConfig @\$1DisableHostPrefixInjection = \$1true\$1。 | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 否 | 不支援設定，但可以使用參數 包含在特定 cmdlet 中-ClientConfig @\$1DisableHostPrefixInjection = \$1true\$1。 | 

# IMDS 用戶端
<a name="feature-imds-client"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

SDKs使用工作階段導向請求實作執行個體中繼資料服務第 2 版 (IMDSv2) 用戶端。如需 IMDSv2 的詳細資訊，請參閱《Amazon EC2 使用者指南》中的[使用 IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html)2。 *Amazon EC2 * IMDS 用戶端可透過 SDK 程式碼庫中提供的用戶端組態物件進行設定。

使用下列項目設定此功能：

**`retries` - 用戶端組態物件成員**  
任何失敗請求的額外重試嘗試次數。  
**預設值：**3   
**有效值：**大於 0 的數字。

**`port` - 用戶端組態物件成員**  
端點的連接埠。  
**預設值：**80   
**有效值：**數字。

**`token_ttl` - 用戶端組態物件成員**  
字符的 TTL。  
**預設值：**21，600 秒 (6 小時，最大分配時間）。  
**有效值：**數字。

**`endpoint` - 用戶端組態物件成員**  
IMDS 的端點。  
**預設值：**如果 `endpoint_mode`等於 `IPv4`，則預設端點為 `http://169.254.169.254`。如果 `endpoint_mode`等於 `IPv6`，則預設端點為 `http://[fd00:ec2::254]`。  
**有效值：**有效 URI。



大多數 SDKs 支援下列選項。如需詳細資訊，請參閱您的特定 SDK 程式碼庫。

**`endpoint_mode` - 用戶端組態物件成員**  
IMDS 的端點模式。  
**預設值**：`IPv4`  
**有效值**：`IPv4`、`IPv6`

**`http_open_timeout` - 用戶端組態物件成員 （名稱可能有所不同）**  
等待連線開啟的秒數。  
**預設值：**1 秒。  
**有效值：**大於 0 的數字。

**`http_read_timeout` - 用戶端組態物件成員 （名稱可能有所不同）**  
要讀取的資料區塊的秒數。  
**預設值：**1 秒。  
**有效值：**大於 0 的數字。

**`http_debug_output` - 用戶端組態物件成員 （名稱可能有所不同）**  
設定用於偵錯的輸出串流。  
**預設值：**無。  
**有效值：**有效的 I/O 串流，例如 STDOUT。

**`backoff` - 用戶端組態物件成員 （名稱可能會有所不同）**  
重試或客戶提供的退避函數之間要呼叫的休眠秒數。這會覆寫預設指數退避策略。  
**預設值：**依 SDK 而異。  
**有效值：**依 SDK 而異。可以是數值或呼叫自訂函數。

## 支援 AWS SDKs和工具
<a name="feature-imds-client-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 否 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 是 |  | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 |  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 是 |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 是 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 否 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 是 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 |  | 

# 重試行為
<a name="feature-retry-behavior"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

重試行為包括 SDKs 如何嘗試從對 提出的請求所產生的失敗中復原的設定 AWS 服務。

使用下列項目設定此功能：

**`retry_mode` - 共用 AWS `config`檔案設定`AWS_RETRY_MODE` - 環境變數`aws.retryMode` - JVM 系統屬性：僅限 Java/Kotlin**  
指定 SDK 或開發人員工具嘗試重試的方式。  
**預設值：**此值專屬於您的 SDK。檢查您的特定軟體開發套件指南或軟體開發套件的程式碼庫，了解其預設的 `retry_mode`。  
**有效值**：  
+ `standard` – （建議） 建議的一組跨 AWS SDKs 重試規則。此模式包含一組標準錯誤，這些錯誤會重試，並自動調整重試次數，以最大化可用性和穩定性。此模式可在多租用戶應用程式中安全使用。除非`max_attempts`明確設定，否則使用此模式的預設嘗試次數上限為三次。
+ `adaptive` – 一種重試模式，僅適用於專門的使用案例，其中包含標準模式的功能以及自動用戶端速率限制。除非您小心隔離應用程式租用戶，否則不建議多租用戶應用程式使用此重試模式。如需詳細資訊，請參閱[選擇 `standard`和 `adaptive` 重試模式](#standardvsadaptive)。此模式是實驗性的，未來可能會變更行為。
+ `legacy` – （不建議） 專屬於您的 SDK （請參閱您的特定 SDK 指南或軟體開發套件的程式碼庫）。

**`max_attempts` - 共用 AWS `config`檔案設定`AWS_MAX_ATTEMPTS` - 環境變數`aws.maxAttempts` - JVM 系統屬性：僅限 Java/Kotlin**  
指定對請求進行的最大嘗試次數。  
**預設值：**如果未指定此值，其預設值取決於 `retry_mode`設定的值：  
+ 如果 `retry_mode`為 `legacy`- 使用 SDK 特有的預設值 （請參閱特定 SDK 指南或 SDK 的程式碼基底以取得`max_attempts`預設值）。
+ 如果 `retry_mode`是 `standard` – 進行三次嘗試。
+ 如果 `retry_mode`是 `adaptive` – 進行三次嘗試。
**有效值：**大於 0 的數字。

## 選擇 `standard`和 `adaptive` 重試模式
<a name="standardvsadaptive"></a>

建議您使用`standard`重試模式，除非您確定您的用量更適合 `adaptive`。

**注意**  
`adaptive` 模式假設您要根據後端服務可能調節請求的範圍來集區用戶端。如果您不這樣做，如果您對兩個資源使用相同的用戶端，則一個資源中的調節可能會延遲對不相關資源的請求。


| 標準 | 自適應 | 
| --- | --- | 
| 應用程式使用案例：全部。 | 應用程式使用案例：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/sdkref/latest/guide/feature-retry-behavior.html)  | 
| 支援中斷電路，以防止 SDK 在中斷期間重試。 | 支援中斷電路，以防止 SDK 在中斷期間重試。 | 
| 在失敗時使用抖動指數退避。 | 使用動態退避持續時間來嘗試將失敗的請求數量降至最低，以換取增加延遲的可能性。 | 
| 永遠不要延遲第一次的請求嘗試，只延遲重試。 | 可以調節或延遲初始請求嘗試。 | 

如果您選擇使用 `adaptive` 模式，您的應用程式必須建構以每個可能節流的資源為中心的用戶端。在這種情況下，資源的微調比只考慮每個資源更精細 AWS 服務。 AWS 服務 可以具有用於調節請求的其他維度。讓我們使用 Amazon DynamoDB 服務做為範例。DynamoDB 使用 AWS 區域 加上要存取的資料表來調節請求。這表示您的程式碼存取的一個資料表可能會受到比其他資料表更多的調節。如果您的程式碼使用相同的用戶端存取所有資料表，且對其中一個資料表的請求受到調節，則適應性重試模式將降低所有資料表的請求率。您的程式碼應設計成每個Region-and-table對有一個用戶端。如果您在使用 `adaptive` 模式時遇到意外延遲，請參閱您正在使用服務的特定 AWS 文件指南。

## 重試模式實作詳細資訊
<a name="standardvsadaptiveimplementation"></a>

 AWS SDKs 會使用[字符儲存貯](https://en.wikipedia.org/wiki/Token_bucket)體來決定是否應重試請求，以及 （在`adaptive`重試模式下） 應傳送請求的速度。軟體開發套件會使用兩個字符儲存貯體：重試字符儲存貯體和請求速率字符儲存貯體。
+ 重試字符儲存貯體用於判斷 SDK 是否應暫時停用重試，以便在中斷期間保護上游和下游服務。在嘗試重試之前，會從儲存貯體取得權杖，並在請求成功時將權杖傳回至儲存貯體。如果嘗試重試時儲存貯體是空的，則 SDK 不會重試請求。
+ 請求率字符儲存貯體僅用於`adaptive`重試模式，以判斷傳送請求的速率。在傳送請求之前，會從儲存貯體取得字符，並根據服務傳回的限流回應，以動態決定的速率將字符傳回至儲存貯體。

以下是 `standard`和 `adaptive` 重試模式的高階虛擬程式碼：

```
MakeSDKRequest() {
  attempts = 0
  loop {
    GetSendToken()
    response = SendHTTPRequest()
    RequestBookkeeping(response)
    if not Retryable(response)
      return response
    attempts += 1
    if attempts >= MAX_ATTEMPTS:
      return response
    if not HasRetryQuota(response)
      return response
    delay = ExponentialBackoff(attempts)
    sleep(delay)
  }
}
```

以下是有關虛擬程式碼中所用元件的更多詳細資訊：

**`GetSendToken`:**

此步驟僅用於`adaptive`重試模式。此步驟會從請求率字符儲存貯體取得字符。如果字符不可用，它會等待一個字符變成可用。您的 SDK 可能有組態選項，可讓請求失敗，而不是等待。儲存貯體中的字符會根據用戶端收到的限流回應數量，以動態決定的速率重新填充。

**`SendHTTPRequest`:**

此步驟會將請求傳送至 AWS。 AWS SDKs使用 HTTP 程式庫，該程式庫使用連線集區在提出 HTTP 請求時重複使用現有的連線。一般而言，如果請求因限流錯誤而失敗，但請求因暫時性錯誤而失敗，則會重複使用連線。

**`RequestBookkeeping`:**

如果請求成功，權杖會新增至權杖儲存貯體。僅針對`adaptive`重試模式，請求速率字符儲存貯體的填充速率會根據收到的回應類型更新。

**`Retryable`:**

 此步驟會根據下列項目決定是否可以重試回應：
+ HTTP 狀態碼 。
+ 從服務傳回的錯誤碼。
+ 連線錯誤，定義為軟體開發套件收到的任何錯誤，其中未收到服務的 HTTP 回應。

暫時性錯誤 (HTTP 狀態碼 400、408、500、502、503 和 504) 和限流錯誤 (HTTP 狀態碼 400、403、429、502、503 和 509) 都可以重試。SDK 重試行為是結合錯誤代碼或服務的其他資料來決定。

**`MAX_ATTEMPTS`:**

 除非由 `retry_mode` 設定覆寫，否則預設的嘗試次數上限會由 `max_attempts`設定設定。

**`HasRetryQuota`**

此步驟會從重試權杖儲存貯體取得權杖。如果重試權杖儲存貯體是空的，則不會重試請求。

**`ExponentialBackoff`**

 對於可以重試的錯誤，系統會使用截斷的指數退避來計算重試延遲。SDKs使用截斷的二進位指數退避與抖動。下列演算法顯示如何為請求 的回應定義睡眠時間，以秒為單位`i`：

```
seconds_to_sleep_i = min(b*r^i, MAX_BACKOFF)
```

在上述演算法中，適用下列值：

`b = random number within the range of: 0 <= b <= 1`

`r = 2`

`MAX_BACKOFF = 20 seconds` 適用於大多數 SDKs。請參閱您的特定 SDK 指南或原始程式碼進行確認。

## 支援 AWS SDKs和工具
<a name="feature-retry-behavior-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 否 |  | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 |  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 是 | JVM 系統屬性：使用 com.amazonaws.sdk.maxAttempts而非 aws.maxAttempts；使用 com.amazonaws.sdk.retryMode而非 aws.retryMode。 | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 否 | 支援重試次數上限、具有抖動的指數退避，以及用於重試退避的自訂方法選項。 | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 是 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 |  | 

# 請求壓縮
<a name="feature-compression"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

傳送請求到支援接收壓縮承載的 時 AWS 服務 ，AWS SDKs和工具可以自動壓縮承載。將承載傳送至服務之前在用戶端上壓縮承載，可能會減少將資料傳送至服務所需的整體請求數和頻寬，並減少由於承載大小的服務限制而導致的失敗請求。針對壓縮，軟體開發套件或工具會選取服務和軟體開發套件都支援的編碼演算法。不過，目前可能的編碼清單僅包含 gzip，但未來可能會擴展。

如果您的應用程式使用 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/)，請求壓縮特別有用。CloudWatch 是一種監控和可觀測性服務，以日誌、指標和事件的形式收集監控和操作資料。支援壓縮的服務操作的一個範例是 CloudWatch 的 [PutMetricDataAPI](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html) 方法。

使用下列項目設定此功能：

**`disable_request_compression` - 共用 AWS `config`檔案設定`AWS_DISABLE_REQUEST_COMPRESSION` - 環境變數`aws.disableRequestCompression` - JVM 系統屬性：僅限 Java/Kotlin**  
開啟或關閉軟體開發套件或工具是否會在傳送請求之前壓縮承載。  
**預設值**：`false`  
**有效值**：  
+ **`true`** – 關閉請求壓縮。
+ **`false`** – 盡可能使用請求壓縮。

**`request_min_compression_size_bytes` - 共用 AWS `config`檔案設定`AWS_REQUEST_MIN_COMPRESSION_SIZE_BYTES` - 環境變數`aws.requestMinCompressionSizeBytes` - JVM 系統屬性：僅限 Java/Kotlin**  
設定 SDK 或工具應壓縮之請求內文的位元組大小下限。壓縮時，小型承載可能會變長，因此有較低的限制可執行壓縮。此值包含在內，會壓縮大於或等於值的請求大小。  
**預設值：**10240 位元組  
**有效值：**包含介於 0 和 10485760 位元組之間的整數值。

## 支援 AWS SDKs和工具
<a name="compression-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 否 |  | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 |  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 否 |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 否 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 否 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 |  | 

# 服務特定的端點
<a name="feature-ss-endpoints"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

服務特定的端點組態提供選項，讓您針對 API 請求使用您選擇的端點，並讓該選擇持續存在。這些設定提供支援本機端點、VPC 端點和第三方本機 AWS 開發環境的彈性。不同的端點可用於測試和生產環境。您可以為個人 AWS 服務指定端點 URL。

使用下列項目設定此功能：

**`endpoint_url` - 共用 AWS `config`檔案設定`AWS_ENDPOINT_URL` - 環境變數`aws.endpointUrl` - JVM 系統屬性：僅限 Java/Kotlin**  
當直接在設定檔中或做為環境變數指定時，此設定會指定用於所有服務請求的端點。此端點會由任何已設定的服務特定端點覆寫。  
您也可以在共用 AWS `config`檔案的 `services`區段中使用此設定，為特定服務設定自訂端點。如需用於 `services` 區段中子區段的所有服務識別符索引鍵清單，請參閱 [服務特定端點的識別符](ss-endpoints-table.md)。  
**預設值**：`none`  
**有效值：**包含端點方案和主機的 URL。URL 可以選擇性地包含包含一或多個路徑區段的路徑元件。

**`AWS_ENDPOINT_URL_<SERVICE>` - 環境變數`aws.endpointUrl<ServiceName>` - JVM 系統屬性：僅限 Java/Kotlin**  
`AWS_ENDPOINT_URL_<SERVICE>`，其中 `<SERVICE>`是 AWS 服務 識別符， 會為特定服務設定自訂端點。如需所有服務特定環境變數的清單，請參閱 [服務特定端點的識別符](ss-endpoints-table.md)。  
此服務特定的端點會覆寫 中設定的任何全域端點`AWS_ENDPOINT_URL`。  
**預設值**：`none`  
**有效值：**包含端點方案和主機的 URL。URL 可以選擇性地包含包含一或多個路徑區段的路徑元件。

**`ignore_configured_endpoint_urls` - 共用 AWS `config`檔案設定`AWS_IGNORE_CONFIGURED_ENDPOINT_URLS` - 環境變數`aws.ignoreConfiguredEndpointUrls` - JVM 系統屬性：僅限 Java/Kotlin**  
此設定用於忽略所有自訂端點組態。  
請注意，無論此設定為何，都會使用程式碼中或服務用戶端本身上設定的任何明確端點。例如，包含具有 AWS CLI 命令的`--endpoint-url`命令列參數，或將端點 URL 傳遞至用戶端建構函式，一律會生效。  
**預設值**：`false`  
**有效值**：  
+ **`true`** – SDK 或工具不會從共用`config`檔案或環境變數讀取任何自訂組態選項，以設定端點 URL。
+ **`false`** – SDK 或工具使用共用`config`檔案或環境變數中的任何可用使用者提供的端點。

## 使用環境變數設定端點
<a name="ss-endpoints-envar"></a>

若要將所有服務的請求路由到自訂端點 URL，請設定`AWS_ENDPOINT_URL`全域環境變數。

```
export AWS_ENDPOINT_URL=http://localhost:4567
```

若要將特定 的請求路由 AWS 服務 至自訂端點 URL，請使用 `AWS_ENDPOINT_URL_<SERVICE>`環境變數。 Amazon DynamoDB 具有 `serviceId`的 [https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/dynamodb/2012-08-10/service-2.json#L10](https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/dynamodb/2012-08-10/service-2.json#L10)。對於此服務，端點 URL 環境變數為 `AWS_ENDPOINT_URL_DYNAMODB`。此端點優先於`AWS_ENDPOINT_URL`針對此服務在 中設定的全域端點。

```
export AWS_ENDPOINT_URL_DYNAMODB=http://localhost:5678
```

 另一個範例 AWS Elastic Beanstalk 是 `serviceId`的 [https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9](https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9)。 AWS 服務 識別符是以 API 模型的 為基礎`serviceId`，方法是將所有空格替換為底線和大寫所有字母。若要設定此服務的端點，對應的環境變數為 `AWS_ENDPOINT_URL_ELASTIC_BEANSTALK`。如需所有服務特定環境變數的清單，請參閱 [服務特定端點的識別符](ss-endpoints-table.md)。

```
export AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=http://localhost:5567
```

## 使用共用`config`檔案設定端點
<a name="ss-endpoints-config"></a>

在共用`config`檔案中， `endpoint_url` 會在不同位置用於不同功能。
+ `endpoint_url` 會直接在 內指定 ，`profile`使該端點成為全域端點。
+ `endpoint_url` 巢狀在`services`區段中的服務識別符索引鍵下，可讓該端點僅適用於對該服務提出的請求。如需在共用 `config` 檔案中定義 `services` 區段的詳細資訊，請參閱 [組態檔案的格式](file-format.md#file-format-config)。

 下列範例使用 `services`定義來設定要用於 Amazon S3 的服務特定端點 URL，以及要用於所有其他服務的自訂全域端點：

```
[profile dev-s3-specific-and-global]
endpoint_url = http://localhost:1234
services = s3-specific

[services s3-specific]
s3 = 
  endpoint_url = https://play.min.io:9000
```

單一設定檔可以設定多個服務的端點。此範例說明如何在相同的設定檔中設定 Amazon S3 和 AWS Elastic Beanstalk 的服務特定端點 URLs。 AWS Elastic Beanstalk 具有 `serviceId`的 [https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9](https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9)。 AWS 服務 識別符是以 API 模型的 為基礎`serviceId`，方法是將所有空格替換為底線，並縮小所有字母大小寫。因此，服務識別符金鑰會變成 `elastic_beanstalk`，且此服務的設定會從第 行開始`elastic_beanstalk = `。如需要在 `services` 區段中使用的所有服務識別碼金鑰的清單，請參閱 [服務特定端點的識別符](ss-endpoints-table.md)。

```
[services testing-s3-and-eb]
s3 = 
  endpoint_url = http://localhost:4567
elastic_beanstalk = 
  endpoint_url = http://localhost:8000

[profile dev]
services = testing-s3-and-eb
```

服務組態區段可從多個設定檔使用。例如，兩個設定檔可以使用相同的`services`定義，同時變更其他設定檔屬性：

```
[services testing-s3]
s3 = 
  endpoint_url = https://localhost:4567

[profile testing-json]
output = json
services = testing-s3

[profile testing-text]
output = text
services = testing-s3
```

## 使用角色型登入資料在設定檔中設定端點
<a name="ss-endpoints-role"></a>

如果您的設定檔具有透過 `source_profile` 參數設定用於 IAM 假設角色功能，以角色為基礎的憑證，則 SDK 只會使用指定設定檔的服務組態。它不會使用與其連結的角色的設定檔。例如，使用下列共用 `config` 檔案：

```
[profile A]
credential_source = Ec2InstanceMetadata
endpoint_url = https://profile-a-endpoint.aws/

[profile B]
source_profile = A
role_arn = arn:aws:iam::123456789012:role/roleB
services = profileB

[services profileB]
ec2 = 
  endpoint_url = https://profile-b-ec2-endpoint.aws
```

 如果您使用設定檔 `B` 並在程式碼中呼叫 Amazon EC2，則端點會解析為 `https://profile-b-ec2-endpoint.aws`。如果您的程式碼向任何其他服務發出要求，端點解析將不會遵循任何自訂邏輯。端點未解析為設定檔 `A` 中定義的全域端點。若要讓全域端點對設定檔 `B` 生效，您需要直接在 `B` 設定檔中設定 `endpoint_url`。如需 `source_profile` 設定的詳細資訊，請參閱[擔任角色登入資料提供者](feature-assume-role-credentials.md)。

## 設定的優先順序
<a name="ss-endpoints-precedence"></a>

 此功能的設定可以同時使用，但每個服務只會優先使用一個值。對於對指定 進行的 API 呼叫 AWS 服務，以下順序用於選取值：

1. 程式碼中或服務用戶端本身上設定的任何明確設定，都優先於任何其他設定。
   + 對於 AWS CLI，這是`--endpoint-url`命令列參數提供的值。對於 SDK，明確指派可以採用您在執行個體化 AWS 服務 用戶端或組態物件時設定的參數形式。

1. 服務特定環境變數提供的值，例如 `AWS_ENDPOINT_URL_DYNAMODB`。

1. `AWS_ENDPOINT_URL` 全域端點環境變數所提供的值。

1. 由 `endpoint_url`設定所提供的值，巢狀在共用`config`檔案的 `services`區段中的服務識別符索引鍵下。

1. 直接在共用`config`檔案`profile`的 內指定的`endpoint_url`設定所提供的值。

1. 最後 AWS 服務 會使用個別 的任何預設端點 URL。

## 支援 AWS SDKs和工具
<a name="ss-endpoints-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 是 |  | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 |  | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 否 |  | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 |  | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 否 |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 |  | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 否 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 |  | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 |  | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 |  | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 |  | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |  | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 是 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 |  | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 |  | 

# 服務特定端點的識別符
<a name="ss-endpoints-table"></a>

如需如何以及在何處使用下表中識別符的資訊，請參閱 [服務特定的端點](feature-ss-endpoints.md)。


| `serviceId` | 共用 AWS `config`檔案的服務識別符金鑰 | `AWS_ENDPOINT_URL_<SERVICE>` 環境變數 | 
| --- | --- | --- | 
|  AccessAnalyzer  |  accessanalyzer  |  AWS\$1ENDPOINT\$1URL\$1ACCESSANALYZER  | 
|  Account  |  account  |  AWS\$1ENDPOINT\$1URL\$1ACCOUNT  | 
|  ACM  |  acm  |  AWS\$1ENDPOINT\$1URL\$1ACM  | 
|  ACM PCA  |  acm\$1pca  |  AWS\$1ENDPOINT\$1URL\$1ACM\$1PCA  | 
|  Alexa For Business  |  alexa\$1for\$1business  |  AWS\$1ENDPOINT\$1URL\$1ALEXA\$1FOR\$1BUSINESS  | 
|  amp  |  amp  |  AWS\$1ENDPOINT\$1URL\$1AMP  | 
|  Amplify  |  amplify  |  AWS\$1ENDPOINT\$1URL\$1AMPLIFY  | 
|  AmplifyBackend  |  amplifybackend  |  AWS\$1ENDPOINT\$1URL\$1AMPLIFYBACKEND  | 
|  AmplifyUIBuilder  |  amplifyuibuilder  |  AWS\$1ENDPOINT\$1URL\$1AMPLIFYUIBUILDER  | 
|  API Gateway  |  api\$1gateway  |  AWS\$1ENDPOINT\$1URL\$1API\$1GATEWAY  | 
|  ApiGatewayManagementApi  |  apigatewaymanagementapi  |  AWS\$1ENDPOINT\$1URL\$1APIGATEWAYMANAGEMENTAPI  | 
|  ApiGatewayV2  |  apigatewayv2  |  AWS\$1ENDPOINT\$1URL\$1APIGATEWAYV2  | 
|  AppConfig  |  appconfig  |  AWS\$1ENDPOINT\$1URL\$1APPCONFIG  | 
|  AppConfigData  |  appconfigdata  |  AWS\$1ENDPOINT\$1URL\$1APPCONFIGDATA  | 
|  AppFabric  |  appfabric  |  AWS\$1ENDPOINT\$1URL\$1APPFABRIC  | 
|  Appflow  |  appflow  |  AWS\$1ENDPOINT\$1URL\$1APPFLOW  | 
|  AppIntegrations  |  appintegrations  |  AWS\$1ENDPOINT\$1URL\$1APPINTEGRATIONS  | 
|  Application Auto Scaling  |  application\$1auto\$1scaling  |  AWS\$1ENDPOINT\$1URL\$1APPLICATION\$1AUTO\$1SCALING  | 
|  Application Insights  |  application\$1insights  |  AWS\$1ENDPOINT\$1URL\$1APPLICATION\$1INSIGHTS  | 
|  ApplicationCostProfiler  |  applicationcostprofiler  |  AWS\$1ENDPOINT\$1URL\$1APPLICATIONCOSTPROFILER  | 
|  App Mesh  |  app\$1mesh  |  AWS\$1ENDPOINT\$1URL\$1APP\$1MESH  | 
|  AppRunner  |  apprunner  |  AWS\$1ENDPOINT\$1URL\$1APPRUNNER  | 
|  AppStream  |  appstream  |  AWS\$1ENDPOINT\$1URL\$1APPSTREAM  | 
|  AppSync  |  appsync  |  AWS\$1ENDPOINT\$1URL\$1APPSYNC  | 
|  ARC Zonal Shift  |  arc\$1zonal\$1shift  |  AWS\$1ENDPOINT\$1URL\$1ARC\$1ZONAL\$1SHIFT  | 
|  Artifact  |  artifact  |  AWS\$1ENDPOINT\$1URL\$1ARTIFACT  | 
|  Athena  |  athena  |  AWS\$1ENDPOINT\$1URL\$1ATHENA  | 
|  AuditManager  |  auditmanager  |  AWS\$1ENDPOINT\$1URL\$1AUDITMANAGER  | 
|  Auto Scaling  |  auto\$1scaling  |  AWS\$1ENDPOINT\$1URL\$1AUTO\$1SCALING  | 
|  Auto Scaling Plans  |  auto\$1scaling\$1plans  |  AWS\$1ENDPOINT\$1URL\$1AUTO\$1SCALING\$1PLANS  | 
|  b2bi  |  b2bi  |  AWS\$1ENDPOINT\$1URL\$1B2BI  | 
|  Backup  |  backup  |  AWS\$1ENDPOINT\$1URL\$1BACKUP  | 
|  Backup Gateway  |  backup\$1gateway  |  AWS\$1ENDPOINT\$1URL\$1BACKUP\$1GATEWAY  | 
|  BackupStorage  |  backupstorage  |  AWS\$1ENDPOINT\$1URL\$1BACKUPSTORAGE  | 
|  Batch  |  batch  |  AWS\$1ENDPOINT\$1URL\$1BATCH  | 
|  BCM Data Exports  |  bcm\$1data\$1exports  |  AWS\$1ENDPOINT\$1URL\$1BCM\$1DATA\$1EXPORTS  | 
|  Bedrock  |  bedrock  |  AWS\$1ENDPOINT\$1URL\$1BEDROCK  | 
|  Bedrock Agent  |  bedrock\$1agent  |  AWS\$1ENDPOINT\$1URL\$1BEDROCK\$1AGENT  | 
|  Bedrock Agent Runtime  |  bedrock\$1agent\$1runtime  |  AWS\$1ENDPOINT\$1URL\$1BEDROCK\$1AGENT\$1RUNTIME  | 
|  Bedrock Runtime  |  bedrock\$1runtime  |  AWS\$1ENDPOINT\$1URL\$1BEDROCK\$1RUNTIME  | 
|  billingconductor  |  billingconductor  |  AWS\$1ENDPOINT\$1URL\$1BILLINGCONDUCTOR  | 
|  Braket  |  braket  |  AWS\$1ENDPOINT\$1URL\$1BRAKET  | 
|  Budgets  |  budgets  |  AWS\$1ENDPOINT\$1URL\$1BUDGETS  | 
|  Cost Explorer  |  cost\$1explorer  |  AWS\$1ENDPOINT\$1URL\$1COST\$1EXPLORER  | 
|  chatbot  |  chatbot  |  AWS\$1ENDPOINT\$1URL\$1CHATBOT  | 
|  Chime  |  chime  |  AWS\$1ENDPOINT\$1URL\$1CHIME  | 
|  Chime SDK Identity  |  chime\$1sdk\$1identity  |  AWS\$1ENDPOINT\$1URL\$1CHIME\$1SDK\$1IDENTITY  | 
|  Chime SDK Media Pipelines  |  chime\$1sdk\$1media\$1pipelines  |  AWS\$1ENDPOINT\$1URL\$1CHIME\$1SDK\$1MEDIA\$1PIPELINES  | 
|  Chime SDK Meetings  |  chime\$1sdk\$1meetings  |  AWS\$1ENDPOINT\$1URL\$1CHIME\$1SDK\$1MEETINGS  | 
|  Chime SDK Messaging  |  chime\$1sdk\$1messaging  |  AWS\$1ENDPOINT\$1URL\$1CHIME\$1SDK\$1MESSAGING  | 
|  Chime SDK Voice  |  chime\$1sdk\$1voice  |  AWS\$1ENDPOINT\$1URL\$1CHIME\$1SDK\$1VOICE  | 
|  CleanRooms  |  cleanrooms  |  AWS\$1ENDPOINT\$1URL\$1CLEANROOMS  | 
|  CleanRoomsML  |  cleanroomsml  |  AWS\$1ENDPOINT\$1URL\$1CLEANROOMSML  | 
|  Cloud9  |  cloud9  |  AWS\$1ENDPOINT\$1URL\$1CLOUD9  | 
|  CloudControl  |  cloudcontrol  |  AWS\$1ENDPOINT\$1URL\$1CLOUDCONTROL  | 
|  CloudDirectory  |  clouddirectory  |  AWS\$1ENDPOINT\$1URL\$1CLOUDDIRECTORY  | 
|  CloudFormation  |  cloudformation  |  AWS\$1ENDPOINT\$1URL\$1CLOUDFORMATION  | 
|  CloudFront  |  cloudfront  |  AWS\$1ENDPOINT\$1URL\$1CLOUDFRONT  | 
|  CloudFront KeyValueStore  |  cloudfront\$1keyvaluestore  |  AWS\$1ENDPOINT\$1URL\$1CLOUDFRONT\$1KEYVALUESTORE  | 
|  CloudHSM  |  cloudhsm  |  AWS\$1ENDPOINT\$1URL\$1CLOUDHSM  | 
|  CloudHSM V2  |  cloudhsm\$1v2  |  AWS\$1ENDPOINT\$1URL\$1CLOUDHSM\$1V2  | 
|  CloudSearch  |  cloudsearch  |  AWS\$1ENDPOINT\$1URL\$1CLOUDSEARCH  | 
|  CloudSearch Domain  |  cloudsearch\$1domain  |  AWS\$1ENDPOINT\$1URL\$1CLOUDSEARCH\$1DOMAIN  | 
|  CloudTrail  |  cloudtrail  |  AWS\$1ENDPOINT\$1URL\$1CLOUDTRAIL  | 
|  CloudTrail Data  |  cloudtrail\$1data  |  AWS\$1ENDPOINT\$1URL\$1CLOUDTRAIL\$1DATA  | 
|  CloudWatch  |  cloudwatch  |  AWS\$1ENDPOINT\$1URL\$1CLOUDWATCH  | 
|  codeartifact  |  codeartifact  |  AWS\$1ENDPOINT\$1URL\$1CODEARTIFACT  | 
|  CodeBuild  |  codebuild  |  AWS\$1ENDPOINT\$1URL\$1CODEBUILD  | 
|  CodeCatalyst  |  codecatalyst  |  AWS\$1ENDPOINT\$1URL\$1CODECATALYST  | 
|  CodeCommit  |  codecommit  |  AWS\$1ENDPOINT\$1URL\$1CODECOMMIT  | 
|  CodeDeploy  |  codedeploy  |  AWS\$1ENDPOINT\$1URL\$1CODEDEPLOY  | 
|  CodeGuru Reviewer  |  codeguru\$1reviewer  |  AWS\$1ENDPOINT\$1URL\$1CODEGURU\$1REVIEWER  | 
|  CodeGuru Security  |  codeguru\$1security  |  AWS\$1ENDPOINT\$1URL\$1CODEGURU\$1SECURITY  | 
|  CodeGuruProfiler  |  codeguruprofiler  |  AWS\$1ENDPOINT\$1URL\$1CODEGURUPROFILER  | 
|  CodePipeline  |  codepipeline  |  AWS\$1ENDPOINT\$1URL\$1CODEPIPELINE  | 
|  CodeStar  |  codestar  |  AWS\$1ENDPOINT\$1URL\$1CODESTAR  | 
|  CodeStar connections  |  codestar\$1connections  |  AWS\$1ENDPOINT\$1URL\$1CODESTAR\$1CONNECTIONS  | 
|  codestar notifications  |  codestar\$1notifications  |  AWS\$1ENDPOINT\$1URL\$1CODESTAR\$1NOTIFICATIONS  | 
|  Cognito Identity  |  cognito\$1identity  |  AWS\$1ENDPOINT\$1URL\$1COGNITO\$1IDENTITY  | 
|  Cognito Identity Provider  |  cognito\$1identity\$1provider  |  AWS\$1ENDPOINT\$1URL\$1COGNITO\$1IDENTITY\$1PROVIDER  | 
|  Cognito Sync  |  cognito\$1sync  |  AWS\$1ENDPOINT\$1URL\$1COGNITO\$1SYNC  | 
|  Comprehend  |  comprehend  |  AWS\$1ENDPOINT\$1URL\$1COMPREHEND  | 
|  ComprehendMedical  |  comprehendmedical  |  AWS\$1ENDPOINT\$1URL\$1COMPREHENDMEDICAL  | 
|  Compute Optimizer  |  compute\$1optimizer  |  AWS\$1ENDPOINT\$1URL\$1COMPUTE\$1OPTIMIZER  | 
|  Config Service  |  config\$1service  |  AWS\$1ENDPOINT\$1URL\$1CONFIG\$1SERVICE  | 
|  Connect  |  connect  |  AWS\$1ENDPOINT\$1URL\$1CONNECT  | 
|  Connect Contact Lens  |  connect\$1contact\$1lens  |  AWS\$1ENDPOINT\$1URL\$1CONNECT\$1CONTACT\$1LENS  | 
|  ConnectCampaigns  |  connectcampaigns  |  AWS\$1ENDPOINT\$1URL\$1CONNECTCAMPAIGNS  | 
|  ConnectCases  |  connectcases  |  AWS\$1ENDPOINT\$1URL\$1CONNECTCASES  | 
|  ConnectParticipant  |  connectparticipant  |  AWS\$1ENDPOINT\$1URL\$1CONNECTPARTICIPANT  | 
|  ControlTower  |  controltower  |  AWS\$1ENDPOINT\$1URL\$1CONTROLTOWER  | 
|  Cost Optimization Hub  |  cost\$1optimization\$1hub  |  AWS\$1ENDPOINT\$1URL\$1COST\$1OPTIMIZATION\$1HUB  | 
|  Cost and Usage Report Service  |  cost\$1and\$1usage\$1report\$1service  |  AWS\$1ENDPOINT\$1URL\$1COST\$1AND\$1USAGE\$1REPORT\$1SERVICE  | 
|  Customer Profiles  |  customer\$1profiles  |  AWS\$1ENDPOINT\$1URL\$1CUSTOMER\$1PROFILES  | 
|  DataBrew  |  databrew  |  AWS\$1ENDPOINT\$1URL\$1DATABREW  | 
|  DataExchange  |  dataexchange  |  AWS\$1ENDPOINT\$1URL\$1DATAEXCHANGE  | 
|  Data Pipeline  |  data\$1pipeline  |  AWS\$1ENDPOINT\$1URL\$1DATA\$1PIPELINE  | 
|  DataSync  |  datasync  |  AWS\$1ENDPOINT\$1URL\$1DATASYNC  | 
|  DataZone  |  datazone  |  AWS\$1ENDPOINT\$1URL\$1DATAZONE  | 
|  DAX  |  dax  |  AWS\$1ENDPOINT\$1URL\$1DAX  | 
|  Detective  |  detective  |  AWS\$1ENDPOINT\$1URL\$1DETECTIVE  | 
|  Device Farm  |  device\$1farm  |  AWS\$1ENDPOINT\$1URL\$1DEVICE\$1FARM  | 
|  DevOps Guru  |  devops\$1guru  |  AWS\$1ENDPOINT\$1URL\$1DEVOPS\$1GURU  | 
|  Direct Connect  |  direct\$1connect  |  AWS\$1ENDPOINT\$1URL\$1DIRECT\$1CONNECT  | 
|  Application Discovery Service  |  application\$1discovery\$1service  |  AWS\$1ENDPOINT\$1URL\$1APPLICATION\$1DISCOVERY\$1SERVICE  | 
|  DLM  |  dlm  |  AWS\$1ENDPOINT\$1URL\$1DLM  | 
|  Database Migration Service  |  database\$1migration\$1service  |  AWS\$1ENDPOINT\$1URL\$1DATABASE\$1MIGRATION\$1SERVICE  | 
|  DocDB  |  docdb  |  AWS\$1ENDPOINT\$1URL\$1DOCDB  | 
|  DocDB Elastic  |  docdb\$1elastic  |  AWS\$1ENDPOINT\$1URL\$1DOCDB\$1ELASTIC  | 
|  drs  |  drs  |  AWS\$1ENDPOINT\$1URL\$1DRS  | 
|  Directory Service  |  directory\$1service  |  AWS\$1ENDPOINT\$1URL\$1DIRECTORY\$1SERVICE  | 
|  DynamoDB  |  dynamodb  |  AWS\$1ENDPOINT\$1URL\$1DYNAMODB  | 
|  DynamoDB Streams  |  dynamodb\$1streams  |  AWS\$1ENDPOINT\$1URL\$1DYNAMODB\$1STREAMS  | 
|  EBS  |  ebs  |  AWS\$1ENDPOINT\$1URL\$1EBS  | 
|  EC2  |  ec2  |  AWS\$1ENDPOINT\$1URL\$1EC2  | 
|  EC2 Instance Connect  |  ec2\$1instance\$1connect  |  AWS\$1ENDPOINT\$1URL\$1EC2\$1INSTANCE\$1CONNECT  | 
|  ECR  |  ecr  |  AWS\$1ENDPOINT\$1URL\$1ECR  | 
|  ECR PUBLIC  |  ecr\$1public  |  AWS\$1ENDPOINT\$1URL\$1ECR\$1PUBLIC  | 
|  ECS  |  ecs  |  AWS\$1ENDPOINT\$1URL\$1ECS  | 
|  EFS  |  efs  |  AWS\$1ENDPOINT\$1URL\$1EFS  | 
|  EKS  |  eks  |  AWS\$1ENDPOINT\$1URL\$1EKS  | 
|  EKS Auth  |  eks\$1auth  |  AWS\$1ENDPOINT\$1URL\$1EKS\$1AUTH  | 
|  Elastic Inference  |  elastic\$1inference  |  AWS\$1ENDPOINT\$1URL\$1ELASTIC\$1INFERENCE  | 
|  ElastiCache  |  elasticache  |  AWS\$1ENDPOINT\$1URL\$1ELASTICACHE  | 
|  Elastic Beanstalk  |  elastic\$1beanstalk  |  AWS\$1ENDPOINT\$1URL\$1ELASTIC\$1BEANSTALK  | 
|  Elastic Transcoder  |  elastic\$1transcoder  |  AWS\$1ENDPOINT\$1URL\$1ELASTIC\$1TRANSCODER  | 
|  Elastic Load Balancing  |  elastic\$1load\$1balancing  |  AWS\$1ENDPOINT\$1URL\$1ELASTIC\$1LOAD\$1BALANCING  | 
|  Elastic Load Balancing v2  |  elastic\$1load\$1balancing\$1v2  |  AWS\$1ENDPOINT\$1URL\$1ELASTIC\$1LOAD\$1BALANCING\$1V2  | 
|  EMR  |  emr  |  AWS\$1ENDPOINT\$1URL\$1EMR  | 
|  EMR containers  |  emr\$1containers  |  AWS\$1ENDPOINT\$1URL\$1EMR\$1CONTAINERS  | 
|  EMR Serverless  |  emr\$1serverless  |  AWS\$1ENDPOINT\$1URL\$1EMR\$1SERVERLESS  | 
|  EntityResolution  |  entityresolution  |  AWS\$1ENDPOINT\$1URL\$1ENTITYRESOLUTION  | 
|  Elasticsearch Service  |  elasticsearch\$1service  |  AWS\$1ENDPOINT\$1URL\$1ELASTICSEARCH\$1SERVICE  | 
|  EventBridge  |  eventbridge  |  AWS\$1ENDPOINT\$1URL\$1EVENTBRIDGE  | 
|  Evidently  |  evidently  |  AWS\$1ENDPOINT\$1URL\$1EVIDENTLY  | 
|  finspace  |  finspace  |  AWS\$1ENDPOINT\$1URL\$1FINSPACE  | 
|  finspace data  |  finspace\$1data  |  AWS\$1ENDPOINT\$1URL\$1FINSPACE\$1DATA  | 
|  Firehose  |  firehose  |  AWS\$1ENDPOINT\$1URL\$1FIREHOSE  | 
|  fis  |  fis  |  AWS\$1ENDPOINT\$1URL\$1FIS  | 
|  FMS  |  fms  |  AWS\$1ENDPOINT\$1URL\$1FMS  | 
|  forecast  |  forecast  |  AWS\$1ENDPOINT\$1URL\$1FORECAST  | 
|  forecastquery  |  forecastquery  |  AWS\$1ENDPOINT\$1URL\$1FORECASTQUERY  | 
|  FraudDetector  |  frauddetector  |  AWS\$1ENDPOINT\$1URL\$1FRAUDDETECTOR  | 
|  FreeTier  |  freetier  |  AWS\$1ENDPOINT\$1URL\$1FREETIER  | 
|  FSx  |  fsx  |  AWS\$1ENDPOINT\$1URL\$1FSX  | 
|  GameLift  |  gamelift  |  AWS\$1ENDPOINT\$1URL\$1GAMELIFT  | 
|  Glacier  |  glacier  |  AWS\$1ENDPOINT\$1URL\$1GLACIER  | 
|  Global Accelerator  |  global\$1accelerator  |  AWS\$1ENDPOINT\$1URL\$1GLOBAL\$1ACCELERATOR  | 
|  Glue  |  glue  |  AWS\$1ENDPOINT\$1URL\$1GLUE  | 
|  grafana  |  grafana  |  AWS\$1ENDPOINT\$1URL\$1GRAFANA  | 
|  Greengrass  |  greengrass  |  AWS\$1ENDPOINT\$1URL\$1GREENGRASS  | 
|  GreengrassV2  |  greengrassv2  |  AWS\$1ENDPOINT\$1URL\$1GREENGRASSV2  | 
|  GroundStation  |  groundstation  |  AWS\$1ENDPOINT\$1URL\$1GROUNDSTATION  | 
|  GuardDuty  |  guardduty  |  AWS\$1ENDPOINT\$1URL\$1GUARDDUTY  | 
|  Health  |  health  |  AWS\$1ENDPOINT\$1URL\$1HEALTH  | 
|  HealthLake  |  healthlake  |  AWS\$1ENDPOINT\$1URL\$1HEALTHLAKE  | 
|  Honeycode  |  honeycode  |  AWS\$1ENDPOINT\$1URL\$1HONEYCODE  | 
|  IAM  |  iam  |  AWS\$1ENDPOINT\$1URL\$1IAM  | 
|  identitystore  |  identitystore  |  AWS\$1ENDPOINT\$1URL\$1IDENTITYSTORE  | 
|  imagebuilder  |  imagebuilder  |  AWS\$1ENDPOINT\$1URL\$1IMAGEBUILDER  | 
|  ImportExport  |  importexport  |  AWS\$1ENDPOINT\$1URL\$1IMPORTEXPORT  | 
|  Inspector  |  inspector  |  AWS\$1ENDPOINT\$1URL\$1INSPECTOR  | 
|  Inspector Scan  |  inspector\$1scan  |  AWS\$1ENDPOINT\$1URL\$1INSPECTOR\$1SCAN  | 
|  Inspector2  |  inspector2  |  AWS\$1ENDPOINT\$1URL\$1INSPECTOR2  | 
|  InternetMonitor  |  internetmonitor  |  AWS\$1ENDPOINT\$1URL\$1INTERNETMONITOR  | 
|  IoT  |  iot  |  AWS\$1ENDPOINT\$1URL\$1IOT  | 
|  IoT Data Plane  |  iot\$1data\$1plane  |  AWS\$1ENDPOINT\$1URL\$1IOT\$1DATA\$1PLANE  | 
|  IoT Jobs Data Plane  |  iot\$1jobs\$1data\$1plane  |  AWS\$1ENDPOINT\$1URL\$1IOT\$1JOBS\$1DATA\$1PLANE  | 
|  IoT 1Click Devices Service  |  iot\$11click\$1devices\$1service  |  AWS\$1ENDPOINT\$1URL\$1IOT\$11CLICK\$1DEVICES\$1SERVICE  | 
|  IoT 1Click Projects  |  iot\$11click\$1projects  |  AWS\$1ENDPOINT\$1URL\$1IOT\$11CLICK\$1PROJECTS  | 
|  IoTAnalytics  |  iotanalytics  |  AWS\$1ENDPOINT\$1URL\$1IOTANALYTICS  | 
|  IotDeviceAdvisor  |  iotdeviceadvisor  |  AWS\$1ENDPOINT\$1URL\$1IOTDEVICEADVISOR  | 
|  IoT Events  |  iot\$1events  |  AWS\$1ENDPOINT\$1URL\$1IOT\$1EVENTS  | 
|  IoT Events Data  |  iot\$1events\$1data  |  AWS\$1ENDPOINT\$1URL\$1IOT\$1EVENTS\$1DATA  | 
|  IoTFleetHub  |  iotfleethub  |  AWS\$1ENDPOINT\$1URL\$1IOTFLEETHUB  | 
|  IoTFleetWise  |  iotfleetwise  |  AWS\$1ENDPOINT\$1URL\$1IOTFLEETWISE  | 
|  IoTSecureTunneling  |  iotsecuretunneling  |  AWS\$1ENDPOINT\$1URL\$1IOTSECURETUNNELING  | 
|  IoTSiteWise  |  iotsitewise  |  AWS\$1ENDPOINT\$1URL\$1IOTSITEWISE  | 
|  IoTThingsGraph  |  iotthingsgraph  |  AWS\$1ENDPOINT\$1URL\$1IOTTHINGSGRAPH  | 
|  IoTTwinMaker  |  iottwinmaker  |  AWS\$1ENDPOINT\$1URL\$1IOTTWINMAKER  | 
|  IoT Wireless  |  iot\$1wireless  |  AWS\$1ENDPOINT\$1URL\$1IOT\$1WIRELESS  | 
|  ivs  |  ivs  |  AWS\$1ENDPOINT\$1URL\$1IVS  | 
|  IVS RealTime  |  ivs\$1realtime  |  AWS\$1ENDPOINT\$1URL\$1IVS\$1REALTIME  | 
|  ivschat  |  ivschat  |  AWS\$1ENDPOINT\$1URL\$1IVSCHAT  | 
|  Kafka  |  kafka  |  AWS\$1ENDPOINT\$1URL\$1KAFKA  | 
|  KafkaConnect  |  kafkaconnect  |  AWS\$1ENDPOINT\$1URL\$1KAFKACONNECT  | 
|  kendra  |  kendra  |  AWS\$1ENDPOINT\$1URL\$1KENDRA  | 
|  Kendra Ranking  |  kendra\$1ranking  |  AWS\$1ENDPOINT\$1URL\$1KENDRA\$1RANKING  | 
|  Keyspaces  |  keyspaces  |  AWS\$1ENDPOINT\$1URL\$1KEYSPACES  | 
|  Kinesis  |  kinesis  |  AWS\$1ENDPOINT\$1URL\$1KINESIS  | 
|  Kinesis Video Archived Media  |  kinesis\$1video\$1archived\$1media  |  AWS\$1ENDPOINT\$1URL\$1KINESIS\$1VIDEO\$1ARCHIVED\$1MEDIA  | 
|  Kinesis Video Media  |  kinesis\$1video\$1media  |  AWS\$1ENDPOINT\$1URL\$1KINESIS\$1VIDEO\$1MEDIA  | 
|  Kinesis Video Signaling  |  kinesis\$1video\$1signaling  |  AWS\$1ENDPOINT\$1URL\$1KINESIS\$1VIDEO\$1SIGNALING  | 
|  Kinesis Video WebRTC Storage  |  kinesis\$1video\$1webrtc\$1storage  |  AWS\$1ENDPOINT\$1URL\$1KINESIS\$1VIDEO\$1WEBRTC\$1STORAGE  | 
|  Kinesis Analytics  |  kinesis\$1analytics  |  AWS\$1ENDPOINT\$1URL\$1KINESIS\$1ANALYTICS  | 
|  Kinesis Analytics V2  |  kinesis\$1analytics\$1v2  |  AWS\$1ENDPOINT\$1URL\$1KINESIS\$1ANALYTICS\$1V2  | 
|  Kinesis Video  |  kinesis\$1video  |  AWS\$1ENDPOINT\$1URL\$1KINESIS\$1VIDEO  | 
|  KMS  |  kms  |  AWS\$1ENDPOINT\$1URL\$1KMS  | 
|  LakeFormation  |  lakeformation  |  AWS\$1ENDPOINT\$1URL\$1LAKEFORMATION  | 
|  Lambda  |  lambda  |  AWS\$1ENDPOINT\$1URL\$1LAMBDA  | 
|  Launch Wizard  |  launch\$1wizard  |  AWS\$1ENDPOINT\$1URL\$1LAUNCH\$1WIZARD  | 
|  Lex Model Building Service  |  lex\$1model\$1building\$1service  |  AWS\$1ENDPOINT\$1URL\$1LEX\$1MODEL\$1BUILDING\$1SERVICE  | 
|  Lex Runtime Service  |  lex\$1runtime\$1service  |  AWS\$1ENDPOINT\$1URL\$1LEX\$1RUNTIME\$1SERVICE  | 
|  Lex Models V2  |  lex\$1models\$1v2  |  AWS\$1ENDPOINT\$1URL\$1LEX\$1MODELS\$1V2  | 
|  Lex Runtime V2  |  lex\$1runtime\$1v2  |  AWS\$1ENDPOINT\$1URL\$1LEX\$1RUNTIME\$1V2  | 
|  License Manager  |  license\$1manager  |  AWS\$1ENDPOINT\$1URL\$1LICENSE\$1MANAGER  | 
|  License Manager Linux Subscriptions  |  license\$1manager\$1linux\$1subscriptions  |  AWS\$1ENDPOINT\$1URL\$1LICENSE\$1MANAGER\$1LINUX\$1SUBSCRIPTIONS  | 
|  License Manager User Subscriptions  |  license\$1manager\$1user\$1subscriptions  |  AWS\$1ENDPOINT\$1URL\$1LICENSE\$1MANAGER\$1USER\$1SUBSCRIPTIONS  | 
|  Lightsail  |  lightsail  |  AWS\$1ENDPOINT\$1URL\$1LIGHTSAIL  | 
|  Location  |  location  |  AWS\$1ENDPOINT\$1URL\$1LOCATION  | 
|  CloudWatch Logs  |  cloudwatch\$1logs  |  AWS\$1ENDPOINT\$1URL\$1CLOUDWATCH\$1LOGS  | 
|  LookoutEquipment  |  lookoutequipment  |  AWS\$1ENDPOINT\$1URL\$1LOOKOUTEQUIPMENT  | 
|  LookoutMetrics  |  lookoutmetrics  |  AWS\$1ENDPOINT\$1URL\$1LOOKOUTMETRICS  | 
|  LookoutVision  |  lookoutvision  |  AWS\$1ENDPOINT\$1URL\$1LOOKOUTVISION  | 
|  m2  |  m2  |  AWS\$1ENDPOINT\$1URL\$1M2  | 
|  Machine Learning  |  machine\$1learning  |  AWS\$1ENDPOINT\$1URL\$1MACHINE\$1LEARNING  | 
|  Macie2  |  macie2  |  AWS\$1ENDPOINT\$1URL\$1MACIE2  | 
|  ManagedBlockchain  |  managedblockchain  |  AWS\$1ENDPOINT\$1URL\$1MANAGEDBLOCKCHAIN  | 
|  ManagedBlockchain Query  |  managedblockchain\$1query  |  AWS\$1ENDPOINT\$1URL\$1MANAGEDBLOCKCHAIN\$1QUERY  | 
|  Marketplace Agreement  |  marketplace\$1agreement  |  AWS\$1ENDPOINT\$1URL\$1MARKETPLACE\$1AGREEMENT  | 
|  Marketplace Catalog  |  marketplace\$1catalog  |  AWS\$1ENDPOINT\$1URL\$1MARKETPLACE\$1CATALOG  | 
|  Marketplace Deployment  |  marketplace\$1deployment  |  AWS\$1ENDPOINT\$1URL\$1MARKETPLACE\$1DEPLOYMENT  | 
|  Marketplace Entitlement Service  |  marketplace\$1entitlement\$1service  |  AWS\$1ENDPOINT\$1URL\$1MARKETPLACE\$1ENTITLEMENT\$1SERVICE  | 
|  Marketplace Commerce Analytics  |  marketplace\$1commerce\$1analytics  |  AWS\$1ENDPOINT\$1URL\$1MARKETPLACE\$1COMMERCE\$1ANALYTICS  | 
|  MediaConnect  |  mediaconnect  |  AWS\$1ENDPOINT\$1URL\$1MEDIACONNECT  | 
|  MediaConvert  |  mediaconvert  |  AWS\$1ENDPOINT\$1URL\$1MEDIACONVERT  | 
|  MediaLive  |  medialive  |  AWS\$1ENDPOINT\$1URL\$1MEDIALIVE  | 
|  MediaPackage  |  mediapackage  |  AWS\$1ENDPOINT\$1URL\$1MEDIAPACKAGE  | 
|  MediaPackage Vod  |  mediapackage\$1vod  |  AWS\$1ENDPOINT\$1URL\$1MEDIAPACKAGE\$1VOD  | 
|  MediaPackageV2  |  mediapackagev2  |  AWS\$1ENDPOINT\$1URL\$1MEDIAPACKAGEV2  | 
|  MediaStore  |  mediastore  |  AWS\$1ENDPOINT\$1URL\$1MEDIASTORE  | 
|  MediaStore Data  |  mediastore\$1data  |  AWS\$1ENDPOINT\$1URL\$1MEDIASTORE\$1DATA  | 
|  MediaTailor  |  mediatailor  |  AWS\$1ENDPOINT\$1URL\$1MEDIATAILOR  | 
|  Medical Imaging  |  medical\$1imaging  |  AWS\$1ENDPOINT\$1URL\$1MEDICAL\$1IMAGING  | 
|  MemoryDB  |  memorydb  |  AWS\$1ENDPOINT\$1URL\$1MEMORYDB  | 
|  Marketplace Metering  |  marketplace\$1metering  |  AWS\$1ENDPOINT\$1URL\$1MARKETPLACE\$1METERING  | 
|  Migration Hub  |  migration\$1hub  |  AWS\$1ENDPOINT\$1URL\$1MIGRATION\$1HUB  | 
|  mgn  |  mgn  |  AWS\$1ENDPOINT\$1URL\$1MGN  | 
|  Migration Hub Refactor Spaces  |  migration\$1hub\$1refactor\$1spaces  |  AWS\$1ENDPOINT\$1URL\$1MIGRATION\$1HUB\$1REFACTOR\$1SPACES  | 
|  MigrationHub Config  |  migrationhub\$1config  |  AWS\$1ENDPOINT\$1URL\$1MIGRATIONHUB\$1CONFIG  | 
|  MigrationHubOrchestrator  |  migrationhuborchestrator  |  AWS\$1ENDPOINT\$1URL\$1MIGRATIONHUBORCHESTRATOR  | 
|  MigrationHubStrategy  |  migrationhubstrategy  |  AWS\$1ENDPOINT\$1URL\$1MIGRATIONHUBSTRATEGY  | 
|  Mobile  |  mobile  |  AWS\$1ENDPOINT\$1URL\$1MOBILE  | 
|  mq  |  mq  |  AWS\$1ENDPOINT\$1URL\$1MQ  | 
|  MTurk  |  mturk  |  AWS\$1ENDPOINT\$1URL\$1MTURK  | 
|  MWAA  |  mwaa  |  AWS\$1ENDPOINT\$1URL\$1MWAA  | 
|  Neptune  |  neptune  |  AWS\$1ENDPOINT\$1URL\$1NEPTUNE  | 
|  Neptune Graph  |  neptune\$1graph  |  AWS\$1ENDPOINT\$1URL\$1NEPTUNE\$1GRAPH  | 
|  neptunedata  |  neptunedata  |  AWS\$1ENDPOINT\$1URL\$1NEPTUNEDATA  | 
|  Network Firewall  |  network\$1firewall  |  AWS\$1ENDPOINT\$1URL\$1NETWORK\$1FIREWALL  | 
|  NetworkManager  |  networkmanager  |  AWS\$1ENDPOINT\$1URL\$1NETWORKMANAGER  | 
|  NetworkMonitor  |  networkmonitor  |  AWS\$1ENDPOINT\$1URL\$1NETWORKMONITOR  | 
|  nimble  |  nimble  |  AWS\$1ENDPOINT\$1URL\$1NIMBLE  | 
|  OAM  |  oam  |  AWS\$1ENDPOINT\$1URL\$1OAM  | 
|  Omics  |  omics  |  AWS\$1ENDPOINT\$1URL\$1OMICS  | 
|  OpenSearch  |  opensearch  |  AWS\$1ENDPOINT\$1URL\$1OPENSEARCH  | 
|  OpenSearchServerless  |  opensearchserverless  |  AWS\$1ENDPOINT\$1URL\$1OPENSEARCHSERVERLESS  | 
|  OpsWorks  |  opsworks  |  AWS\$1ENDPOINT\$1URL\$1OPSWORKS  | 
|  OpsWorksCM  |  opsworkscm  |  AWS\$1ENDPOINT\$1URL\$1OPSWORKSCM  | 
|  Organizations  |  organizations  |  AWS\$1ENDPOINT\$1URL\$1ORGANIZATIONS  | 
|  OSIS  |  osis  |  AWS\$1ENDPOINT\$1URL\$1OSIS  | 
|  Outposts  |  outposts  |  AWS\$1ENDPOINT\$1URL\$1OUTPOSTS  | 
|  p8data  |  p8data  |  AWS\$1ENDPOINT\$1URL\$1P8DATA  | 
|  p8data  |  p8data  |  AWS\$1ENDPOINT\$1URL\$1P8DATA  | 
|  Panorama  |  panorama  |  AWS\$1ENDPOINT\$1URL\$1PANORAMA  | 
|  Payment Cryptography  |  payment\$1cryptography  |  AWS\$1ENDPOINT\$1URL\$1PAYMENT\$1CRYPTOGRAPHY  | 
|  Payment Cryptography Data  |  payment\$1cryptography\$1data  |  AWS\$1ENDPOINT\$1URL\$1PAYMENT\$1CRYPTOGRAPHY\$1DATA  | 
|  Pca Connector Ad  |  pca\$1connector\$1ad  |  AWS\$1ENDPOINT\$1URL\$1PCA\$1CONNECTOR\$1AD  | 
|  Personalize  |  personalize  |  AWS\$1ENDPOINT\$1URL\$1PERSONALIZE  | 
|  Personalize Events  |  personalize\$1events  |  AWS\$1ENDPOINT\$1URL\$1PERSONALIZE\$1EVENTS  | 
|  Personalize Runtime  |  personalize\$1runtime  |  AWS\$1ENDPOINT\$1URL\$1PERSONALIZE\$1RUNTIME  | 
|  PI  |  pi  |  AWS\$1ENDPOINT\$1URL\$1PI  | 
|  Pinpoint  |  pinpoint  |  AWS\$1ENDPOINT\$1URL\$1PINPOINT  | 
|  Pinpoint Email  |  pinpoint\$1email  |  AWS\$1ENDPOINT\$1URL\$1PINPOINT\$1EMAIL  | 
|  Pinpoint SMS Voice  |  pinpoint\$1sms\$1voice  |  AWS\$1ENDPOINT\$1URL\$1PINPOINT\$1SMS\$1VOICE  | 
|  Pinpoint SMS Voice V2  |  pinpoint\$1sms\$1voice\$1v2  |  AWS\$1ENDPOINT\$1URL\$1PINPOINT\$1SMS\$1VOICE\$1V2  | 
|  Pipes  |  pipes  |  AWS\$1ENDPOINT\$1URL\$1PIPES  | 
|  Polly  |  polly  |  AWS\$1ENDPOINT\$1URL\$1POLLY  | 
|  Pricing  |  pricing  |  AWS\$1ENDPOINT\$1URL\$1PRICING  | 
|  PrivateNetworks  |  privatenetworks  |  AWS\$1ENDPOINT\$1URL\$1PRIVATENETWORKS  | 
|  Proton  |  proton  |  AWS\$1ENDPOINT\$1URL\$1PROTON  | 
|  QBusiness  |  qbusiness  |  AWS\$1ENDPOINT\$1URL\$1QBUSINESS  | 
|  QConnect  |  qconnect  |  AWS\$1ENDPOINT\$1URL\$1QCONNECT  | 
|  QLDB  |  qldb  |  AWS\$1ENDPOINT\$1URL\$1QLDB  | 
|  QLDB Session  |  qldb\$1session  |  AWS\$1ENDPOINT\$1URL\$1QLDB\$1SESSION  | 
|  QuickSight  |  quicksight  |  AWS\$1ENDPOINT\$1URL\$1QUICKSIGHT  | 
|  RAM  |  ram  |  AWS\$1ENDPOINT\$1URL\$1RAM  | 
|  rbin  |  rbin  |  AWS\$1ENDPOINT\$1URL\$1RBIN  | 
|  RDS  |  rds  |  AWS\$1ENDPOINT\$1URL\$1RDS  | 
|  RDS Data  |  rds\$1data  |  AWS\$1ENDPOINT\$1URL\$1RDS\$1DATA  | 
|  Redshift  |  redshift  |  AWS\$1ENDPOINT\$1URL\$1REDSHIFT  | 
|  Redshift Data  |  redshift\$1data  |  AWS\$1ENDPOINT\$1URL\$1REDSHIFT\$1DATA  | 
|  Redshift Serverless  |  redshift\$1serverless  |  AWS\$1ENDPOINT\$1URL\$1REDSHIFT\$1SERVERLESS  | 
|  Rekognition  |  rekognition  |  AWS\$1ENDPOINT\$1URL\$1REKOGNITION  | 
|  repostspace  |  repostspace  |  AWS\$1ENDPOINT\$1URL\$1REPOSTSPACE  | 
|  resiliencehub  |  resiliencehub  |  AWS\$1ENDPOINT\$1URL\$1RESILIENCEHUB  | 
|  Resource Explorer 2  |  resource\$1explorer\$12  |  AWS\$1ENDPOINT\$1URL\$1RESOURCE\$1EXPLORER\$12  | 
|  Resource Groups  |  resource\$1groups  |  AWS\$1ENDPOINT\$1URL\$1RESOURCE\$1GROUPS  | 
|  Resource Groups Tagging API  |  resource\$1groups\$1tagging\$1api  |  AWS\$1ENDPOINT\$1URL\$1RESOURCE\$1GROUPS\$1TAGGING\$1API  | 
|  RoboMaker  |  robomaker  |  AWS\$1ENDPOINT\$1URL\$1ROBOMAKER  | 
|  RolesAnywhere  |  rolesanywhere  |  AWS\$1ENDPOINT\$1URL\$1ROLESANYWHERE  | 
|  Route 53  |  route\$153  |  AWS\$1ENDPOINT\$1URL\$1ROUTE\$153  | 
|  Route53 Recovery Cluster  |  route53\$1recovery\$1cluster  |  AWS\$1ENDPOINT\$1URL\$1ROUTE53\$1RECOVERY\$1CLUSTER  | 
|  Route53 Recovery Control Config  |  route53\$1recovery\$1control\$1config  |  AWS\$1ENDPOINT\$1URL\$1ROUTE53\$1RECOVERY\$1CONTROL\$1CONFIG  | 
|  Route53 Recovery Readiness  |  route53\$1recovery\$1readiness  |  AWS\$1ENDPOINT\$1URL\$1ROUTE53\$1RECOVERY\$1READINESS  | 
|  Route 53 Domains  |  route\$153\$1domains  |  AWS\$1ENDPOINT\$1URL\$1ROUTE\$153\$1DOMAINS  | 
|  Route53Resolver  |  route53resolver  |  AWS\$1ENDPOINT\$1URL\$1ROUTE53RESOLVER  | 
|  RUM  |  rum  |  AWS\$1ENDPOINT\$1URL\$1RUM  | 
|  S3  |  s3  |  AWS\$1ENDPOINT\$1URL\$1S3  | 
|  S3 Control  |  s3\$1control  |  AWS\$1ENDPOINT\$1URL\$1S3\$1CONTROL  | 
|  S3Outposts  |  s3outposts  |  AWS\$1ENDPOINT\$1URL\$1S3OUTPOSTS  | 
|  SageMaker  |  sagemaker  |  AWS\$1ENDPOINT\$1URL\$1SAGEMAKER  | 
|  SageMaker A2I Runtime  |  sagemaker\$1a2i\$1runtime  |  AWS\$1ENDPOINT\$1URL\$1SAGEMAKER\$1A2I\$1RUNTIME  | 
|  Sagemaker Edge  |  sagemaker\$1edge  |  AWS\$1ENDPOINT\$1URL\$1SAGEMAKER\$1EDGE  | 
|  SageMaker FeatureStore Runtime  |  sagemaker\$1featurestore\$1runtime  |  AWS\$1ENDPOINT\$1URL\$1SAGEMAKER\$1FEATURESTORE\$1RUNTIME  | 
|  SageMaker Geospatial  |  sagemaker\$1geospatial  |  AWS\$1ENDPOINT\$1URL\$1SAGEMAKER\$1GEOSPATIAL  | 
|  SageMaker Metrics  |  sagemaker\$1metrics  |  AWS\$1ENDPOINT\$1URL\$1SAGEMAKER\$1METRICS  | 
|  SageMaker Runtime  |  sagemaker\$1runtime  |  AWS\$1ENDPOINT\$1URL\$1SAGEMAKER\$1RUNTIME  | 
|  savingsplans  |  savingsplans  |  AWS\$1ENDPOINT\$1URL\$1SAVINGSPLANS  | 
|  Scheduler  |  scheduler  |  AWS\$1ENDPOINT\$1URL\$1SCHEDULER  | 
|  schemas  |  schemas  |  AWS\$1ENDPOINT\$1URL\$1SCHEMAS  | 
|  SimpleDB  |  simpledb  |  AWS\$1ENDPOINT\$1URL\$1SIMPLEDB  | 
|  Secrets Manager  |  secrets\$1manager  |  AWS\$1ENDPOINT\$1URL\$1SECRETS\$1MANAGER  | 
|  SecurityHub  |  securityhub  |  AWS\$1ENDPOINT\$1URL\$1SECURITYHUB  | 
|  SecurityLake  |  securitylake  |  AWS\$1ENDPOINT\$1URL\$1SECURITYLAKE  | 
|  ServerlessApplicationRepository  |  serverlessapplicationrepository  |  AWS\$1ENDPOINT\$1URL\$1SERVERLESSAPPLICATIONREPOSITORY  | 
|  Service Quotas  |  service\$1quotas  |  AWS\$1ENDPOINT\$1URL\$1SERVICE\$1QUOTAS  | 
|  Service Catalog  |  service\$1catalog  |  AWS\$1ENDPOINT\$1URL\$1SERVICE\$1CATALOG  | 
|  Service Catalog AppRegistry  |  service\$1catalog\$1appregistry  |  AWS\$1ENDPOINT\$1URL\$1SERVICE\$1CATALOG\$1APPREGISTRY  | 
|  ServiceDiscovery  |  servicediscovery  |  AWS\$1ENDPOINT\$1URL\$1SERVICEDISCOVERY  | 
|  SES  |  ses  |  AWS\$1ENDPOINT\$1URL\$1SES  | 
|  SESv2  |  sesv2  |  AWS\$1ENDPOINT\$1URL\$1SESV2  | 
|  Shield  |  shield  |  AWS\$1ENDPOINT\$1URL\$1SHIELD  | 
|  signer  |  signer  |  AWS\$1ENDPOINT\$1URL\$1SIGNER  | 
|  SimSpaceWeaver  |  simspaceweaver  |  AWS\$1ENDPOINT\$1URL\$1SIMSPACEWEAVER  | 
|  SMS  |  sms  |  AWS\$1ENDPOINT\$1URL\$1SMS  | 
|  Snow Device Management  |  snow\$1device\$1management  |  AWS\$1ENDPOINT\$1URL\$1SNOW\$1DEVICE\$1MANAGEMENT  | 
|  Snowball  |  snowball  |  AWS\$1ENDPOINT\$1URL\$1SNOWBALL  | 
|  SNS  |  sns  |  AWS\$1ENDPOINT\$1URL\$1SNS  | 
|  SQS  |  sqs  |  AWS\$1ENDPOINT\$1URL\$1SQS  | 
|  SSM  |  ssm  |  AWS\$1ENDPOINT\$1URL\$1SSM  | 
|  SSM Contacts  |  ssm\$1contacts  |  AWS\$1ENDPOINT\$1URL\$1SSM\$1CONTACTS  | 
|  SSM Incidents  |  ssm\$1incidents  |  AWS\$1ENDPOINT\$1URL\$1SSM\$1INCIDENTS  | 
|  Ssm Sap  |  ssm\$1sap  |  AWS\$1ENDPOINT\$1URL\$1SSM\$1SAP  | 
|  SSO  |  sso  |  AWS\$1ENDPOINT\$1URL\$1SSO  | 
|  SSO Admin  |  sso\$1admin  |  AWS\$1ENDPOINT\$1URL\$1SSO\$1ADMIN  | 
|  SSO OIDC  |  sso\$1oidc  |  AWS\$1ENDPOINT\$1URL\$1SSO\$1OIDC  | 
|  SFN  |  sfn  |  AWS\$1ENDPOINT\$1URL\$1SFN  | 
|  Storage Gateway  |  storage\$1gateway  |  AWS\$1ENDPOINT\$1URL\$1STORAGE\$1GATEWAY  | 
|  STS  |  sts  |  AWS\$1ENDPOINT\$1URL\$1STS  | 
|  SupplyChain  |  supplychain  |  AWS\$1ENDPOINT\$1URL\$1SUPPLYCHAIN  | 
|  Support  |  support  |  AWS\$1ENDPOINT\$1URL\$1SUPPORT  | 
|  Support App  |  support\$1app  |  AWS\$1ENDPOINT\$1URL\$1SUPPORT\$1APP  | 
|  SWF  |  swf  |  AWS\$1ENDPOINT\$1URL\$1SWF  | 
|  synthetics  |  synthetics  |  AWS\$1ENDPOINT\$1URL\$1SYNTHETICS  | 
|  Textract  |  textract  |  AWS\$1ENDPOINT\$1URL\$1TEXTRACT  | 
|  Timestream InfluxDB  |  timestream\$1influxdb  |  AWS\$1ENDPOINT\$1URL\$1TIMESTREAM\$1INFLUXDB  | 
|  Timestream Query  |  timestream\$1query  |  AWS\$1ENDPOINT\$1URL\$1TIMESTREAM\$1QUERY  | 
|  Timestream Write  |  timestream\$1write  |  AWS\$1ENDPOINT\$1URL\$1TIMESTREAM\$1WRITE  | 
|  tnb  |  tnb  |  AWS\$1ENDPOINT\$1URL\$1TNB  | 
|  Transcribe  |  transcribe  |  AWS\$1ENDPOINT\$1URL\$1TRANSCRIBE  | 
|  Transfer  |  transfer  |  AWS\$1ENDPOINT\$1URL\$1TRANSFER  | 
|  Translate  |  translate  |  AWS\$1ENDPOINT\$1URL\$1TRANSLATE  | 
|  TrustedAdvisor  |  trustedadvisor  |  AWS\$1ENDPOINT\$1URL\$1TRUSTEDADVISOR  | 
|  VerifiedPermissions  |  verifiedpermissions  |  AWS\$1ENDPOINT\$1URL\$1VERIFIEDPERMISSIONS  | 
|  Voice ID  |  voice\$1id  |  AWS\$1ENDPOINT\$1URL\$1VOICE\$1ID  | 
|  VPC Lattice  |  vpc\$1lattice  |  AWS\$1ENDPOINT\$1URL\$1VPC\$1LATTICE  | 
|  WAF  |  waf  |  AWS\$1ENDPOINT\$1URL\$1WAF  | 
|  WAF Regional  |  waf\$1regional  |  AWS\$1ENDPOINT\$1URL\$1WAF\$1REGIONAL  | 
|  WAFV2  |  wafv2  |  AWS\$1ENDPOINT\$1URL\$1WAFV2  | 
|  WellArchitected  |  wellarchitected  |  AWS\$1ENDPOINT\$1URL\$1WELLARCHITECTED  | 
|  Wisdom  |  wisdom  |  AWS\$1ENDPOINT\$1URL\$1WISDOM  | 
|  WorkDocs  |  workdocs  |  AWS\$1ENDPOINT\$1URL\$1WORKDOCS  | 
|  WorkLink  |  worklink  |  AWS\$1ENDPOINT\$1URL\$1WORKLINK  | 
|  WorkMail  |  workmail  |  AWS\$1ENDPOINT\$1URL\$1WORKMAIL  | 
|  WorkMailMessageFlow  |  workmailmessageflow  |  AWS\$1ENDPOINT\$1URL\$1WORKMAILMESSAGEFLOW  | 
|  WorkSpaces  |  workspaces  |  AWS\$1ENDPOINT\$1URL\$1WORKSPACES  | 
|  WorkSpaces Thin Client  |  workspaces\$1thin\$1client  |  AWS\$1ENDPOINT\$1URL\$1WORKSPACES\$1THIN\$1CLIENT  | 
|  WorkSpaces Web  |  workspaces\$1web  |  AWS\$1ENDPOINT\$1URL\$1WORKSPACES\$1WEB  | 
|  XRay  |  xray  |  AWS\$1ENDPOINT\$1URL\$1XRAY  | 

# 智慧組態預設值
<a name="feature-smart-config-defaults"></a>

**注意**  
如需了解設定頁面配置或解譯以下 **Support AWS SDKs和工具**資料表的說明，請參閱 [了解本指南的設定頁面](settings-reference.md#settingsPages)。

透過智慧型組態預設值功能， AWS SDKs可以為其他組態設定提供預先定義的最佳化預設值。

使用下列項目設定此功能：

**`defaults_mode` - 共用 AWS `config`檔案設定`AWS_DEFAULTS_MODE` - 環境變數`aws.defaultsMode` - JVM 系統屬性：僅限 Java/Kotlin**  
使用此設定，您可以選擇與您的應用程式架構相符的模式，然後為您的應用程式提供最佳化的預設值。如果 AWS SDK 設定有明確設定的值，則該值一律優先。如果 AWS SDK 設定沒有明確設定的值，而且`defaults_mode`不等於舊版，則此功能可以為您的應用程式最佳化的各種設定提供不同的預設值。設定可能包括下列項目：HTTP 通訊設定、重試行為、服務區域端點設定，以及可能的任何 SDK 相關組態。使用此功能的客戶可以取得針對常見使用案例量身打造的新組態預設值。如果您的 `defaults_mode` 不等於 `legacy`，我們建議您在升級 SDK 時執行應用程式的測試，因為提供的預設值可能會隨著最佳實務的演進而變更。  
**預設值**：`legacy`  
注意：軟體SDKs的新主要版本預設為 `standard`。  
**有效值**：  
+ `legacy` – 提供預設設定，這些設定會因 SDK 而異，並在建立 之前已存在`defaults_mode`。
+ `standard` – 提供應可在大多數情況下安全執行的最新建議預設值。
+ `in-region` – 以標準模式為基礎，包括針對 AWS 服務 在相同 內呼叫的應用程式量身打造的最佳化 AWS 區域。
+ `cross-region` – 以標準模式為基礎，包括為 AWS 服務 在不同區域中呼叫的應用程式量身打造的最佳化。
+ `mobile` – 以標準模式建置，並包含專為行動應用程式量身打造的最佳化。
+ `auto` – 以標準模式為基礎，並包含實驗性功能。SDK 會嘗試探索執行時期環境，自動判斷適當的設定。自動偵測是以啟發式為基礎，不提供 100% 的準確性。如果無法判斷執行時間環境，則會使用 `standard` 模式。自動偵測可能會查詢[執行個體中繼資料](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)，這可能會導致延遲。如果啟動延遲對您的應用程式至關重要，我們建議您改為明確選擇 `defaults_mode`。
 在 `config` 檔案中設定此值的範例：  

```
[default]
defaults_mode = standard
```
下列參數可能會根據 的選擇進行最佳化`defaults_mode`：  
+ `retryMode` – 指定 SDK 嘗試重試的方式。請參閱 [重試行為](feature-retry-behavior.md)。
+ `stsRegionalEndpoints` – 指定 SDK 如何決定用來與 AWS Security Token Service () 通訊的 AWS 服務 端點AWS STS。請參閱 [AWS STS 區域端點](feature-sts-regionalized-endpoints.md)。
+ `s3UsEast1RegionalEndpoints` – 指定 SDK 如何決定用來與 `us-east-1` 區域的 Amazon S3 通訊 AWS 的服務端點。
+ `connectTimeoutInMillis` – 在通訊端上進行初始連線嘗試之後，逾時之前的時間量。如果用戶端未收到連線交握完成，用戶端會放棄操作並失敗。
+ `tlsNegotiationTimeoutInMillis` – 從傳送 CLIENT HELLO 訊息到用戶端和伺服器完全交涉密碼和交換金鑰的時間，TLS 交握可以花費的時間上限。

每個設定的預設值會根據為您的應用程式`defaults_mode`選取的 而變更。這些值目前設定如下 （可能會有所變更）：


| 參數 | `standard` 模式 | `in-region` 模式 | `cross-region` 模式 | `mobile` 模式 | 
| --- | --- | --- | --- | --- | 
|  retryMode  | standard | standard | standard | standard | 
|  stsRegionalEndpoints  | regional | regional | regional | regional | 
|  s3UsEast1RegionalEndpoints  | regional | regional | regional | regional | 
|  connectTimeoutInMillis  | 3100 | 1100 | 3100 | 30000 | 
|  tlsNegotiationTimeoutInMillis  | 3100 | 1100 | 3100 | 30000 | 

例如，如果您`defaults_mode`選取的 是 `standard`，則 的值`standard`會指派給 `retry_mode`（從有效`retry_mode`選項），而 的值`regional`會指派給 `stsRegionalEndpoints`（從有效`stsRegionalEndpoints`選項）。

## 支援 AWS SDKs和工具
<a name="feature-smart-config-defaults-sdk-compat"></a>

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。


| SDK | 支援 | 備註或更多資訊 | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 否 |  | 
| [適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) |  是 | 參數未最佳化：stsRegionalEndpoints、s3UsEast1RegionalEndpoints、tlsNegotiationTimeoutInMillis。 | 
| [適用於 Go V2 的 SDK (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 | 參數未最佳化：retryMode、stsRegionalEndpoints、s3UsEast1RegionalEndpoints。 | 
| [適用於 Go 的 SDK 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 否 |  | 
| [適用於 Java 的 SDK 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 | 參數未最佳化：stsRegionalEndpoints。 | 
| [適用於 Java 的 SDK 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 否 |  | 
| [適用於 JavaScript 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 | 未最佳化的參數：stsRegionalEndpoints、s3UsEast1RegionalEndpoints、tlsNegotiationTimeoutInMillis。 connectTimeoutInMillis 稱為 connectionTimeout。 | 
| [適用於 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 否 |  | 
| [適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 否 |  | 
| [適用於 .NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 | 參數未最佳化：connectTimeoutInMillis、tlsNegotiationTimeoutInMillis。 | 
| [適用於 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 | 參數未最佳化：connectTimeoutInMillis、tlsNegotiationTimeoutInMillis。 | 
| [適用於 PHP 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 | 參數未最佳化：tlsNegotiationTimeoutInMillis。 | 
| [適用於 Python 的 SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | 是 | 參數未最佳化：tlsNegotiationTimeoutInMillis。 | 
| [適用於 Ruby 的 SDK 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 |   | 
| [適用於 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 否 |  | 
| [適用於 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 否 |  | 
| [PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 | 參數未最佳化：connectTimeoutInMillis、tlsNegotiationTimeoutInMillis。 | 
| [PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 | 參數未最佳化：connectTimeoutInMillis、tlsNegotiationTimeoutInMillis。 | 