cdk flags - AWS 雲端開發套件 (AWS CDK) v2

這是 AWS CDK v2 開發人員指南。較舊的 CDK v1 已於 2022 年 6 月 1 日進入維護,並於 2023 年 6 月 1 日結束支援。

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

cdk flags

檢視和修改 CDK CLI 的功能旗標組態。

功能旗標控制 CDK CLI 的行為,您可以使用它們來啟用或停用特定功能。使用 cdk flags命令來檢視您目前的特徵標記組態,並視需要修改它們。

警告

cdk flags 命令正在開發 AWS CDK。此命令目前的功能被視為可立即生產且安全使用。不過,此命令的範圍及其功能可能會有所變更。因此,您必須提供使用此命令unstable=flags的選項來選擇加入。

用量

$ cdk flags <arguments> <options>

引數

FLAGNAME

您要檢視或修改的特定功能旗標名稱。

類型:字串

必要:否

選項

如需適用於所有 CDK CLI 命令的全域選項清單,請參閱全域選項

--set <BOOLEAN>

修改功能旗標組態。

--all <BOOLEAN>

修改或檢視所有功能旗標。

--recommended <BOOLEAN>

將旗標變更為建議狀態。

--default <BOOLEAN>

將旗標變更為預設狀態。

--unconfigured <BOOLEAN>

修改未設定的功能旗標。

--value <STRING>

要設定特徵標記組態的值。

requiresArg: true

--safe <BOOLEAN>

啟用不影響應用程式的所有功能旗標。

--interactive, -i <BOOLEAN>

flags 命令的互動式選項。

範例

檢視功能旗標組態

執行 cdk flags以檢視與建議狀態不同的功能旗標組態報告。未設定的旗標會標示為 <unset> ,表示該旗標目前沒有值。旗標會以下列順序顯示:

  • 旗標設定為不符合建議值的值

  • 您尚未設定的旗標

$ cdk flags --unstable=flags Feature Flag Recommended User * @aws-cdk/... true false * @aws-cdk/... true false * @aws-cdk/... true <unset>

您也可以執行 cdk flags --all來查看所有特徵標記的報告,順序如下:

  • 旗標設定為符合建議值的值

  • 旗標設定為不符合建議值的值

  • 您尚未設定的旗標

$ cdk flags --unstable=flags --all Feature Flag Recommended User @aws-cdk/... true true * @aws-cdk/... true false * @aws-cdk/... true false * @aws-cdk/... true <unset>

修改特徵標記值

若要以互動方式修改您的功能旗標,請執行 cdk flags --interactive(或 cdk flags -i) 以檢視功能表選項清單。

若要將每個功能旗標變更為建議值,請執行 cdk flags --set --recommended --all。此命令會使用最新的 CDK 功能旗標組態,讓您的功能旗標組態保持up-to-date狀態。請注意,執行此命令可能會覆寫現有的設定值。

$ cdk flags --unstable=flags --set --recommended --all Feature Flag Recommended Value User Value * @aws-cdk/... true false * @aws-cdk/... true false * @aws-cdk/... true <unset> Synthesizing... Resources [~] AWS::S3::Bucket MyBucket └─ [~] Properties └─ [~] Encryption ... Number of stacks with differences: 2 Do you want to accept these changes? (y/n) y Resynthesizing...

如果您想要保留現有設定旗標的狀態,請執行 cdk flags --set --recommended --unconfigured。此選項只會將未設定的功能旗標變更為我們的建議值。

$ cdk flags --unstable=flags --set --recommended --unconfigured Feature Flag Recommended Value User Value * @aws-cdk/... true <unset> * @aws-cdk/... true <unset> Synthesizing... Resources [~] AWS::S3::Bucket MyBucket └─ [~] Properties └─ [~] Encryption ├─ [-] None └─ [+] ServerSideEncryptionConfiguration: - ... ... Number of stacks with differences: 2 Do you want to accept these changes? (y/n) y Resynthesizing...

如果您想要確保任何未設定的功能旗標不會干擾您的應用程式,請執行 cdk flags --set --default --unconfigured命令,將未設定的旗標變更為其預設值。例如,如果 @aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021 未設定,則執行 後會顯示通知cdk synth。不過,如果您將旗標設定為其預設狀態 (false),則會將其設定、關閉,且不會影響您的應用程式。

$ cdk flags --unstable=flags --set --default --unconfigured Feature Flag Recommended Value User Value * @aws-cdk/... true <unset> * @aws-cdk/... true <unset> Synthesizing... Do you want to accept these changes? (y/n) y Resynthesizing...

檢查特定功能旗標

檢視有關旗標的詳細資訊

除了執行 cdk flagscdk flags --all 檢視您的特徵標記組態之外,您也可以使用 cdk flags "FLAGNAME" 來檢查特定特徵標記,並了解標記的功能。如果您想要了解特定旗標及其對應用程式的影響,這可能會有所幫助。

$ cdk flags --unstable=flags "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021" Description: Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default. Recommended Value: true User Value: true

依子字串篩選旗標

您也可以執行 cdk flags substring來檢視所有相符的功能旗標。如果只有一個符合該子字串的功能旗標,則會顯示特定詳細資訊。

$ cdk flags --unstable=flags ebs @aws-cdk/aws-ec2:ebsDefaultGp3Volume Description: When enabled, the default volume type of the EBS volume will be GP3 Recommended Value: true User Value: true

如果多個旗標符合子字串,則資料表中會顯示所有相符的旗標。如果您輸入多個子字串,則會傳回包含任何子字串的所有相符旗標。

$ cdk flags --unstable=flags s3 lambda Feature Flag Recommended User * @aws-cdk/s3... true false * @aws-cdk/lambda... true false * @aws-cdk/lambda... true <unset>

修改特定旗標

如果您需要修改旗標的值,並希望確保將其設定為正確且支援的狀態,請執行 cdk flags --set "FLAGNAME" --value="state"

$ cdk flags --unstable=flags --set "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021" --value="true" Synthesizing... Resources [~] AWS::CloudFront::Distribution MyDistribution └─ [~] Properties └─ [~] DefaultSecurityPolicy ├─ [-] TLSv1.0 └─ [+] TLSv1.2_2021 - ... Number of stacks with differences: 2 Do you want to accept these changes? (y/n) y Resynthesizing...