eb config - AWS Elastic Beanstalk

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

eb config

描述

管理您環境的作用中組態設定和已儲存組態。您可以使用此命令來上傳、下載或列出您環境的已儲存組態。您也可以使用它來下載、顯示或更新其作用中的組態設定。

如果根目錄包含 platform.yaml 檔案,其中指定自訂的平台,則此命令也會變更建置器的組態設定。這是根據 platform.yaml 中設定的值完成的。

注意

eb config 不會顯示環境屬性。若要設定可以從您的應用程式中讀取的環境屬性,請改用 eb setenv

語法

以下是用於 eb config 命令與您環境的作用中組態設定搭配使用的語法部分。如需特定範例,請參閱本主題後半內容中的 範例 部分。

  • eb config – 在您設定為 EDITOR 環境變數的文字編輯器中顯示環境的作用中組態設定。當您儲存對檔案進行的變更並關閉編輯器時,會使用檔案中儲存的選項設定來更新環境。

    注意

    如果您沒有設定 EDITOR 環境變數,EB CLI 會在 YAML 檔案的預設編輯器中顯示您的選項設定。

  • eb config environment-name – 顯示並更新已命名環境的組態。組態會顯示在您設定的文字編輯器或預設編輯器 YAML 檔案中。

  • eb config save – 將目前環境的作用中組態設定儲存至 .elasticbeanstalk/saved_configs/ (使用 [configuration-name].cfg.yml 作為檔案名稱)。根據預設,EB CLI 會根據環境的名稱,使用configuration-name來儲存組態設定。在執行指令時,您可以加入 --cfg 選項搭配所要的組態名稱,來指定不同的組態名稱。

    您可以使用 --tags 選項來標記已儲存的組態。

  • eb config --display – 將環境的作用中組態設定寫入 stdout,而不是檔案。依預設,這將顯示終端機的組態設定。

  • eb config --update configuration_string | file_path – 使用在 configuration_string 中指定的資訊,或在 file_path 識別的檔案內部,更新目前環境的作用中組態設定。

注意

--display--update 選項提供了以程式設計方式讀取和修訂環境組態設定的靈活性。

下文說明使用 eb config 命令來使用已儲存組態的語法。如需範例,請參閱本主題後半內容中的 範例 部分。

  • eb config get config-name – 從 Amazon S3 下載已命名儲存的組態。

  • eb config delete config-name – 刪除 Amazon S3 中已命名儲存的組態。如果您已下載它,也會在本機刪除它。

  • eb config list - 列出在 Amazon S3 中的已儲存組態。

  • eb config put filename - 將已命名儲存的組態上傳到 Amazon S3 儲存貯體。檔案名稱必須有副檔名 .cfg.yml。若要指定不包含路徑的檔案名稱,您可以在執行指令之前,將檔案儲存到 .elasticbeanstalk.elasticbeanstalk/saved_configs/ 資料夾。或者,您可以提供完整的路徑來指定檔案名稱

選項

名稱

描述

--cfg config-name

用於已儲存組態的名稱。

此選項僅適用 eb config save

-d

--display

顯示目前環境的組態設定 (寫入 stdout)。

--format 選項一起使用,以指定要在 JSON 或 YAML 中的輸出。如果您未指定,輸出採用 YAML 格式。

只有在您使用不含任何其他子命令的 eb config 命令時,此選項才起作用。

-f format_type

--format format_type

指定顯示格式。有效值是 JSON 或 YAML。

預設為 YAML。

此選項僅與 --display 選項一起使用。

--tags key1=value1[,key2=value2 ...]

要新增到您的已儲存的組態的標籤。在清單中指定標籤時,將它們指定為 key=value 對,並以逗號分隔每個標籤。

如需更多詳細資訊,請參閱 標記已儲存組態

此選項僅適用 eb config save

--timeout timeout

命令逾時前的分鐘數。

-u configuration_string | file_path

--update configuration_string | file_path

更新目前環境的作用中組態設定。

只有在您使用不含任何其他子命令的 eb config 命令時,此選項才起作用。

configuration_string | file_path 參數屬於字串類型。字串提供命名空間清單和對應選項,以新增、更新或從環境的組態設定中移除。或者,輸入字串可以代表包含相同資訊的檔案。

若要指定檔案名稱,輸入字串必須遵循格式 "file://<path><filename>"。若要指定不包含 path 的檔案名稱,請將檔案儲存至您執行命令的資料夾。或者,透過提供完整的路徑來指定檔案名稱。

組態資訊必須符合下列條件。至少需要其中一個區段 OptionSettingsOptionsToRemove。使用 OptionSettings 來新增或變更選項。使用 OptionsToRemove 從命名空間中移除選項。如需特定範例,請參閱本主題後半內容中的 範例 部分。

YAML 格式

OptionSettings: namespace1: option-name-1: option-value-1 option-name-2: option-value-2 ... OptionsToRemove: namespace1: option-name-1 option-name-2 ...

JSON 格式

{ "OptionSettings": { "namespace1": { "option-name-1": "option-value-1", "option-name-2": "option-value-2", ... } }, "OptionsToRemove": { "namespace1": { "option-name-1", "option-name-2", ... } } }

常用選項

輸出

如果在未新增子命令或選項的情況下成功執行 eb configeb config environment-name 命令,命令會在您設定為 EDITOR 環境變數的文字編輯器中,顯示目前的選項設定。如果您沒有設定 EDITOR 環境變數,EB CLI 會在 YAML 檔案的預設編輯器中顯示您的選項設定。

當您儲存對檔案進行的變更並關閉編輯器時,會使用檔案中儲存的選項設定來更新環境。會顯示下列輸出以確認組態更新。

$ eb config myApp-dev Printing Status: 2021-05-19 18:09:45 INFO Environment update is starting. 2021-05-19 18:09:55 INFO Updating environment myApp-dev's configuration settings. 2021-05-19 18:11:20 INFO Successfully deployed new configuration to environment.

如果命令使用 --display 選項成功執行,會顯示目前環境的組態設定 (寫入 stdout)。

如果指令使用 get 參數並執行成功,此指令會顯示您所下載本機副本的位置。

如果指令使用 save 參數並執行成功,此指令會顯示已儲存檔案的位置。

範例

本節說明如何變更用來檢視與編輯選項設定檔案的文字編輯器。

如果使用 Linux 和 UNIX,下列範例會將編輯器變更為 vim:

$ export EDITOR=vim

如果使用 Linux 和 UNIX,下列範例會將編輯器變更為 /usr/bin/kate 所安裝的任何編輯器。

$ export EDITOR=/usr/bin/kate

如果使用 Windows,下列範例會將編輯器變更為 Notepad++。

> set EDITOR="C:\Program Files\Notepad++\Notepad++.exe

本節提供的範例,適用於搭配子命令執行時的 eb config 命令。

下列範例刪除了名為 app-tmp 的已儲存組態。

$ eb config delete app-tmp

下列範例從您的 Amazon S3 儲存貯體下載了名為 app-tmp 的已儲存組態。

$ eb config get app-tmp

下列範例列出了您的 Amazon S3 儲存貯體中所儲存組態的名稱。

$ eb config list

下列範例將名為 app-tmp 的已儲存組態的本機副本,上傳到您的 Amazon S3 儲存貯體。

$ eb config put app-tmp

下列範例從目前執行的環境儲存了組態設定。如果您未提供用於已儲存組態的名稱,則 Elastic Beanstalk 會根據環境的名稱來將組態檔案命名。例如,名為 tmp-dev 的環境將稱為 tmp-dev.cfg.yml。Elastic Beanstalk 會將檔案儲存至 /.elasticbeanstalk/saved_configs/ 資料夾。

$ eb config save

下列範例說明如何使用 --cfg 選項,來將 tmp-dev 環境的組態設定儲存到名為 v1-app-tmp.cfg.yml 的檔案。Elastic Beanstalk 會將檔案儲存至 /.elasticbeanstalk/saved_configs/ 資料夾。如果您未指定環境名稱,則 Elastic Beanstalk 會從目前執行中的環境儲存組態設定。

$ eb config save tmp-dev --cfg v1-app-tmp

本節提供的範例,適用於在沒有子命令的情況下執行時的 eb config 命令。

下列命令會在文字編輯器中顯示目前環境的選項設定。

$ eb config

下列命令會在文字編輯器中顯示 my-env 環境的選項設定。

$ eb config my-env

下列範例會顯示目前環境的選項設定。它以 YAML 格式輸出,因為沒有使用 --format 選項指定特定的格式。

$ eb config --display

下列範例使用名為 example.txt 的檔案中的規格更新目前環境的選項設定。檔案採用 YAML 或 JSON 格式。EB CLI 會自動偵測檔案格式。

  • 命名空間 aws:autoscaling:asg 的 Minsize 選項設定為 1。

  • 命名空間 aws:elasticbeanstalk:command 的批次大小設定為 30%。

  • 它會從命名空間 AWSEBV2LoadBalancer.aws:elbv2:loadbalancer 移除 IdleTimeout: None (IdleTimeout:無) 的選項設定。

$ eb config --update "file://example.txt"
範例 - filename:example.txt – YAML 格式
OptionSettings: 'aws:elasticbeanstalk:command': BatchSize: '30' BatchSizeType: Percentage 'aws:autoscaling:asg': MinSize: '1' OptionsToRemove: 'AWSEBV2LoadBalancer.aws:elbv2:loadbalancer': IdleTimeout
範例 - filename:example.txt – JSON 格式
{ "OptionSettings": { "aws:elasticbeanstalk:command": { "BatchSize": "30", "BatchSizeType": "Percentage" }, "aws:autoscaling:asg": { "MinSize": "1" } }, "OptionsToRemove": { "AWSEBV2LoadBalancer.aws:elbv2:loadbalancer": { "IdleTimeout" } } }

下列範例會更新目前環境的選項設定。此命令會將 aws:autoscaling:asg 命名空間的 Minsize 選項設定為 1。

注意

這些範例特定於 Windows PowerShell。它們透過在雙引號 (") 字元前面加一個斜線 (\) 字元來逸出其文字出現。不同的作業系統和命令列環境可能具有不同的逸出序列。因此,我們建議您使用先前範例所示的檔案選項。在檔案中指定組態選項不需要逸出字元,而且在不同的作業系統中是一致的。

下列範例採用 JSON 格式。EB CLI 會偵測格式採用 JSON 還是 YAML。

PS C:\Users\myUser\EB_apps\myApp-env>eb config --update '{\"OptionSettings\":{\"aws:autoscaling:asg\":{\"MaxSize\":\"1\"}}}'

下列範例採用 YAML 格式。若要以正確格式輸入 YAML 字串,該命令包括 YAML 檔案中所需的間距和行尾返回。

  • 使用 "enter" 或 "return" 鍵結束每一行。

  • 以兩個空格開始第二行,以四個空格開始第三行。

PS C:\Users\myUser\EB_apps\myApp-env>eb config --update 'OptionSettings: >> aws:autoscaling:asg: >> MinSize: \"1\"'