0

Мы разрабатываем приложение Spring Spring для Java с DynamoDB. Я пытаюсь создать пару таблиц в DynamoDB, используя .ebextensions. До сих пор мне удалось развернуть созданный файл jar с папкой .ebextensions, включенной в eb cli. Внутри у меня есть database.config файл со следующим содержанием:Конфигурация Beanstalk AWS для таблиц DynamoDB

Resources: 
Book: 
    Type: AWS::DynamoDB::Table 
    Properties: 
    TableName: Book 
    KeySchema: 
     HashKeyElement: {AttributeName: id, AttributeType: S} 
    ProvisionedThroughput: {ReadCapacityUnits: 1, WriteCapacityUnits: 1} 

Subject: 
    Type: AWS::DynamoDB::Table 
    Properties: 
    TableName: Subject 
    KeySchema: 
     HashKeyElement: {AttributeName: id, AttributeType: S} 
    ProvisionedThroughput: {ReadCapacityUnits: 1, WriteCapacityUnits: 1} 

User: 
    Type: AWS::DynamoDB::Table 
    Properties: 
    TableName: User 
    KeySchema: 
     HashKeyElement: {AttributeName: id, AttributeType: S} 
    ProvisionedThroughput: {ReadCapacityUnits: 1, WriteCapacityUnits: 1} 

По какой-то причине, только последний таблицу из списка (Пользователь) создается. Любая идея, почему две другие не созданы? Если я сохраняю только один из них в скрипте, он создается, как ожидалось.

Есть ли у кого-нибудь лучшее представление о создании и обновлении таблиц DynamoDB при новом развертывании? Файлы конфигурации .ebextensions полезны, но мы должны убедиться, что они содержат правильную информацию перед каждой версией.

Thanks, Cristian.

ответ

0

Ответ от технической поддержки AWS:

Я понимаю, что у вас возникли проблемы при создании DynamoDB таблиц с использованием ebextension особенности эластичного Bean Stalk при развертывании через инструменты CLI. Чтобы понять, почему это произошло, важно понять, что Elastic Bean Stalk использует CloudFormation для соответствующих ресурсов и настройки. Я заметил, что таблицы [User, Book, Subject] были созданы из предыдущего стека CloudFormation в этом случае более ранним стеком Beanstalk. Поскольку таблицы были созданы в более раннем стеке, новое создание завершилось неудачно и попыталось откат. В этом процессе отката он удалил ресурсы из более раннего образования, так как был сбой, а таблицы разделяли одно и то же имя. Об этом сообщается в нашей внутренней команде. Идя вперед, я понимаю, что вы в процессе тестирования и перехода на AWS. Я бы рекомендовал перестроить стек Beanstalk [1], связанный с этим, и снова начать развертывание без совместного использования имен ресурсов для таблиц DynamoDB.

Смежные вопросы