Amazon web services Cloudformation:访问堆栈文件夹中的其他资源,文件夹在哪里?

Amazon web services Cloudformation:访问堆栈文件夹中的其他资源,文件夹在哪里?,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,假设我有一个带有嵌套堆栈的cloudformation模板 我用git检查它们,创建一个S3 bucket和文件夹,并将Cloudformation指向主模板文件 我希望它从“当前”bucket/文件夹导入嵌套堆栈(和一些其他资源) 堆栈是否有一个属性:它的“源”来自哪里 或者,当用户创建堆栈时,我是否需要向他们请求S3URL?因此,首先在S3中选择文件,然后必须复制URL,然后按next并粘贴URL。看来一定有更干净的解决办法 (我不想引用具有嵌套堆栈的中央S3存储桶供公众访问,出于策略原因,

假设我有一个带有嵌套堆栈的cloudformation模板

我用git检查它们,创建一个S3 bucket和文件夹,并将Cloudformation指向主模板文件

我希望它从“当前”bucket/文件夹导入嵌套堆栈(和一些其他资源)

堆栈是否有一个属性:它的“源”来自哪里

或者,当用户创建堆栈时,我是否需要向他们请求S3URL?因此,首先在S3中选择文件,然后必须复制URL,然后按next并粘贴URL。看来一定有更干净的解决办法

(我不想引用具有嵌套堆栈的中央S3存储桶供公众访问,出于策略原因,我希望每次使用堆栈时都对其进行一点修改,它并不总是与嵌套的文件完全相同。)

在“AWS::CloudFormation::stack”资源中,您应该使用“TemplateURL”财产

例如:

{
  "Type" : "AWS::CloudFormation::Stack",
  "Properties" : {
    "NotificationARNs" : [ String, ... ],
    "Parameters" : { AWS CloudFormation Stack Parameters },
    "Tags" : [ Resource Tag, ... ],
    "TemplateURL" : String,
    "TimeoutInMinutes" : Integer
  }
}
“模板URL”—— 模板的URL,指定要创建为资源的堆栈。模板文件可以使用任何扩展名,如.json、.yaml、.Template或.txt。模板必须存储在Amazon S3存储桶中,因此URL的格式必须为:

有关详细信息:


如果需要更多帮助,请告诉我。

对于您的解决方案,您只需使用使用“参数”属性传递到嵌套堆栈的S3URL即可。请在这里查看: “创建此嵌套堆栈时传递给AWS CloudFormation的参数集。”

和其他说明:

  • 在您提供的s3url中,您只是映射到一个特定的区域端点。另一个URL也是有效的,有更多的选项来提供S3URL。根据文件:

  • 不,堆栈不知道其来源,您可以在此处看到与堆栈相关的所有选项:


  • 是的,我知道,但是与主模板位于同一个存储桶中的文件的URL是什么?另外,我想从存储在同一个bucket中的.zip文件生成一个lambda函数。它只需要一个bucket名称。你上面贴的是错的。没有必要,我目前正在工作的示例:TemplateURL:!Sub{S3Bucket}/createPasswordLambda.yml URL不是s3.amazonaws.com。。。。我的问题是:堆栈是否有一个属性:它的“源”来自哪里?