我已经创建了一个S3存储桶来托管我的网站。为此,我使用了AWS CDK中的以下代码作为python文档
self.bucket = s3.Bucket(
self,
"my-bucket-name",
bucket_name="my-bucket-name",
removal_policy=core.RemovalPolicy.DESTROY,
website_index_document="index.html",
public_read_access=True
)
由于某种原因,我想将此存储桶对象作为参数发送给另一个对象,并从该参数获取存储桶名称。所以,我试过了
self.bucket.bucket_name
self.bucket.bucket_arn
似乎没有任何效果,而是该对象返回${Token[TOKEN.189]}
。有人可以指导我吗?
如果存储桶名称像上面粘贴的示例一样是硬编码的,则始终可以将其外部化为cdk上下文文件。如您所见,当您从Bucket构造访问桶名称时,它会创建对它的引用,因此,如果您在其他资源中需要它,云的形成将取决于使用Ref的Bucket资源中的值CloudFormation中的/ GetAtt功能。这样就可以确保该存储桶在下游使用之前确实存在。
如果您不关心此问题,而只是想要cdk应用程序代码中的实际存储桶名称,则将该值放在cdk上下文json文件中,并使用node.try_get_context在任何地方检索它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句