

 適用於 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)，以繼續接收新功能、可用性改善和安全性更新。

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

# 開始使用
<a name="getting-started"></a>

本節提供如何安裝、設定和使用 適用於 Java 的 AWS SDK的相關資訊。

**Topics**
+ [基本設定](signup-create-iam-user.md)
+ [

# 取得 的方式 適用於 Java 的 AWS SDK
](setup-install.md)
+ [

# 使用建置工具
](setup-build-tools.md)
+ [暫時登入資料和區域](setup-credentials.md)

# 使用 的基本設定 AWS 服務
<a name="signup-create-iam-user"></a>

## 概觀
<a name="signup-create-iam-user-overview"></a>

若要成功開發 AWS 服務 使用 存取的應用程式 適用於 Java 的 AWS SDK，需要下列條件：
+ 您必須能夠[登入 中提供的 AWS 存取入口網站](#setup-awsaccount) AWS IAM Identity Center。
+ 為 SDK 設定的 [IAM 角色許可](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html)必須允許存取 AWS 服務 您的應用程式所需的 。與 **PowerUserAccess** AWS 受管政策相關聯的許可足以滿足大多數開發需求。
+ 具有下列元素的開發環境：
  + 以下列方式設定的[共用組態檔案](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html)：
    + `config` 檔案包含指定 的預設設定檔 AWS 區域。
    + `credentials` 檔案包含臨時登入資料做為預設設定檔的一部分。
  + Java [的適當安裝](#java-dg-java-env)。
  + [Maven](https://maven.apache.org/download.cgi) 或 [Gradle](https://gradle.org/install/) 等[建置自動化工具](setup-build-tools.md)。
  + 使用程式碼的文字編輯器。
  + （選用，但建議使用） IDE （整合式開發環境），例如 [IntelliJ IDEA](https://www.jetbrains.com/idea/download/#section=windows)、[Eclipse](https://www.eclipse.org/ide/) 或 [NetBeans](https://netbeans.org/downloads/)。

    使用 IDE 時，您也可以整合 AWS 工具組以更輕鬆地使用 AWS 服務。[AWS Toolkit for IntelliJ](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html) 和 [AWS Toolkit for Eclipse](https://docs.aws.amazon.com/toolkit-for-eclipse/v1/user-guide/welcome.html)是兩個工具組，可用於 Java 開發。

**重要**  
此設定區段中的指示假設您或組織使用 IAM Identity Center。如果您的組織使用獨立於 IAM Identity Center 運作的外部身分提供者，請了解如何取得適用於 Java 的 SDK 暫時登入資料。請依照[這些指示](#setup-temp-creds)，將臨時登入資料新增至 `~/.aws/credentials` 檔案。  
如果您的身分提供者自動將臨時登入資料新增至 `~/.aws/credentials` 檔案，請確定設定檔名稱為 ，`[default]`這樣您就不需要提供設定檔名稱給 SDK 或 AWS CLI。

## AWS 存取入口網站的登入功能
<a name="setup-awsaccount"></a>

 AWS 存取入口網站是您手動登入 IAM Identity Center 的 Web 位置。URL 的格式為 `d-xxxxxxxxxx.awsapps.com/start`或 `your_subdomain.awsapps.com/start`。

如果您不熟悉 AWS 存取入口網站，請遵循 AWS SDKs 和工具參考指南中 [IAM Identity Center 身分驗證主題的步驟 1](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html#idcGettingStarted) 中的帳戶存取指引。請勿遵循步驟 2，因為 適用於 Java 的 AWS SDK 1.x 不支援針對步驟 2 描述的 SDK 自動權杖重新整理和自動擷取臨時登入資料。

## 設定共用組態檔案
<a name="setup-shared-config-files"></a>

共用組態檔案位於開發工作站上，並包含 AWS SDKs和 AWS Command Line Interface (CLI) 使用的基本設定。共用組態檔案可以包含[許多設定](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html)，但這些指示會設定使用 SDK 所需的基本元素。

### 設定共用`config`檔案
<a name="setup-shared-config-files-conf"></a>

下列範例顯示共用`config`檔案的內容。

```
[default]
region=us-east-1
output=json
```

基於開發目的，請使用您計劃執行程式碼 AWS 區域 [的最接近](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) 。如需要在 `config` 檔案中使用[的區域代碼清單](https://docs.aws.amazon.com/general/latest/gr/rande.html#region-names-codes)，請參閱 Amazon Web Services 一般參考 指南。輸出格式`json`的設定是[數個可能的值](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html)之一。

遵循[本節中的](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html)指引來建立 `config` 檔案。

### 設定 SDK 的臨時登入資料
<a name="setup-temp-creds"></a>

您可以透過存取 AWS 入口網站存取 AWS 帳戶 和 IAM 角色之後，請使用暫時登入資料來設定開發環境，以便 SDK 存取。

**使用臨時登入資料設定本機`credentials`檔案的步驟**

1. [建立共用`credentials`檔案](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html)。

1. 在 `credentials` 檔案中，貼上下列預留位置文字，直到您貼上運作中的暫時登入資料為止。

   ```
   [default]
   aws_access_key_id=<value from AWS access portal>
   aws_secret_access_key=<value from AWS access portal>
   aws_session_token=<value from AWS access portal>
   ```

1. 儲存檔案。檔案現在`~/.aws/credentials`應該存在於您的本機開發系統上。如果未指定特定具名[設定檔，此檔案包含適用於 Java 的 SDK 使用的 【預設】](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile) 設定檔。

1. [登入 AWS 存取入口網站](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosignin.html)。

1. 請遵循[手動登入資料重新整理](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtogetcredentials.html#how-to-get-temp-credentials)標題下的這些指示，從 AWS 存取入口網站複製 IAM 角色登入資料。

   1. 針對連結指示中的步驟 4，選擇 IAM 角色名稱，為您的開發需求授予存取權。此角色通常具有 **PowerUserAccess** 或 ** Developer** 等名稱。

   1. 針對步驟 7，選取**手動將設定檔新增至您的 AWS 登入資料檔案**選項，然後複製內容。

1. 將複製的登入資料貼到您的本機`credentials`檔案中，並移除任何貼上的設定檔名稱。您的 檔案應該類似以下內容：

   ```
   [default]
   aws_access_key_id=AKIAIOSFODNN7EXAMPLE
   aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
   ```

1. 儲存`credentials`檔案

適用於 Java 的 SDK 會在建立服務用戶端時存取這些臨時登入資料，並用於每個請求。在步驟 5a 中選擇的 IAM 角色設定會決定[臨時憑證的有效時長](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html)。最長持續時間為 12 小時。

臨時憑證過期後，請重複步驟 4 至 7。

## 安裝 Java 開發環境
<a name="java-dg-java-env"></a>

 適用於 Java 的 AWS SDK V1 需要 Java 7 JDK 或更新版本，並支援所有 Java LTS （長期支援） JDK 版本。如果您使用 1.12.767 版或更早版本的開發套件，則可以使用 Java 7，但如果您使用 1.12.768 版或更新版本的開發套件，則需要 Java 8。[Maven 中央儲存庫](https://central.sonatype.com/artifact/com.amazonaws/aws-java-sdk-bom)會列出適用於 Java 的 SDK 最新版本。

 適用於 Java 的 AWS SDK 適用於 [Oracle Java SE 開發套件](https://www.oracle.com/java/technologies/downloads/)和 Open Java 開發套件 (OpenJDK) 的發行版本，例如 [Amazon Corretto](https://aws.amazon.com/corretto)、[Red Hat OpenJDK](https://developers.redhat.com/products/openjdk/overview) 和 [Adoptium](https://adoptium.net/)。

# 取得 的方式 適用於 Java 的 AWS SDK
<a name="setup-install"></a>

## 先決條件
<a name="prerequisitesinstall"></a>

若要使用 適用於 Java 的 AWS SDK，您必須具有：
+ 您必須能夠[登入 中提供的 AWS 存取入口網站](signup-create-iam-user.md#setup-awsaccount) AWS IAM Identity Center。
+ Java [的適當安裝](signup-create-iam-user.md#java-dg-java-env)。
+ 在您的本機共用`credentials`檔案中設定的臨時登入資料。

如需如何設定以使用適用於 Java 的 SDK 的說明，請參閱 [使用 的基本設定 AWS 服務](signup-create-iam-user.md)主題。

## 使用建置工具來管理適用於 Java 的 SDK 相依性 （建議）
<a name="include-sdk"></a>

我們建議您將 Apache Maven 或 Gradle 與專案搭配使用，以存取適用於 Java 的 SDK 所需的相依性。[本節](setup-build-tools.md)說明如何使用這些工具。

## 下載並擷取 SDK （不建議）
<a name="download-and-extract-sdk"></a>

我們建議您使用建置工具來存取專案的 SDK，不過，您可以下載 SDK 的預先建置 jar 的最新版本。

**注意**  
如需有關如何下載和建置舊版 SDK 的資訊，請參閱[安裝舊版 SDK](#install-prev-sdk)。

1. 從 [https://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip](https://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip)：// 下載開發套件。

1. 下載 SDK 後，將內容擷取至本機目錄。

開發套件包含下列目錄：
+  `documentation`- 包含 API 文件 （也可在 Web 上取得：[適用於 Java 的 AWS SDK API 參考](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/))。
+  `lib`- 包含 SDK `.jar` 檔案。
+  `samples`- 包含工作範例程式碼，示範如何使用 SDK。
+  `third-party/lib`- 包含開發套件使用的第三方程式庫，例如 Apache 通用日誌記錄、AspectJ 和 Spring 架構。

若要使用 SDK，請將 `lib`和 `third-party` 目錄的完整路徑新增至建置檔案中的相依性，並將其新增至您的 Java `CLASSPATH`以執行程式碼。

## 從來源建置舊版 SDK （不建議）
<a name="install-prev-sdk"></a>

只有最新版的完整 SDK 會以可下載的 jar 格式提供。不過，您可以使用 Apache Maven （開放原始碼） 建置舊版 SDK。Maven 會在一個步驟中下載所有必要的相依性、建置和安裝 SDK。如需安裝說明和詳細資訊，請造訪 [http://maven.apache.org/](http://maven.apache.org/)：//。

1. 前往開發套件的 GitHub 頁面，網址為： [適用於 Java 的 AWS SDK (GitHub)](https://github.com/aws/aws-sdk-java)。

1. 選擇與您想要的 SDK 版本編號對應的標籤。例如 `1.6.10`。

1. 按一下**下載 ZIP** 按鈕，下載您選取的 SDK 版本。

1. 將檔案解壓縮至開發系統上的目錄。在許多系統上，您可以使用圖形檔案管理員來執行此操作，或在終端機視窗中使用 `unzip` 公用程式。

1. 在終端機視窗中，導覽至您解壓縮 SDK 來源的目錄。

1. 使用下列命令建置並安裝 SDK （需要 [Maven](https://maven.apache.org/))：

   ```
   mvn clean install -Dgpg.skip=true
   ```

   產生的 `.jar` 檔案內建至 `target` 目錄。

1. （選用） 使用以下命令建置 API 參考文件：

   ```
   mvn javadoc:javadoc
   ```

   文件內建於 `target/site/apidocs/`目錄中。

# 使用建置工具
<a name="setup-build-tools"></a>

使用建置工具有助於管理 Java 專案的開發。有數種建置工具可供使用，但我們示範如何使用兩種熱門的建置工具來啟動和執行：Maven 和 Gradle。本主題說明如何使用這些建置工具來管理專案所需的適用於 Java 的 SDK 相依性。

**Topics**
+ [

# 使用軟體開發套件搭配 Apache Maven
](setup-project-maven.md)
+ [

# 使用軟體開發套件搭配 Gradle
](setup-project-gradle.md)

# 使用軟體開發套件搭配 Apache Maven
<a name="setup-project-maven"></a>

您可以使用 [Apache Maven](https://maven.apache.org/) 來設定和建置 適用於 Java 的 AWS SDK 專案，或建置 SDK 本身。

**注意**  
您必須已安裝 Maven 才能使用本主題中的指導方針。如果尚未安裝，請造訪 [http://maven.apache.org/](http://maven.apache.org/) 進行下載和安裝。

## 建立新的 Maven 套件
<a name="create-a-new-maven-package"></a>

若要建立基本 Maven 套件，請開啟終端機 （命令列） 視窗並執行：

```
mvn -B archetype:generate \
  -DarchetypeGroupId=org.apache.maven.archetypes \
  -DgroupId=org.example.basicapp \
  -DartifactId=myapp
```

將 *org.example.basicapp* 取代為應用程式的完整套件命名空間，並將 *myapp* 取代為專案的名稱 （這會成為專案的目錄名稱）。

根據預設， 會使用 [quickstart](http://maven.apache.org/archetypes/maven-archetype-quickstart/) 原型為您建立專案範本，這是許多專案的理想起點。有更多可用的原型；請造訪 [Maven 原型](https://maven.apache.org/archetypes/index.html)頁面以取得 封裝的原型清單。您可以將 `-DarchetypeArtifactId` 引數新增到 `archetype:generate` 命令，選擇使用特定原型。例如：

```
mvn archetype:generate \
  -DarchetypeGroupId=org.apache.maven.archetypes \
  -DarchetypeArtifactId=maven-archetype-webapp \
  -DgroupId=org.example.webapp \
  -DartifactId=mywebapp
```

**注意**  
[Maven 入門指南](https://maven.apache.org/guides/getting-started/)提供建立和設定專案的更多相關資訊。

## 將 SDK 設定為 Maven 相依性
<a name="configuring-maven"></a>

若要在專案 適用於 Java 的 AWS SDK 中使用 ，您需要在專案的 `pom.xml` 檔案中將其宣告為相依性。從 1.9.0 版開始，您可以匯入[個別元件](#configuring-maven-individual-components)或[整個 SDK](#configuring-maven-entire-sdk)。

### 指定個別 SDK 模組
<a name="configuring-maven-individual-components"></a>

若要選取個別 SDK 模組，請使用 Maven 的物料 適用於 Java 的 AWS SDK 清單 (BOM)，這將確保您指定的模組使用相同版本的 SDK，且彼此相容。

若要使用 BOM，請將 `<dependencyManagement>`區段新增至應用程式的 `pom.xml` 檔案，新增 `aws-java-sdk-bom`做為相依性，並指定您要使用的 SDK 版本：

```
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-bom</artifactId>
      <version>1.11.1000</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>
```

若要檢視 Maven Central 上提供的 適用於 Java 的 AWS SDK BOM 最新版本，請造訪：https：//[https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom)。您也可以使用此頁面來查看哪些模組 （相依性） 是由 BOM 管理，您可以包含在專案`pom.xml`檔案的 `<dependencies>`區段中。

您現在可以從應用程式中使用的 SDK 中選取個別模組。由於您已經在 BOM 中宣告開發套件版本，所以不需要指定每個元件的版本編號。

```
<dependencies>
  <dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-s3</artifactId>
  </dependency>
  <dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-dynamodb</artifactId>
  </dependency>
</dependencies>
```

您也可以參閱 * AWS 程式碼範例目錄 * ，以了解要用於指定 的相依性 AWS 服務。請參閱特定服務範例下的 POM 檔案。例如，如果您對 AWS S3 服務的相依性感興趣，請參閱 GitHub 上的[完整範例](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/GetAcl.java)。（查看 /java/example\$1code/s3 下的 pom)。

### 匯入所有 SDK 模組
<a name="configuring-maven-entire-sdk"></a>

如果您想要提取*整個*開發套件做為相依性，請不要使用 BOM 方法，只需`pom.xml`像這樣在 中宣告：

```
<dependencies>
  <dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk</artifactId>
    <version>1.11.1000</version>
  </dependency>
</dependencies>
```

## 建立專案
<a name="build-your-project"></a>

設定專案後，您可以使用 Maven 的`package`命令建置專案：

```
mvn package
```

這將在 `target`目錄中建立您的 `0jar` 檔案。

## 使用 Maven 建置 SDK
<a name="building-with-maven"></a>

您可以使用 Apache Maven 從來源建置 SDK。若要這樣做，[請從 GitHub 下載 SDK 程式碼](https://github.com/aws/aws-sdk-java)，在本機解壓縮，然後執行下列 Maven 命令：

```
mvn clean install
```

# 使用軟體開發套件搭配 Gradle
<a name="setup-project-gradle"></a>

若要管理 [Gradle](https://gradle.com/) 專案的 SDK 相依性，請將 的 Maven BOM 匯入 適用於 Java 的 AWS SDK 應用程式的 `build.gradle` 檔案。

**注意**  
在下列範例中，將建置檔案中的 *1.12.529* 取代為有效的 版本 適用於 Java 的 AWS SDK。在 [ Maven 中央儲存庫](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom/latest)中尋找最新版本。

## Gradle 4.6 或更新版本的專案設定
<a name="project-setup-for-gradle-4-6-or-higher"></a>

 [自 Gradle 4.6](https://docs.gradle.org/4.6/release-notes.html#bom-import) 以來，您可以使用 Gradle 改善的 POM 支援功能，透過宣告對 BOM 的相依性來匯入物料清單 (BOM) 檔案。

1. 如果您使用 Gradle 5.0 或更新版本，請跳至步驟 2。否則，請在 `settings.gradle` 檔案中啟用 *IMPROVED\$1POM\$1SUPPORT* 功能。

   ```
   enableFeaturePreview('IMPROVED_POM_SUPPORT')
   ```

1. 將 BOM 新增至應用程式`build.gradle`檔案的*相依性*區段。

   ```
   ...
   dependencies {
       implementation platform('com.amazonaws:aws-java-sdk-bom:1.12.529')
   
       // Declare individual SDK dependencies without version
       ...
   }
   ```

1. 指定要在 *dependencies (相依性)* 區段中使用的開發套件模組。例如，以下包含 Amazon Simple Storage Service () 的相依性Amazon S3。

   ```
   ...
   dependencies {
       implementation platform('com.amazonaws:aws-java-sdk-bom:1.12.529')
       implementation 'com.amazonaws:aws-java-sdk-s3'
       ...
   }
   ```

Gradle 會使用 BOM 的資訊，自動解析您開發套件相依性的正確版本。

以下是包含其相依性的完整`build.gradle`檔案範例 Amazon S3。

```
group 'aws.test'
version '1.0-SNAPSHOT'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
  mavenCentral()
}

dependencies {
  implementation platform('com.amazonaws:aws-java-sdk-bom:1.12.529')
  implementation 'com.amazonaws:aws-java-sdk-s3'
}
```

**注意**  
在上一個範例中，將 的相依性取代 Amazon S3 為您將在專案中使用的 AWS 服務的相依性。由 適用於 Java 的 AWS SDK BOM 管理的模組 （相依性） 會列在 [Maven 中央儲存庫](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom/latest)上。

## 4.6 之前 Gradle 版本的專案設定
<a name="project-setup-for-gradle-versions-earlier-than-4-6"></a>

4.6 之前的 Gradle 版本缺少原生 BOM 支援。若要管理專案的 適用於 Java 的 AWS SDK 相依性，請使用 Spring for Gradle 的[相依性管理外掛程式](https://github.com/spring-gradle-plugins/dependency-management-plugin)來匯入 SDK 的 Maven BOM。

1. 將相依性管理外掛程式新增至應用程式的 `build.gradle` 檔案。

   ```
   buildscript {
       repositories {
           mavenCentral()
       }
       dependencies {
           classpath "io.spring.gradle:dependency-management-plugin:1.0.9.RELEASE"
       }
   }
   
   apply plugin: "io.spring.dependency-management"
   ```

1. 新增 BOM 到檔案的 *dependencyManagement* 區段。

   ```
   dependencyManagement {
       imports {
           mavenBom 'com.amazonaws:aws-java-sdk-bom:1.12.529'
       }
   }
   ```

1. 指定您將在*相依性*區段中使用的 SDK 模組。例如，以下內容包含 Amazon S3的相依性。

   ```
   dependencies {
       compile 'com.amazonaws:aws-java-sdk-s3'
   }
   ```

Gradle 會使用 BOM 的資訊，自動解析您開發套件相依性的正確版本。

以下是包含其相依性的完整`build.gradle`檔案範例 Amazon S3。

```
group 'aws.test'
version '1.0'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
  mavenCentral()
}

buildscript {
  repositories {
    mavenCentral()
  }
  dependencies {
    classpath "io.spring.gradle:dependency-management-plugin:1.0.9.RELEASE"
  }
}

apply plugin: "io.spring.dependency-management"

dependencyManagement {
  imports {
    mavenBom 'com.amazonaws:aws-java-sdk-bom:1.12.529'
  }
}

dependencies {
  compile 'com.amazonaws:aws-java-sdk-s3'
  testCompile group: 'junit', name: 'junit', version: '4.11'
}
```

**注意**  
在上述範例中，將 的相依性取代 Amazon S3 為您將在專案中使用的 AWS 服務相依性。由 適用於 Java 的 AWS SDK BOM 管理的模組 （相依性） 會列在 [Maven 中央儲存庫](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom/latest)上。

如需使用 BOM 指定 SDK 相依性的詳細資訊，請參閱[搭配 Apache Maven 使用 SDK](setup-project-maven.md)。

# 設定 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 區域 名稱。