設置AWS臨時憑據並AWS 區域進行開發 - AWS SDK for Java 1.x

截至 2024 年 7 月 31 日, AWS SDK for Java 1.x 已進入維護模式,並將end-of-support在 2025 年 12 月 31 日送達。我們建議您遷移至 AWS SDK for Java 2.x,以繼續接收新功能、可用性改進和安全性更新。

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

設置AWS臨時憑據並AWS 區域進行開發

若要使用連線到任何支援的服務AWS SDK for Java,您必須提供AWS暫時認證。AWSSDK 和 CLI 使用提供者鏈結在許多不同的地方尋找AWS暫時登入資料,包括系統/使用者環境變數以及本機AWS組態檔案。

本主題提供有關使用設定AWS暫時認證以進行本機應用程式開發的基本資訊AWS SDK for Java。如果您需要設定憑證以在 EC2 執行個體中使用,或者您使用 Eclipse IDE 進行開發,請參閱下列主題:

設定暫時性憑入

您可以透過數種方AWS SDK for Java式設定臨時認證,但建議的方法如下:

  • 在您本機系統的AWS認證設定檔檔案中設定臨時身份證明,位於:

    • ~/.aws/credentials在 Linux、macOS 或 Unix

    • Windows 上的 C:\Users\USERNAME\.aws\credentials

    如需如何取得暫時登入資料的指示,請參閱本指南設定 的臨時憑證 SDK中的內容。

  • 設定AWS_ACCESS_KEY_IDAWS_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使用者指南Amazon EC2中的 IAM 角色

使用其中一種方法設定AWS暫時認證後,會使用預設認證提供者鏈結自動載入它們。AWS SDK for Java如需有關在 Java 應用程式中使用AWS認證的詳細資訊,請參閱使用AWS認證

重新整理 IMDS 登入資料

無論登入資料過期時間為何,AWS SDK for Java 支援每 1 分鐘在背景中重新整理 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 區域

您應該設定一個預設值AWS 區域,該預設值將用於存取AWS服務AWS SDK for Java。為了獲得最佳的網路效能,請選擇地理位置上靠近您 (或您的客戶) 的區域。如需每個服務的區域清單,請參閱Amazon Web Services一般參考中的區域和端點

注意

如果您有選擇一個區域,那麼 us-east-1 將默認使用。

您可以使用類似的方法來設定認證來設定預設AWS區域:

  • AWS 區域在本地系統上的AWS配置文件中設置,位於:

    • Linux、macOS 或 Unix

    • C:\Users\USERNAME\ .aws\ 在視窗上配置

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

    +

    [default] region = your_aws_region

    +

    將您想要的AWS 區域(例如,「美國東部 -1」)替換為您的 _aws_區域

  • 設定 AWS_REGION 環境變數。

    若為 Linux、macOS 或 Unix,使用 Linux、macOS 或 Unix

    export AWS_REGION=your_aws_region

    在 Windows 上,使用

    set AWS_REGION=your_aws_region

    您的 _aws_區域是所需的AWS 區域名稱。