Сборка стека сценариев Cloudformation использует существующую корзину s3 вместо создания новой (Ошибка: s3-bucket-name уже существует) - PullRequest
1 голос
/ 11 апреля 2020

Я создаю сценарий облачной информации AWS для создания корзины S3 и события уведомления для запуска лямбды. Как часть этого, если ведро s3 еще не создано, оно создает ведро s3, и все работает отлично.

Но если корзина S3 уже была там, то получаю ошибку.

Error: s3-bucket-name already exists

"S3Bucket" : {
        "Type" : "AWS::S3::Bucket",
        "Properties" : {
            "BucketName" : {
                "Ref": "s3-bucket-name"
            },
            "NotificationConfiguration" : {
                "LambdaConfigurations" : [ {
                    "Event" : "s3:ObjectCreated:*",
                    "Filter" : {
                        ...
                    },
                    "Function" : {
                        "Fn::Sub": "<your-lambda-arn>"
                    }
                }]
        ...
}

AWS стек облачной информации должен использовать корзину, если она уже существует. и создать, если не существует.

Я мог бы что-то упустить.

1 Ответ

2 голосов
/ 11 апреля 2020

Если корзина не была создана вашими шаблонами, AWS будет просто предполагать, что вы пытаетесь создать вторую корзину с тем же именем, что и существующая. Конечно, вы не можете сделать это, так как ведра должны иметь уникальные имена. Таким образом, вы получаете ошибку s3-bucket-name already exists.

Чтобы перенести существующие сегменты, созданные вне CloudFormation, под контроль CloudFormation, вам необходимо импортировать их.

S3 - это один из ресурсов , который можно импортировать в CloudFormation, если они уже существуют.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...