如何使用 AWS CDK 获取长区域名称
How to get the long region name with AWS CDK
如何获取 AWS CDK 中的区域名称?
一些 SDK 提供区域对象(另请参阅此 )
在 CDK 构造中,self.region
可用,cdk.aws_region
有一个 RegionInfo
class,但它不提供名称,例如:ap- southeast-1 -> 新加坡
AWS 将区域长名称(如 Asia Pacific (Singapore)
用于 ap-southeast-1
)公开为 publicly available Parameter Store parameters. Lookup this value at synth-time with ssm.StringParameter.valueFromLookup*。您需要参数路径的区域 ID,堆栈(或构造)可以自省。
export class MyStack extends cdk.Stack {
constructor(scope: Construct, id: string, props: cdk.StackProps) {
super(scope, id, props);
const regionLongName: string = ssm.StringParameter.valueFromLookup(
this,
`/aws/service/global-infrastructure/regions/${this.region}/longName`
);
console.dir({ region: this.region, regionLongName });
}
}
对于Python
aws_cdk.aws_ssm.StringParameter.value_from_lookup(
scope=self,
parameter_name=f'/aws/service/global-infrastructure/regions/{self.region}/longName')
cdk synth
输出::
{ region: 'us-east-1', regionLongName: 'US East (N. Virginia)' }
* CDK 的 valueFromLookup
context method 会将 looked-up 参数存储值缓存在 cdk.context.json
中的 synth-time。您最初可能会得到一个虚拟值。再次合成。
如何获取 AWS CDK 中的区域名称?
一些 SDK 提供区域对象(另请参阅此
在 CDK 构造中,self.region
可用,cdk.aws_region
有一个 RegionInfo
class,但它不提供名称,例如:ap- southeast-1 -> 新加坡
AWS 将区域长名称(如 Asia Pacific (Singapore)
用于 ap-southeast-1
)公开为 publicly available Parameter Store parameters. Lookup this value at synth-time with ssm.StringParameter.valueFromLookup*。您需要参数路径的区域 ID,堆栈(或构造)可以自省。
export class MyStack extends cdk.Stack {
constructor(scope: Construct, id: string, props: cdk.StackProps) {
super(scope, id, props);
const regionLongName: string = ssm.StringParameter.valueFromLookup(
this,
`/aws/service/global-infrastructure/regions/${this.region}/longName`
);
console.dir({ region: this.region, regionLongName });
}
}
对于Python
aws_cdk.aws_ssm.StringParameter.value_from_lookup(
scope=self,
parameter_name=f'/aws/service/global-infrastructure/regions/{self.region}/longName')
cdk synth
输出::
{ region: 'us-east-1', regionLongName: 'US East (N. Virginia)' }
* CDK 的 valueFromLookup
context method 会将 looked-up 参数存储值缓存在 cdk.context.json
中的 synth-time。您最初可能会得到一个虚拟值。再次合成。