gpt4 book ai didi

amazon-s3 - 读取CDK中的bucket对象

转载 作者:行者123 更新时间:2023-12-03 07:13:53 24 4
gpt4 key购买 nike

在 terraform 中,在部署时从 s3 存储桶读取对象,我可以使用数据源

data aws_s3_bucket_object { }

CDK中有类似的概念吗?我见过各种将 Assets 上传到 s3 以及导入现有存储桶的方法,但没有从存储桶中获取对象。我需要从存储桶中读取一个配置文件,这将影响进一步的部署。

最佳答案

重要的是要记住,CDK 本身不是一个部署选项。它可以部署,但是您在 cdk 堆栈中编写的代码是资源的定义 - 而不是部署方法。

因此,您可以执行以下操作之一。

  1. 使用适合您语言的 SDK 调用 s3 存储桶并直接加载数据。这是完全可以接受且易于理解的在部署之前收集所需信息的方法 - 每次堆栈 Synths 时(它在每次 cdk 部署 之前执行该操作,该代码将运行并提取您的数据。

  2. 使用 CodePipeline 设置适当的管道,并为其提供两个源 - 第一个是您的版本控制存储库,第二个是您的 s3 存储桶:

https://docs.aws.amazon.com/codebuild/latest/userguide/sample-multi-in-out.html

  • 首选方法 - 删除 json 文件,并使用 Parameter Store。 CDK 包含的模块将在合成器上创建此参数的 token 版本,并且在部署时它将正确引用回 Systems Manager 参数存储
  • https://docs.aws.amazon.com/cdk/v2/guide/get_ssm_value.html

    如果您的参数在部署后发生变化,您可以轻松地将其作为 cdk 堆栈的一部分(使用 cfn 输出)。如果它们在部署期间/期间发生变化,您确实需要使用 CodePipeline 来管理这些步骤,而不仅仅是 CDK。

    因为请记住:cdk 部署选项只是为了方便。它会执行所有事情,并且无法在中间暂停并执行特定步骤。 (除了非常基本的以外,这取决于此资源)

    关于amazon-s3 - 读取CDK中的bucket对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72379662/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com