截至 2024 年 7 月 31 日, AWS SDK for Java 1.x 已進入維護模式,並將end-of-support
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設置AWS臨時憑據並AWS 區域進行開發
若要使用連線到任何支援的服務AWS SDK for Java,您必須提供AWS暫時認證。AWSSDK 和 CLI 使用提供者鏈結在許多不同的地方尋找AWS暫時登入資料,包括系統/使用者環境變數以及本機AWS組態檔案。
本主題提供有關使用設定AWS暫時認證以進行本機應用程式開發的基本資訊AWS SDK for Java。如果您需要設定憑證以在 EC2 執行個體中使用,或者您使用 Eclipse IDE 進行開發,請參閱下列主題:
-
使用 EC2 執行個體時,請建立 IAM 角色,然後將該角色授予 EC2 執行個體存取權,如在上使用 IAM 角色授予AWS資源存取權中所示Amazon EC2。
-
在 Eclipse 中使用設定AWS認證AWS Toolkit for Eclipse
。如需詳細資訊,請參閱AWS Toolkit for Eclipse使用者指南中的設定AWS身分證明。
設定暫時性憑入
您可以透過數種方AWS SDK for Java式設定臨時認證,但建議的方法如下:
-
在您本機系統的AWS認證設定檔檔案中設定臨時身份證明,位於:
-
~/.aws/credentials
在 Linux、macOS 或 Unix -
Windows 上的
C:\Users\USERNAME\.aws\credentials
如需如何取得暫時登入資料的指示,請參閱本指南設定 的臨時憑證 SDK中的內容。
-
-
設定
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使用者指南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 區域名稱。