

 適用於 Java 的 AWS SDK 1.x 已於 2025 年 12 月 31 日end-of-support。我們建議您遷移至 [AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html)，以繼續接收新功能、可用性改善和安全性更新。

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

# 設定 AWS 臨時登入資料和 AWS 區域 以進行開發
<a name="setup-credentials"></a>

若要使用 連線到任何支援的 服務 適用於 Java 的 AWS SDK，您必須提供 AWS 暫時登入資料。 AWS SDKs 和 CLIs 使用*提供者鏈*在許多不同的位置尋找 AWS 臨時登入資料，包括系統/使用者環境變數和本機 AWS 組態檔案。

本主題提供使用 為本機應用程式開發設定 AWS 臨時登入資料的基本資訊 適用於 Java 的 AWS SDK。如果您需要設定登入資料以在 EC2 執行個體內使用，或者您使用 Eclipse IDE 進行開發，請改為參考下列主題：
+ 使用 EC2 執行個體時，請建立 IAM 角色，然後讓 EC2 執行個體存取該角色，如[使用 IAM 角色授予 AWS 資源的存取權 Amazon EC2](java-dg-roles.md)中所示。
+ 使用 在 Eclipse 中設定 AWS 登入資料[AWS Toolkit for Eclipse](https://aws.amazon.com/eclipse/)。如需詳細資訊，請參閱[AWS Toolkit for Eclipse 《 使用者指南](https://docs.aws.amazon.com/toolkit-for-eclipse/v1/user-guide/)》中的[設定 AWS 登入](https://docs.aws.amazon.com/toolkit-for-eclipse/v1/user-guide/setup-credentials.html)資料。

## 設定臨時登入資料
<a name="setup-credentials-setting"></a>

您可以透過 適用於 Java 的 AWS SDK 多種方式設定 的臨時登入資料，但以下是建議的方法：
+ 在本機系統的登入資料設定檔中設定臨時 AWS 登入資料，位於：
  +  `~/.aws/credentials`在 Linux、macOS 或 Unix
  +  Windows 上的 `C:\Users\USERNAME\.aws\credentials`

  如需如何取得臨時登入資料的說明，請參閱本指南[設定 SDK 的臨時登入資料](signup-create-iam-user.md#setup-temp-creds)中的 。
+ 設定 `AWS_ACCESS_KEY_ID``AWS_SECRET_ACCESS_KEY`、 和 `AWS_SESSION_TOKEN`環境變數。

  若要在 Linux、macOS 或 Unix 上設定這些變數，請使用 ：

  ```
  export AWS_ACCESS_KEY_ID=your_access_key_id
  export AWS_SECRET_ACCESS_KEY=your_secret_access_key
  export AWS_SESSION_TOKEN=your_session_token
  ```

  若要在 Windows 上設定這些變數，請使用 ：

  ```
  set AWS_ACCESS_KEY_ID=your_access_key_id
  set AWS_SECRET_ACCESS_KEY=your_secret_access_key
  set AWS_SESSION_TOKEN=your_session_token
  ```
+ 對於 EC2 執行個體，請指定 IAM 角色然後提供您的 EC2 執行個體存取權給該角色。如需此運作方式的詳細討論，請參閱《Linux 執行個體 Amazon EC2 使用者指南》中的適用於 的 [IAM 角色 Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)。

使用這些方法之一設定 AWS 臨時登入資料後， 將使用預設 適用於 Java 的 AWS SDK 登入資料提供者鏈結自動載入臨時登入資料。如需在 Java 應用程式中使用 AWS 登入資料的詳細資訊，請參閱[使用 AWS 登入](credentials.md)資料。

## 重新整理 IMDS 登入資料
<a name="refresh-credentials"></a>

無論憑證過期時間為何， 支援每 1 分鐘在背景 適用於 Java 的 AWS SDK 中選擇加入重新整理 IMDS 憑證。這可讓您更頻繁地重新整理登入資料，並降低未達到 IMDS 影響感知 AWS 可用性的機會。

```
 1. // Refresh credentials using a background thread, automatically every minute. This will log an error if IMDS is down during
 2. // a refresh, but your service calls will continue using the cached credentials until the credentials are refreshed
 3. // again one minute later.
 4.
 5. InstanceProfileCredentialsProvider credentials =
 6.     InstanceProfileCredentialsProvider.createAsyncRefreshingProvider(true);
 7.
 8. AmazonS3Client.builder()
 9.              .withCredentials(credentials)
 10.              .build();
 11.
 12. // This is new: When you are done with the credentials provider, you must close it to release the background thread.
 13. credentials.close();
```

## 設定 AWS 區域
<a name="setup-credentials-setting-region"></a>

您應該設定用於使用 AWS 區域 存取 AWS 服務的預設值 適用於 Java 的 AWS SDK。為了獲得最佳的網路效能，請選擇地理位置上靠近您 (或您的客戶) 的區域。如需每個服務的區域清單，請參閱《 Amazon Web Services 一般參考》中的[區域和端點](https://docs.aws.amazon.com/general/latest/gr/rande.html)。

**注意**  
如果您*未*選取區域，則預設會使用 us-east-1。

您可以使用類似的技術來設定登入資料，以設定您的預設 AWS 區域：
+ 在本機系統的組態檔案中設定 AWS 區域 AWS ，位於：
  + Linux、macOS 或 Unix 上的 \$1/.aws/config
  + Windows 上的 C：\$1Users\$1USERNAME\$1.aws\$1config

  此檔案應該包含下列格式的行：

  \$1

  ```
  [default]
  region = your_aws_region
  ```

  \$1

  將您想要的 AWS 區域 （例如，「us-east-1」) 替換為 *your\$1aws\$1region*。
+ 設定 `AWS_REGION` 環境變數。

  在 Linux、macOS 或 Unix 上，使用 ** `` **：

  ```
  export AWS_REGION=your_aws_region
  ```

  在 Windows 上，使用 **``**：

  ```
  set AWS_REGION=your_aws_region
  ```

  其中 *your\$1aws\$1region* 是所需的 AWS 區域 名稱。