gpt4 book ai didi

amazon-s3 - 与 AWS --resources-to-import 和 --template-url 的混淆

转载 作者:行者123 更新时间:2023-12-03 07:26:20 27 4
gpt4 key购买 nike

我正在尝试将现有的 S3 存储桶导入到新创建的 CloudFormation 堆栈中。作为引用,我正在使用这个 site 。我使用 Github 工作流运行程序来执行此操作,如下所示:

      - name: Add existing S3 bucket and object to Stack
run: aws cloudformation create-change-set
--stack-name ${{ env.STACK_NAME }} --change-set-name ImportChangeSet
--change-set-type IMPORT
--resources-to-import file://ResourcesToImport.txt
--template-url https://cf-templates.s3.eu-central-1.amazonaws.com/ResourcesToImport.yaml

我对 ResourcesToImport.txtResourcesToImport.yaml 到底应该包含什么内容有点困惑。我目前有:

ResourcesToImport.txt

    [
{
"ResourceType":"AWS::S3::Bucket",
"LogicalResourceId":"myBucket",
"ResourceIdentifier": {
"resourceName":"myBucket",
"resourceType":"AWS::S3::Bucket"
}
}
]

注意:作为旁注,我刚刚使用了存储桶名称,但实际上我只想要该存储桶中的特定文件夹。

ResourcesToImport.yaml

    AWSTemplateFormatVersion: '2010-09-09'
Description: Import existing resources

Resources:
S3SourceBucket:
Type: AWS::S3::Bucket
DeletionPolicy: Retain
BucketName: myBucket

我非常确定这两个文件中的信息复制是多余且不正确的。 ResourcesToImport.yaml文件提前上传到存储桶cf-templates/ResourcesToImport.yaml

如果我要仅导入现有的 S3 存储桶和文件夹,这两个文件实际上应该包含什么?

编辑

除了模板路由之外,我还尝试通过控制台添加S3存储桶。但是,当添加 S3 url (s3://myBucket/folder1/folder2/) 时,我得到:

S3 error: Domain name specified in myBucket is not a valid S3 domain

最佳答案

这是两个文件输入 create-change-set 的内容导入时应包含:

--resources-to-import 要导入到堆栈中的资源。这标识要导入的资源。不是模板。确保 LogicalResourceId 与下面模板中的资源 ID 匹配。在您的情况下:"LogicalResourceId": "S3SourceBucket"

--template-url 包含修订后模板的文件的 [S3] 位置。这是一个 CloudFormation 模板,其中包括 (a) future 版本-导入的资源和 (b) 现有的堆栈资源。这就是您执行更改集时 CloudFormation 将部署的内容。注意:或者,也可以将 --template-body 与本地文件模板一起使用。

关于您的编辑:

存储桶名称不能包含斜杠。对象键可以。 S3 does not have folders per se ,尽管带有 / 的对象键具有一些类似文件夹的属性。 path/to/my.json 一起就是 S3 object Key name :

Amazon S3 supports buckets and objects, and there is no hierarchy. However, by using prefixes and delimiters in an object key name, the Amazon S3 console and the AWS SDKs can infer hierarchy and introduce the concept of folders

关于amazon-s3 - 与 AWS --resources-to-import 和 --template-url 的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72615501/

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