儲存和擷取上下文變數值 - AWS Cloud Development Kit (AWS CDK) V2

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

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

儲存和擷取上下文變數值

您可以使用 AWS Cloud Development Kit (AWS CDK) CLI或在檔案中指定上下cdk.json文變數。然後,使用該TryGetContext方法檢索值。

指定上下文變量

您可以將上下文變數指定為指 AWS CDK CLI令的一部分,也可以在中指定cdk.json

若要建立命令列內容變數,請使用 --context (-c) 選項,如下列範例所示。

cdk synth -c bucket_name=mygroovybucket

若要在檔案中指定相同的上下cdk.json文變數和值,請使用下列程式碼。

{ "context": { "bucket_name": "myotherbucket" } }

如果您同時使用 AWS CDK CLI和cdk.json檔案指定前後關聯變數,則 AWS CDK CLI值優先。

檢索上下文變量值

要獲取應用程序中上下文變量的值,請在構造的上下文中使用該TryGetContext方法。(也就是說this,何時或self在 Python 中,是某個構造的一個實例。)

在這個例子中,我們檢索bucket_name上下文變量的值。如果未定義請求的值,則TryGetContext返回undefinedNone在 Python 中; null 在 Java 和 C# nil 中; 在 Go 中),而不是引發異常。

TypeScript
const bucket_name = this.node.tryGetContext('bucket_name');
JavaScript
const bucket_name = this.node.tryGetContext('bucket_name');
Python
bucket_name = self.node.try_get_context("bucket_name")
Java
String bucketName = (String)this.getNode().tryGetContext("bucket_name");
C#
var bucketName = this.Node.TryGetContext("bucket_name");

在構造的上下文之外,您可以從應用程序對像訪問上下文變量,如下所示。

TypeScript
const app = new cdk.App(); const bucket_name = app.node.tryGetContext('bucket_name')
JavaScript
const app = new cdk.App(); const bucket_name = app.node.tryGetContext('bucket_name');
Python
app = cdk.App() bucket_name = app.node.try_get_context("bucket_name")
Java
App app = App(); String bucketName = (String)app.getNode().tryGetContext("bucket_name");
C#
app = App(); var bucketName = app.Node.TryGetContext("bucket_name");

如需使用上下文變數的詳細資訊,請參閱上下文值和 AWS CDK