使用 CDK 的 Cloudformation 全局部分
Cloudformation Globals section using CDK
我正在使用 aws-cdk,我想按照建议声明一个全局部分 here
如何从 aws-cdk typescript 代码创建 Globals
部分?
Parameters:
Tag:
Type: String
Default: latest
Description: Docker tag to build and deploy.
Globals:
Function:
Timeout: 5
Parameters
部分完成。
我写了这段代码:
new CfnParameter(this, 'Tag', {
default: 'latest',
description: 'Docker tag to build and deploy.'
});
我得到了想要的输出。
但我在 cdk API.
中找不到与 Globals
平行的
我应该使用什么代码来获得与 Globals
部分相同的输出?
Globals
概念与SAM有关。就是复用SAM模板中的代码。
请注意CDK 不生成SAM 模板,而是生成纯cloudformation 模板。 SAM和CDK都生成cloudformation模板,属于比较重叠的技术。
简而言之,您不能使用CDK 生成Globals
部分,因为在Cloudformation 中没有这样的概念。
如果您希望重用一些代码,无论如何您都可以使用您在 CDK 中使用的编程语言重用变量。
由于您使用的是 AWS CDK,我认为尝试生成 SAM 模板不是一个好主意,尽管从技术上讲这可能是可行的using escape hatches。
AWS CDK 使创建 Lambda functions 等变得轻而易举。恕我直言,它比使用 AWS SAM 更简单。特别是如果你有程序员背景。
由于AWS CDK使用常规语言,您可以使用语言默认方式来定义全局变量。例如在 TypeScript 中:
const SOME_GLOBAL_VARIABLE = 'a secret sauce';
class MyStack extends cdk.Stack {
constructor(scope: Scope, id: string){
new Vpc(this, 'Vpc', {
name: SOME_GLOBAL_VARIABLE
})
}
}
我正在使用 aws-cdk,我想按照建议声明一个全局部分 here
如何从 aws-cdk typescript 代码创建 Globals
部分?
Parameters:
Tag:
Type: String
Default: latest
Description: Docker tag to build and deploy.
Globals:
Function:
Timeout: 5
Parameters
部分完成。
我写了这段代码:
new CfnParameter(this, 'Tag', {
default: 'latest',
description: 'Docker tag to build and deploy.'
});
我得到了想要的输出。
但我在 cdk API.
中找不到与Globals
平行的
我应该使用什么代码来获得与 Globals
部分相同的输出?
Globals
概念与SAM有关。就是复用SAM模板中的代码。
请注意CDK 不生成SAM 模板,而是生成纯cloudformation 模板。 SAM和CDK都生成cloudformation模板,属于比较重叠的技术。
简而言之,您不能使用CDK 生成Globals
部分,因为在Cloudformation 中没有这样的概念。
如果您希望重用一些代码,无论如何您都可以使用您在 CDK 中使用的编程语言重用变量。
由于您使用的是 AWS CDK,我认为尝试生成 SAM 模板不是一个好主意,尽管从技术上讲这可能是可行的using escape hatches。
AWS CDK 使创建 Lambda functions 等变得轻而易举。恕我直言,它比使用 AWS SAM 更简单。特别是如果你有程序员背景。
由于AWS CDK使用常规语言,您可以使用语言默认方式来定义全局变量。例如在 TypeScript 中:
const SOME_GLOBAL_VARIABLE = 'a secret sauce';
class MyStack extends cdk.Stack {
constructor(scope: Scope, id: string){
new Vpc(this, 'Vpc', {
name: SOME_GLOBAL_VARIABLE
})
}
}