選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

中的組態和登入資料檔案設定 AWS CLI

焦點模式
中的組態和登入資料檔案設定 AWS CLI - AWS Command Line Interface

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

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

您可以將常用的組態設定和憑證儲存在 AWS CLI維護的檔案中。

這些文件被分為 profiles。根據預設, AWS CLI 會使用在名為 的設定檔中找到的設定default。若要使用替代設定,您可以建立和參考額外的描述檔。

您可以設定其中一個支援的環境變數,或使用命令列參數,以覆寫個別設定。如需組態設定優先順序的詳細資訊,請參閱 設定 的設定 AWS CLI

注意

如需設定憑證的相關資訊,請參閱 的身分驗證和存取憑證 AWS CLI

組態和憑證檔案的格式

configcredentials 檔案會組織成區段。區段包括設定檔SSO 工作階段服務。區段是具名的設定集合,且會持續到發生其他區段定義列為止。許多設定檔和區段可以儲存於 configcredentials 檔案。

這些檔案是使用下列格式的純文字檔案:

  • 區段名稱會以方括號 [] 括起來,例如 [default][profile user1][sso-session]

  • 區段中的所有項目均採用 setting_name=value 的一般形式。

  • 您可以在列的開頭使用雜湊字元 (#),為列加上註解。

config 和 credentials 檔案包含下列區段類型:

區段類型:profile

根據檔案,設定檔區段名稱會使用下列格式:

  • 組態檔案: [default] [profile user1]

  • 憑證檔案: [default] [user1]

    credentials 檔案中建立項目時,請使用 profile 一字。

每個描述檔可以指定不同的憑證,也可以指定不同的 AWS 區域和輸出格式。為 config 檔案中的設定檔命名時,請包含前綴詞「profile」,但不要將其包含在 credentials 檔案中。

下列範例顯示 credentialsconfig 檔案,兩者皆具有兩個設定檔、區域和指定輸出。當您執行不含指定設定檔的 AWS CLI 命令時會使用第一個 [預設]。當您使用 --profile user1 參數執行 AWS CLI 命令時,會使用第二個。

IAM Identity Center (SSO)

此範例適用於 AWS IAM Identity Center。如需詳細資訊,請參閱使用 設定 IAM Identity Center 身分驗證 AWS CLI

憑證檔案

此驗證方法不會使用 credentials 檔案。

組態檔案

[default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_session = my-sso sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json [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
IAM Identity Center (Legacy SSO)

此範例適用於 的舊版方法 AWS IAM Identity Center。如需詳細資訊,請參閱使用 設定 IAM Identity Center 身分驗證 AWS CLI

憑證檔案

此驗證方法不會使用 credentials 檔案。

組態檔案

[default] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json
Short-term credentials

此範例適用於來自 AWS Identity and Access Management的短期憑證。如需詳細資訊,請參閱使用 的短期登入資料進行驗證 AWS CLI

憑證檔案

[default] aws_access_key_id=ASIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE [user1] aws_access_key_id=ASIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY aws_session_token = fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

組態檔案

[default] region=us-west-2 output=json [profile user1] region=us-east-1 output=text
IAM role

此範例適用於 IAM 角色之擔任。使用 IAM 角色的設定檔會從其他設定檔提取憑證,接著套用 IAM 角色許可。在下列範例中,default 是憑證的來源設定檔,且 user1 借用相同憑證來擔任新角色。如需詳細資訊,請參閱在 中使用 IAM 角色 AWS CLI

憑證檔案

credentials 檔案取決於您的來源設定檔使用哪種身分驗證。在下列範例中,來源設定檔是使用短期憑證。

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

組態檔案

[default] region=us-west-2 output=json [profile user1] role_arn=arn:aws:iam::777788889999:role/user1role source_profile=default role_session_name=session_user1 region=us-east-1 output=text
Amazon EC2 instance metadata credentials

此範例適用從託管 Amazon EC2 執行個體中繼資料取得的憑證。如需詳細資訊,請參閱在 中使用 Amazon EC2 執行個體中繼資料做為登入資料 AWS CLI

憑證檔案

此驗證方法不會使用 credentials 檔案。

組態檔案

[default] role_arn=arn:aws:iam::123456789012:role/defaultrole credential_source=Ec2InstanceMetadata region=us-west-2 output=json [profile user1] role_arn=arn:aws:iam::777788889999:role/user1role credential_source=Ec2InstanceMetadata region=us-east-1 output=text
Long-term credentials
警告

為避免安全風險,在開發專用軟體或使用真實資料時,請勿使用 IAM 使用者進行身分驗證。相反地,搭配使用聯合功能和身分提供者,例如 AWS IAM Identity Center

此範例適用於來自 AWS Identity and Access Management的長期憑證。如需詳細資訊,請參閱使用 的 IAM 使用者登入資料進行驗證 AWS CLI

憑證檔案

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY [user1] aws_access_key_id=AKIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY

組態檔案

[default] region=us-west-2 output=json [profile user1] region=us-east-1 output=text

此範例適用於 AWS IAM Identity Center。如需詳細資訊,請參閱使用 設定 IAM Identity Center 身分驗證 AWS CLI

憑證檔案

此驗證方法不會使用 credentials 檔案。

組態檔案

[default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_session = my-sso sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json [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

如需詳細資訊以及其他驗證和憑證方式,請參閱 使用 的 IAM 使用者登入資料進行驗證 AWS CLI

區段類型:sso-session

config 檔案的 sso-session區段會用來將用於取得 SSO 存取字符的組態變數分組,然後可用來取得 AWS 登入資料。使用下列的設定:

定義 sso-session 區段並將其與設定檔相關聯。sso_regionsso_start_url 必須在 sso-session 區段內設定。一般而言,sso_account_idsso_role_name 必須在 profile 區段中設定,以讓開發套件請求 SSO 憑證。

下列範例會將開發套件設定為請求 SSO憑認證,並支援自動字符重新整理:

[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-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 字符組態並非所有情況都需要 sso_account_idsso_role_name。如果您的應用程式只使用支援承載身分驗證的 AWS 服務,則不需要傳統的 AWS 憑證。承載身分驗證是一種 HTTP 身分驗證結構描述,使用稱為承載字符的安全字符。在這種情況下,sso_account_idsso_role_name 並非必要資訊。請參閱您 AWS 服務的個別指南,以判斷其是否支援承載字符授權。

此外,註冊範圍也可以設定為 sso-session 的一部分。範圍是 OAuth 2.0 中的一種機制,用於限制應用程式對使用者帳戶的存取。應用程式可以請求一個或多個範圍,則合法給應用程式的存取字符將僅限於授予的範圍。這些範圍定義為已註冊 OIDC 用戶端和用戶端擷取的存取字符進行授權所需請求的許可。下列範例設定 sso_registration_scopes 以提供列出帳戶/角色的存取權限:

[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 目錄下的磁碟。

如需有關組態類型的詳細資訊,請參閱 使用 設定 IAM Identity Center 身分驗證 AWS CLI

區段類型:services

services 區段是一組設定,可設定 AWS 服務 請求的自訂端點。然後,設定檔會連結至 services 區段。

[profile dev] services = my-services

services 區段由 <SERVICE> = 列分隔成子區段,其中 <SERVICE> 是 AWS 服務 識別碼金鑰。 AWS 服務 識別符是以 API 模型的 為基礎serviceId,方法是將所有空格取代為底線,並縮小所有字母大小。如需要在 services 區段中使用的所有服務識別碼金鑰的清單,請參閱 在 中使用端點 AWS CLI。服務識別碼金鑰後面接續巢狀化設定,每個設定獨佔一列並縮排兩個空格。

以下範例將端點設定為用於向 dev 設定檔中使用的 my-services 區段中的 Amazon DynamoDB 服務發出的請求。任何緊接著縮排的列都包含在該子區段中,並適用於該服務。

[profile dev] services = my-services [services my-services] dynamodb = endpoint_url = http://localhost:8000

如需服務特定端點詳細資訊,請參閱 在 中使用端點 AWS CLI

如果您的設定檔具有透過 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

組態設定存放在何處?

會將您透過 指定的敏感登入資料資訊 AWS CLI ,存放在您主目錄中名為 .aws的資料夾中credentials,名為 的aws configure本機檔案中。您使用 aws configure 指定的較不敏感組態選項,則存放在名為 config 的本機檔案中,而此檔案也是存放在主目錄中的 .aws 資料夾。

將憑證存放到組態檔中

您可以將所有設定檔設定保留在單一檔案中,因為 AWS CLI 可以從config檔案讀取登入資料。如果兩個檔案中都有共用相同名稱之設定檔的憑證,則憑證檔案中的金鑰具有高優先順序。建議您在 credentials 檔案中保留憑證。各種語言軟體開發套件 (SDK) 也使用這些檔案。如果您除了 之外還使用其中一個SDKs AWS CLI,請確認憑證是否應存放在自己的 檔案中。

主目錄的位置根據作業系統而不同,但在 Windows 中是使用環境變數 %UserProfile% 來參考,而在 Unix 系統中是使用 $HOME~ (波狀符號) 來參考。您可以將 AWS_CONFIG_FILEAWS_SHARED_CREDENTIALS_FILE 環境變數設為其他本機路徑,以指定檔案的非預設位置。如需詳細資訊,請參閱 設定 的環境變數 AWS CLI

當您使用指定 AWS Identity and Access Management (IAM) 角色的共用設定檔時, 會 AWS CLI 呼叫 AWS STS AssumeRole操作來擷取臨時登入資料。然後會存放這些憑證 (在 ~/.aws/cli/cache 中)。後續 AWS CLI 命令會使用快取的暫時登入資料,直到過期為止,此時 AWS CLI 會自動重新整理登入資料。

使用命名設定檔

若未明確定義任何設定檔,系統會使用 default 設定檔。

若要使用命名設定檔,請新增 --profile profile-name 選項到命令中。下列範例列出使用 user1 設定檔中定義的憑證和設定的所有 Amazon EC2 執行個體。

$ aws ec2 describe-instances --profile user1

如果您要將一個具名設定檔用於多個命令,請將 AWS_PROFILE 環境變數設定為預設設定檔,即可避免在每個命令中指定設定檔。您可以使用 --profile 參數來覆寫此設定。

Linux or macOS
$ export AWS_PROFILE=user1
Windows
C:\> setx AWS_PROFILE user1

使用 set 設定環境變數會變更使用的數值,直到目前命令提示工作階段結束或直到您將該變數設為其他數值。

使用 setx 來設定環境變數時,將會變更您在執行命令後建立的所有命令 Shell 中的數值。不會影響您執行命令當時已執行的任何命令 Shell。關閉並重新啟動命令 Shell,以查看變更的效果。

設定環境變數會變更預設的設定檔,直到 Shell 工作階段結束或直到您將該變數設為其他數值。您可以將環境變數放入 Shell 的啟動指令碼中,讓它們跨未來的工作階段持續生效。如需詳細資訊,請參閱設定 的環境變數 AWS CLI

$ export AWS_PROFILE=user1

使用命令設定和檢視組態設定

有數種方法可以使用命令,來檢視和設定您的組態設定。

aws configure

執行此命令以快速設定和檢視您的 憑證、區域和輸出格式。下列範例顯示範本值。

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json
aws configure set

您可以使用 aws configure set 來設定任何憑證或組態設定。使用 --profile 設定來指定您想要檢視或修改的設定檔。

例如,以下命令會在名為 integ 的設定檔中進行 region 設定。

$ aws configure set region us-west-2 --profile integ

若要移除設定,請在文字編輯器中手動刪除 configcredentials 檔案中的設定。

aws configure get

您可以擷取已使用 aws configure get 設定的任何憑證或組態設定。使用 --profile 設定來指定您想要檢視或修改的設定檔。

例如,以下命令會在名為 region 的設定檔中擷取 integ 設定。

$ aws configure get region --profile integ us-west-2

如果輸出是空的,則設定未明確設定,將會使用預設值。

aws configure import

匯入從 IAM Web 主控台產生的 CSV 憑證。這不適用於從 IAM Identity Center 產生的憑證;使用 IAM Identity Center 的客戶應使用 aws 來設定 sso。CSV 檔案將會匯入,且設定檔名稱與使用者名稱相符。CSV 檔案必須包含以下標頭。

  • 使用者名稱

  • 存取金鑰 ID

  • 私密存取金鑰

注意

在初始金鑰對建立過程中,一旦關閉 Download .csv file (下載 .csv 檔案) 對話方塊中,您將無法在關閉對話方塊之後存取私密金鑰。如果您需要 .csv 檔案,您必須自己建立一個包含所需標頭和您所儲存金鑰對資訊的檔案。如果您無法存取您的金鑰對資訊,則必須建立新的金鑰對。

$ aws configure import --csv file://credentials.csv
aws configure list

若要列出組態資料,請使用 aws configure list 命令。此命令會列出設定檔、存取金鑰、私密金鑰,以及用於所指定設定檔的區域組態資訊。對於每個組態項目,它會顯示值、擷取組態值的位置,以及組態變數名稱。

例如,如果您在 環境變數 AWS 區域 中提供 ,此命令會顯示您已設定的區域名稱、此值來自 環境變數,以及 環境變數的名稱。

若採用臨時憑證方法 (例如,角色和 IAM Identity Center),此命令會顯示臨時快取的存取金鑰,並顯示私密存取金鑰。

$ aws configure list Name Value Type Location ---- ----- ---- -------- profile <not set> None None access_key ****************ABCD shared-credentials-file secret_key ****************ABCD shared-credentials-file region us-west-2 env AWS_DEFAULT_REGION
aws configure list-profiles

若要列出所有設定檔名稱,請使用 aws configure list-profiles 命令。

$ aws configure list-profiles default test
aws configure sso

執行此命令以快速設定和檢視您的 AWS IAM Identity Center 登入資料、區域和輸出格式。下列範例顯示範本值。

$ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]: us-east-1 SSO registration scopes [None]: sso:account:access
aws configure sso-session

執行此命令,在 和 config 檔案的 sso-session 區段中快速設定和檢視您的 AWS IAM Identity Center 登入資料、區域credentials和輸出格式。下列範例顯示範本值。

$ aws configure sso-session SSO session name: my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]: us-east-1 SSO registration scopes [None]: sso:account:access

設定新的組態和憑證命令範例

您可以從下列範例了解如何針對不同驗證方法,用憑證、區域和指定輸出來設定預設設定檔。

IAM Identity Center (SSO)

此範例適用於 AWS IAM Identity Center 使用aws configure sso精靈。如需詳細資訊,請參閱使用 設定 IAM Identity Center 身分驗證 AWS CLI

$ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 Attempting to automatically open the SSO authorization page in your default browser. There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
IAM Identity Center (Legacy SSO)

此範例適用於 AWS IAM Identity Center 使用aws configure sso精靈的舊版方法。若要使用舊版 SSO,請將工作階段名稱留白。如需詳細資訊,請參閱使用 設定 IAM Identity Center 身分驗證 AWS CLI

$ aws configure sso SSO session name (Recommended): SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request. There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
Short-term credentials

此範例適用於來自 AWS Identity and Access Management的短期憑證。aws 配置精靈是用於設定初始值,而 aws configure set 命令會指派所需的最後值。如需詳細資訊,請參閱使用 的短期登入資料進行驗證 AWS CLI

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json $ aws configure set aws_session_token fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
IAM role

此範例適用於 IAM 角色之擔任。使用 IAM 角色的設定檔會從其他設定檔提取憑證,接著套用 IAM 角色許可。在下列範例中,default 是憑證的來源設定檔,且 user1 借用相同憑證來擔任新角色。此程序中沒有精靈,因此每個值皆使用 aws configure set 命令設定。如需詳細資訊,請參閱在 中使用 IAM 角色 AWS CLI

$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole $ aws configure set source_profile default $ aws configure set role_session_name session_user1 $ aws configure set region us-west-2 $ aws configure set output json
Amazon EC2 instance metadata credentials

此範例適用從託管 Amazon EC2 執行個體中繼資料取得的憑證。此程序中沒有精靈,因此每個值皆使用 aws configure set 命令設定。如需詳細資訊,請參閱在 中使用 Amazon EC2 執行個體中繼資料做為登入資料 AWS CLI

$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole $ aws configure set credential_source Ec2InstanceMetadata $ aws configure set region us-west-2 $ aws configure set output json
Long-term credentials
警告

為避免安全風險,在開發專用軟體或使用真實資料時,請勿使用 IAM 使用者進行身分驗證。相反地,搭配使用聯合功能和身分提供者,例如 AWS IAM Identity Center

此範例適用於來自 AWS Identity and Access Management的長期憑證。如需詳細資訊,請參閱使用 的 IAM 使用者登入資料進行驗證 AWS CLI

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

此範例適用於 AWS IAM Identity Center 使用aws configure sso精靈。如需詳細資訊,請參閱使用 設定 IAM Identity Center 身分驗證 AWS CLI

$ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 Attempting to automatically open the SSO authorization page in your default browser. There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1

支援的 config 檔案設定

config 檔案中支援下列設定。將會使用指定的 (或預設) 描述檔中列出的數值,除非因為有相同名稱的環境變數或相同名稱的命令列選項而被覆寫。如需有關哪些順序設定具有高優先順序的詳細資訊,請參閱 設定 的設定 AWS CLI

全域設定

aws_access_key_id

指定做為登入資料一部分的 AWS 存取金鑰,以驗證命令請求。雖然這可以存放在 config 檔案中,但建議您存放在 credentials 檔案中。

可由 AWS_ACCESS_KEY_ID 環境變數所覆寫。您不能將存取金鑰 ID 指定為命令列選項。

aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key

指定做為登入資料一部分的 AWS 私密金鑰,以驗證命令請求。雖然這可以存放在 config 檔案中,但建議您存放在 credentials 檔案中。

可由 AWS_SECRET_ACCESS_KEY 環境變數所覆寫。您不能將私密存取金鑰指定為命令列選項。

aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token

指定 AWS 工作階段字符。只有當您手動指定臨時的安全憑證時,才需要工作階段字符。雖然這可以存放在 config 檔案中,但建議您存放在 credentials 檔案中。

可由 AWS_SESSION_TOKEN 環境變數所覆寫。您不能將工作階段字符指定為命令列選項。

aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
ca_bundle

指定用於驗證 SSL 憑證的憑證授權機構憑證套件 (副檔名為 .pem 的檔案)。

可由 AWS_CA_BUNDLE 環境變數或 --ca-bundle 命令列選項所覆寫。

ca_bundle = dev/apps/ca-certs/cabundle-2019mar05.pem
cli_auto_prompt

啟用 第 2 AWS CLI 版的自動提示。有兩種設定可以使用:

  • 在您每次嘗試執行 aws 命令時,on 都會使用完整的自動提示模式。這包括在完整的命令或不完整的命令之後按下 ENTER

    cli_auto_prompt = on
  • on-partial 使用部分自動提示模式。如果命令不完整或因用戶端驗證錯誤而無法執行,則會使用自動提示。如果您有預先存在的指令碼、Runbook,或是您只希望系統自動提示您不熟悉的命令 (而非針對每個命令發出提示),這個模式就特別有用。

    cli_auto_prompt = on-partial

您可以使用 aws_cli_auto_prompt 環境變數或 --cli-auto-prompt--no-cli-auto-prompt 命令列參數來覆寫此設定。

如需第 2 AWS CLI 版自動提示功能的資訊,請參閱 在 中啟用和使用命令提示 AWS CLI

cli_binary_format

指定 AWS CLI 版本 2 如何解譯二進位輸入參數。它可能是以下其中一個數值:

  • base64 – 這是預設值。以二進位大型物件 (BLOB) 輸入的輸入參數接受 base64 編碼的字串。若要傳遞實際的二進位內容,請將內容放置在檔案中,並在參數值中使用 fileb:// 前綴,以提供檔案路徑和名稱。若要傳遞包含在檔案中的 base64 編碼文字,請在參數值中使用 file:// 前綴,以提供檔案路徑和名稱。

  • raw-in-base64-out – 第 1 AWS CLI 版的預設 。如果設定的值為 raw-in-base64-out,則會將使用 file:// 字首參照的檔案讀取為文字,然後 AWS CLI 嘗試將其編碼為二進位。

此項目沒有同等環境變數。您可以使用 --cli-binary-format raw-in-base64-out 參數,在單一命令上指定數值。

cli_binary_format = raw-in-base64-out

如果您使用fileb://字首表示法參考檔案中的二進位值,則 AWS CLI 一律會預期檔案包含原始二進位內容,而不會嘗試轉換該值。

如果您使用file://字首標記法參考檔案中的二進位值, 會根據目前的cli_binary_format設定 AWS CLI 處理檔案。如果該設定的值為 base64(未明確設定時為預設值),則 AWS CLI 預期檔案包含 base64 編碼的文字。如果該設定的值為 raw-in-base64-out,則 AWS CLI 預期檔案包含原始二進位內容。

cli_history

預設為停用。此設定會啟用 AWS CLI命令歷史記錄。啟用此設定後, 會 AWS CLI 記錄aws命令的歷史記錄。

cli_history = enabled

您可以使用 aws history list 命令來列出歷史記錄,並且在 aws history show 命令中使用產生的 command_ids 取得詳細資訊。如需詳細資訊,請參閱 AWS CLI 參考指南中的 aws history

cli_pager

指定用於輸出的分頁程式。根據預設,第 2 AWS CLI 版會透過作業系統的預設分頁程式傳回所有輸出。

可以由 AWS_PAGER 環境變數所覆寫。

cli_pager=less
cli_timestamp_format

指定輸出包含的時間戳記值格式。您可以指定下列任一數值:

  • iso8601 – 第 2 AWS CLI 版的預設值。如果指定, 會根據 ISO 8601 AWS CLI 重新格式化所有時間戳記。

    ISO 8601 格式化的時間戳記如下所示。第一個範例會以國際標準時間 (UTC) 顯示時間,方法是在時間之後併入 Z。日期和時間使用 T 分隔。

    2019-10-31T22:21:41Z

    若要指定不同的時區,不要指定 Z,而是指定 +- 與距離所需 UTC 之前或之後的小時數 (兩位數形式)。下列範例顯示與前一個範例相同的時間,但調整為太平洋標準時間,它是 UTC 後八小時。

    2019-10-31T14:21:41-08
  • wire – AWS CLI 第 1 版的預設值。如果指定,則 AWS CLI 會顯示與 HTTP 查詢回應中所接收完全相同的所有時間戳記值。

此項目沒有同等環境變數或命令列選項。

cli_timestamp_format = iso8601
credential_process

指定 AWS CLI 執行的外部命令,以產生或擷取要用於此命令的身分驗證憑證。命令必須以特定格式傳回憑證。如需有關如何使用此設定的詳細資訊,請參閱 在 中使用外部程序來取得登入資料 AWS CLI

此項目沒有同等環境變數或命令列選項。

credential_process = /opt/bin/awscreds-retriever --username susan
credential_source

在 Amazon EC2 執行個體或容器中使用,以指定 AWS CLI 可以找到用於擔任您使用 role_arn 參數所指定角色的憑證。您無法在同一個描述檔中同時指定 source_profilecredential_source

此參數可以有下列三個數值中的一個:

  • 環境 – 指定 AWS CLI 是從環境變數擷取來源憑證。

  • Ec2InstanceMetadata – 指定 AWS CLI 是使用連接到 EC2 執行個體描述檔的 IAM 角色來取得來源憑證。

  • EcsContainer – 指定 AWS CLI 使用連接到 ECS 容器的 IAM 角色做為來源憑證。

credential_source = Ec2InstanceMetadata
duration_seconds

指定角色工作階段的最大持續時間 (以秒為單位)。此數值的範圍可以從 900 秒 (15 分鐘) 到角色的最大工作階段持續時間設定的數值 (其最大值為 43200)。這是選用參數,並且依預設,此數值會設為 3600 秒。

endpoint_url

指定用於所有服務要求的端點。如果在 config 檔案的 services 區段中使用此設定,則端點僅用於指定的服務。如需詳細資訊,請參閱設定所有 的全域端點 AWS 服務

以下範例使用 Amazon S3 的全域端點 http://localhost:1234 和服務特定端點 http://localhost:4567

[profile dev] endpoint_url = http://localhost:1234 services = s3-specific [services s3-specific] s3 = endpoint_url = http://localhost:4567
端點優先順序

端點組態設定位於多個位置,例如系統或使用者環境變數、本機 AWS 組態檔案,或在命令列上明確宣告為參數。會依特定順序 AWS CLI 檢查這些端點設定,並使用優先順序最高的端點設定。如需端點優先順序清單,請參閱 端點組態和設定優先順序

ignore_configure_endpoint_urls

如果啟用, 會 AWS CLI 忽略 config 檔案中指定的所有自訂端點組態。有效值為 truefalse

ignore_configure_endpoint_urls = true
端點優先順序

端點組態設定位於多個位置,例如系統或使用者環境變數、本機 AWS 組態檔案,或在命令列上明確宣告為參數。會依特定順序 AWS CLI 檢查這些端點設定,並使用優先順序最高的端點設定。如需端點優先順序清單,請參閱 端點組態和設定優先順序

external_id

指定一個唯一識別符,第三方用來在其客戶帳戶擔任角色。這映射到 ExternalId 操作的 AssumeRole 參數。只有在角色的信任政策指定 ExternalId 的數值時,才需要此參數。如需詳細資訊,請參閱《IAM 使用者指南》中的如何在將 AWS 資源的存取權授予第三方時使用外部 ID

max_attempts

指定重試 AWS CLI 處理常式使用的最大重試次數值,其中初始呼叫會計入您提供的max_attempts值。

您可以使用 AWS_MAX_ATTEMPTS 環境變數來覆寫此數值。

max_attempts = 3
mfa_serial

擔任角色時使用的 MFA 裝置識別碼。只有在所擔任角色的信任政策包含要求 MFA 身分驗證的條件時才具強制性。此數值可以是硬體裝置的序號 (例如 GAHT12345678) 或虛擬 MFA 裝置的 Amazon Resource Name (ARN) (例如 arn:aws:iam::123456789012:mfa/user)。

output

對於請求使用此描述檔的命令,指定預設輸出格式。您可以指定下列任何數值:

  • json – 輸出的格式為 JSON 字串。

  • yaml – 輸出的格式為 YAML 字串。

  • yaml-stream – 輸出採用串流方式且格式為 YAML 字串。串流可加速處理大型資料類型。

  • text – 輸出的格式是多行以 Tab 分隔的字串值。這對於將輸出傳遞給文字處理器 (如 grepsedawk) 非常有用。

  • table – 輸出的格式為使用字元 +|- 形成儲存格框線的表格。它通常以「方便人類使用」的格式來呈現資訊,這種格式比其他格式更容易閱讀,但在編寫程式方面較不有用。

可由 AWS_DEFAULT_OUTPUT 環境變數或 --output 命令列選項所覆寫。

output = table
parameter_validation

指定 AWS CLI 用戶端是否在將參數傳送至 AWS 服務端點之前嘗試驗證參數。

  • true – 這是預設值。如果指定, 會 AWS CLI 執行命令列參數的本機驗證。

  • false – 如果指定, AWS CLI 不會在將命令列參數傳送到 AWS 服務端點之前驗證命令列參數。

此項目沒有同等環境變數或命令列選項。

parameter_validation = false
region

指定 AWS 區域 要針對使用此設定檔請求的命令傳送請求的 。

  • 您可以指定可用於所選服務的任何區域程式碼,如 Amazon Web Services 一般參考 中的 AWS 區域與端點所列。

  • aws_global 可讓您為支援全域端點的服務指定全域端點,以及區域端點,例如 AWS Security Token Service (AWS STS) 和 Amazon Simple Storage Service (Amazon S3)。

您可以使用 AWS_REGION 環境變數、 AWS_DEFAULT_REGION 環境變數或 --region 命令列選項來覆寫此數值。

region = us-west-2
request_checksum_calculation

指定何時計算請求承載的檢查總和,並具有下列選項:

  • when_supported(預設) 當 操作在其服務模型中指定檢查總和演算法或需要請求檢查總和時,會計算請求承載檢查總和。

  • when_required – 請求承載檢查總和是在 操作需要請求檢查總和時,或當使用者提供由 requestAlgorithmMember 建模的 時計算 AWS 服務。

request_checksum_calculation = when_supported

環境變數 AWS_REQUEST_CHECKSUM_CALCULATION 會覆寫此設定。

response_checksum_validation

指定對回應承載執行檢查總和驗證的時間,並具有下列選項:

  • when_supported(預設) 當 操作在其 AWS CLI 支援的服務模型中指定回應演算法時,會執行回應承載檢查總和驗證。

  • when_required – 當 操作在其 AWS CLI 支援的服務模型中指定回應演算法,而且您在操作輸入ENABLED中將模型設定為 requestValidationModeMember 時,就會執行回應承載檢查總和驗證。

response_checksum_validation = when_supported

環境變數 AWS_RESPONSE_CHECKSUM_VALIDATION 會覆寫此設定。

retry_mode

指定使用哪種重試模式 AWS CLI 。有三種可用的重試模式:傳統 (預設)、標準和自適應。如需有關重試的詳細資訊,請參閱 AWS CLI 中的重試 AWS CLI

您可以使用 AWS_RETRY_MODE 環境變數來覆寫此數值。

retry_mode = standard
role_arn

指定您要用來執行 AWS CLI 命令之 IAM 角色的 Amazon Resource Name (ARN)。您還必須指定下列其中一個參數,以識別具有許可能擔任此角色的憑證:

  • source_profile

  • credential_source

role_arn = arn:aws:iam::123456789012:role/role-name

環境變數 AWS_ROLE_ARN 會覆寫此設定。

如需使用 Web 身分的詳細資訊,請參閱 擔任具有 Web 身分的角色

role_session_name

指定要連接到角色工作階段的名稱。此數值會在 RoleSessionName 呼叫 AWS CLI 操作時提供給 AssumeRole 參數,並成為所擔任角色使用者 ARN 的一部分: arn:aws:sts::123456789012:assumed-role/role_name/role_session_name。這是選擇性的參數。若您未提供此數值,將會自動產生工作階段名稱。此名稱會出現在與此工作階段相關聯之項目的 AWS CloudTrail 日誌中。

role_session_name = maria_garcia_role

環境變數 AWS_ROLE_SESSION_NAME 會覆寫此設定。

如需使用 Web 身分的詳細資訊,請參閱 擔任具有 Web 身分的角色

services

指定要用於設定檔的服務組態。

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

如需 services 區段的詳細資訊,請參閱 區段類型:services

環境變數 AWS_ROLE_SESSION_NAME 會覆寫此設定。

如需使用 Web 身分的詳細資訊,請參閱 擔任具有 Web 身分的角色

sdk_ua_app_id

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

應用程式 ID 是長度上限為 50 個字元的字串。允許使用字母、數字和下列特殊字元:! $ % & * + - . , ^ _ ` | ~根據預設,不會指派任何值。

sdk_ua_app_id = prod1

此設定可透過使用 AWS_SDK_UA_APP_ID 環境變數來覆寫。您無法將此數值設為命令列參數。

sigv4a_signing_region_set

指定使用逗號分隔清單與 SigV4a 簽署時要使用的區域。如果未設定此變數, AWS CLI 會使用 所使用的預設值 AWS 服務。如果 AWS 服務 沒有預設值,則請求簽章在所有使用 值的區域中都有效*

sigv4a_signing_region_set = us-west-2, us-east-1

如需 SigV4a 的詳細資訊,請參閱《IAM 使用者指南》中的 AWS API 請求的 Signature 第 4

此設定可透過使用 AWS_SIGV4A_SIGNING_REGION_SET 環境變數來覆寫。您無法將此數值設為命令列參數。

source_profile

指定具有長期憑證、 AWS CLI 可用來擔任您使用 role_arn 參數所指定角色的具名描述檔。您無法在同一個描述檔中同時指定 source_profilecredential_source

source_profile = production-profile
sso_account_id

指定包含 IAM 角色 AWS 的帳戶 ID,其中包含您要授予相關聯 IAM Identity Center 使用者的許可。

此設定沒有環境變數或命令列選項。

sso_account_id = 123456789012
sso_region

指定 AWS 包含 AWS 存取入口網站主機的區域。這與預設的 CLI region 參數不同,且可以是與其不同的區域。

此設定沒有環境變數或命令列選項。

sso_region = us_west-2
sso_registration_scopes

要針對 sso-session 授權的逗號分隔清單範圍。範圍授權對 IAM Identity Center 承載字符授權端點的存取。有效範圍是一個字串,例如 sso:account:access。這個設定不適用於舊版不可重新整理的組態設定。

sso_registration_scopes = sso:account:access
sso_role_name

使用此設定檔時,指定定義使用者權限的 IAM 角色的易記名稱。

此設定沒有環境變數或命令列選項。

sso_role_name = ReadAccess
sso_start_url

指定指向組織 AWS 存取入口網站的 URL。 AWS CLI 使用此 URL 與 IAM Identity Center 服務建立工作階段,以驗證其使用者。若要尋找您的 AWS 存取入口網站 URL,請使用下列其中一項:

此設定沒有環境變數或命令列選項。

sso_start_url = https://my-sso-portal.awsapps.com/start
use_dualstack_endpoint

允許使用雙堆疊端點傳送 AWS 請求。若要進一步了解支援 IPv4 和 IPv6 流量的雙堆疊端點,請參閱《Amazon Simple Storage Service 使用者指南》中的使用 Amazon S3 雙堆疊端點。雙堆疊端點適用於部分區域的某些服務。如果服務或 不存在雙堆疊端點 AWS 區域,則請求會失敗。有效設定為 truefalse。此選項根據預設為停用。如需詳細資訊,請參閱設定為所有 AWS 服務使用雙堆疊端點

這與 use_accelerate_endpoint 設定互斥。

端點優先順序

端點組態設定位於多個位置,例如系統或使用者環境變數、本機 AWS 組態檔案,或在命令列上明確宣告為參數。會依特定順序 AWS CLI 檢查這些端點設定,並使用優先順序最高的端點設定。如需端點優先順序清單,請參閱 端點組態和設定優先順序

use_fips_endpoint

某些 AWS 服務提供端點,支援聯邦資訊處理標準 (FIPS) 140-2 AWS 區域。當 AWS 服務支援 FIPS 時,此設定會指定 AWS CLI 應使用的 FIPS 端點。與標準 AWS 端點不同,FIPS 端點使用符合 FIPS 140-2 的 TLS 軟體程式庫。會與美國政府互動的企業可能需要這些端點。如需詳細資訊,請參閱 設定為對所有 AWS 服務使用 FIP 端點

如果啟用此設定,但 服務不存在 FIPS 端點 AWS 區域,則 AWS 命令可能會失敗。在此情況下,請使用 --endpoint-url 選項或使用服務特定端點手動指定要在命令中使用的端點。

端點優先順序

端點組態設定位於多個位置,例如系統或使用者環境變數、本機 AWS 組態檔案,或在命令列上明確宣告為參數。會依特定順序 AWS CLI 檢查這些端點設定,並使用優先順序最高的端點設定。如需端點優先順序清單,請參閱 端點組態和設定優先順序

web_identity_token_file

指定檔案的路徑,其包含由身分提供者提供的 OAuth 2.0 存取字符或 OpenID Connect ID 字符。 AWS CLI 會載入此檔案的內容,並將其作為 WebIdentityToken 引數傳遞至 AssumeRoleWithWebIdentity 操作。

環境變數 AWS_WEB_IDENTITY_TOKEN_FILE 會覆寫此設定。

如需使用 Web 身分的詳細資訊,請參閱 擔任具有 Web 身分的角色

tcp_keepalive

指定 AWS CLI 用戶端是否使用 TCP 保持連線封包。

此項目沒有同等環境變數或命令列選項。

tcp_keepalive = false

S3 自訂命令設定

Amazon S3 支援數個設定,以設定 如何 AWS CLI 執行 Amazon S3 操作。有些適用於 s3apis3 命名空間中的所有 S3 命令。其他則專用於 S3「自訂」命令,這些命令摘錄常見的操作,而不僅止於一對一映射到 API 操作。aws s3 傳輸命令 cpsyncmvrm 有額外設定,供您用來控制 S3 傳輸。

您可以在 config 檔案中指定 s3 巢狀設定,以設定所有這些選項。每個設定都各自一行縮排。

注意

這些設定完全是選用。您無需設定任何這些設定,就應該能夠成功使用 aws s3 傳輸命令。提供這些設定可讓您基於效能而調整,或控制您執行這些 aws s3 命令的特定環境。

這些設定全部都在 config 檔案中的最上層 s3 索引鍵之下設定,如以下 development 描述檔的範例所示。

[profile development] s3 = max_concurrent_requests = 20 max_queue_size = 10000 multipart_threshold = 64MB multipart_chunksize = 16MB max_bandwidth = 50MB/s use_accelerate_endpoint = true addressing_style = path

以下設定適用於 s3s3api 命名空間中的任何 S3 命令。

addressing_style

指定要使用的定址樣式。這控制儲存貯體名稱是否位於主機名稱或為 URL 的一部分。有效值為:pathvirtualauto。預設值為 auto

建構 Amazon S3 端點有兩種樣式。第一種稱為 virtual,並且在主機名稱中包含儲存貯體名稱。例如:https://bucketname.s3.amazonaws.com。或者,如果使用 path 樣式,則儲存貯體名稱就如同 URI 中的路徑,例如 https://s3.amazonaws.com/bucketname。CLI 中的預設值是使用 auto,將會儘可能嘗試使用 virtual 樣式,但在需要時會回復為 path 樣式。例如,如果您的儲存貯體名稱與 DNS 不相容,則儲存貯體名稱不能作為主機名稱的一部分,而必須在路徑中。使用 auto 時,CLI 會偵測到這個情況,並自動切換到 path 樣式。如果您將定址樣式設定為 path,則必須確保您在 中 AWS CLI 設定的 AWS 區域符合儲存貯體的區域。

payload_signing_enabled

指定是否以 SHA256 簽署 sigv4 承載。在預設情況下,使用 HTTPS 來串流上傳時 (UploadPartPutObject) 會停用此參數。根據預設,在串流上傳時 (UploadPartPutObject),這會設定為 false,但僅限於 ContentMD5 存在 (依預設會產生) 且端點使用 HTTPS 的情況。

如果設定為 true,S3 請求會收到 SHA256 檢查總和形式的額外內容驗證,這是為您計算並且包含在請求簽章中。如果設定為 false,則不計算檢查總和。停用此參數有助於降低檢查總和計算所造成的效能負荷。

use_accelerate_endpoint

對所有 s3s3api 命令使用 Amazon S3 加速端點。預設值為 false。這與 use_dualstack_endpoint 設定互斥。

如果設定為 true, 會將所有 Amazon S3 請求 AWS CLI 導向至位於 的S3 Accelerate端點s3-accelerate.amazonaws.com。若要使用這個端點,您必須啟用儲存貯體來使用 S3 Accelerate。所有請求都是使用虛擬樣式的儲存貯體定址所傳送:my-bucket.s3-accelerate.amazonaws.com。不會將任何 ListBucketsCreateBucketDeleteBucket 請求傳送至 S3 加速端點,因為該端點不支援這些操作。如果將任何 s3s3api 命令的 --endpoint-url 參數設為 https://s3-accelerate.amazonaws.com.rproxy.goskope.comhttp://s3-accelerate.amazonaws.com,也可以設定此行為。

use_dualstack_endpoint

允許使用雙堆疊端點傳送 s3s3api請求。若要進一步了解支援 IPv4 和 IPv6 流量的雙堆疊端點,請參閱《Amazon Simple Storage Service 使用者指南》中的使用 Amazon S3 雙堆疊端點。雙堆疊端點適用於部分區域的某些服務。如果服務或 不存在雙堆疊端點 AWS 區域,則請求會失敗。有效設定為 truefalse。此選項根據預設為停用。如需詳細資訊,請參閱設定為所有 AWS 服務使用雙堆疊端點

這與 use_accelerate_endpoint 設定互斥。

以下設定只適用於 s3 命名空間命令集的命令。

max_bandwidth

指定往返於 Amazon S3 上傳和下載資料時可消耗的最大頻寬。預設值是無限制。

這會限制 S3 命令在往返於 Amazon S3 傳輸資料時可使用的最大頻寬。這個數值僅適用於上傳和下載,不適用於複製或刪除。數值以每秒位元組數為單位。數值可以指定為:

  • 整數。例如,1048576 將最大頻寬使用量設定為每秒 1 百萬位元組。

  • 整數加上速率尾碼。您可以使用 KB/sMB/sGB/s 指定速率尾碼,例如 300KB/s10MB/s

一般而言,我們建議您先降低 max_concurrent_requests,以嘗試降低頻寬耗用量。如果這還無法將限制頻寬耗用量調到所需的速率,您可以使用 max_bandwidth 設定來進一步限制頻寬耗用量。這是因為 max_concurrent_requests 控制目前執行多少個執行緒。如果您先降低 max_bandwidth 但保留較高的 max_concurrent_requests 設置,則可能導致執行緒必須等待不必要的等待。這可能會導致過多的資源消耗和連線逾時。

max_concurrent_requests

指定並行請求數量上限。預設值為 10。

aws s3 傳輸命令是多執行緒。隨時可以執行多個 Amazon S3 請求。例如,當您使用 命令aws s3 cp localdir s3://bucket/ --recursive將檔案上傳至 S3 儲存貯體時, AWS CLI 可以localdir/file3平行上傳檔案 localdir/file1localdir/file2和 。設定 max_concurrent_requests 會指定可同時執行的傳輸操作數量上限。

由於幾個原因,您可能需要變更這個數值:

  • 降低這個數值 – 在某些環境中,10 個並行請求的預設值可能拖垮系統。這可能導致連線逾時,或使系統的回應能力變慢。降低這個數值可讓 S3 傳輸命令耗用較少的資源。缺點是 S3 傳輸可能需要更久才會完成。如果您使用工具來限制頻寬,則可能需要降低這個數值。

  • 提高這個數值 – 在某些情況下,您可能希望 Amazon S3 傳輸依需要儘量使用網路頻寬,以儘快完成。在這種情況下,預設的並行請求數量可能還不足以使用所有可用的網路頻寬。提高此數值可以縮短完成 Amazon S3 傳輸所花的時間。

max_queue_size

指定任務佇列中的任務數量上限。預設值為 1000。

AWS CLI 內部使用模型,其會將佇列排入佇列,然後由編號受限於 的消費者執行的 Amazon S3 任務max_concurrent_requests。任務通常會映射到單一 Amazon S3 操作。例如,任務可能是 PutObjectTaskGetObjectTaskUploadPartTask。任務新增到佇列的速率可比消費者完成任務的速率快很多。為了避免無限制成長,任務佇列大小會受限於特定大小。這個設定會變更該數量的上限值。

您通常不需要變更此設定。此設定也對應於 AWS CLI 知道需要執行的任務數量。這表示根據預設, AWS CLI 只能看到 1000 個任務。增加此值表示 AWS CLI 可以更快地知道所需的任務總數,假設佇列率比任務完成率更快。缺點是較大的 max_queue_size 需要更多記憶體。

multipart_chunksize

指定 AWS CLI 用於分段傳輸個別檔案的區塊大小。預設值為 8 MB,下限為 5 MB。

當檔案傳輸超過 multipart_threshold 時, AWS CLI 會將檔案分割成此大小的區塊。指定這個數值所使用的語法與 multipart_threshold 相同,包括以整數指定位元組數量,或使用大小和尾碼。

multipart_threshold

指定 AWS CLI 用於分段傳輸個別檔案的大小閾值。預設值為 8 MB。

當上傳、下載或複製檔案時,如果檔案超過該大小,Amazon S3 命令會切換到分段操作。您有兩種方式可以指定此數值:

  • 以位元組為單位的檔案大小。例如:1048576

  • 附上大小尾碼的檔案大小。您可以使用 KBMBGBTB,例如 10MB1GB

    注意

    對於可用於分段操作的有效值,S3 可以施加限制。如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的 S3 分段上傳文件。

下一個主題:

環境變數

上一個主題:

設定 AWS CLI
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。