Несоответствие определений атрибутов при создании таблицы DynamoDB через CloudFormation - PullRequest
0 голосов
/ 23 апреля 2019

Когда я пытаюсь построить следующее:

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Foobar
Resources:
  FailuresTable:
    Type: AWS::DynamoDB::Table
    Properties:
      TableName: Failures
      AttributeDefinitions:
        -
          AttributeName: failureKey
          AttributeType: S
        -
          AttributeName: status,
          AttributeType: S
      KeySchema:
        -
          AttributeName: failureKey
          KeyType: HASH
      GlobalSecondaryIndexes:
        -
          IndexName: failure-status
          KeySchema:
            - AttributeName: status
              KeyType: RANGE
          Projection:
            ProjectionType: ALL
          ProvisionedThroughput:
            ReadCapacityUnits: 5
            WriteCapacityUnits: 15
      ProvisionedThroughput:
        ReadCapacityUnits: 5
        WriteCapacityUnits: 15

Я получаю сообщение об ошибке «Свойство AttributeDefinitions несовместимо с KeySchema таблицы и вторичных индексов».

I 'Мы определили два атрибута: faultKey и status.Первый в ключе моего стола.Второй ключ в таблице только GSI.

1 Ответ

0 голосов
/ 23 апреля 2019

Первый ключевой столбец в ключевой схеме глобального вторичного индекса должен иметь хеш-тип.

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Foobar
Resources:
  FailuresTable:
    Type: AWS::DynamoDB::Table
    Properties:
      AttributeDefinitions:
        -
          AttributeName: "failureKey"
          AttributeType: "S"
        -
          AttributeName: "status"
          AttributeType: "S"
      KeySchema:
        -
          AttributeName: "failureKey"
          KeyType: "HASH"
      ProvisionedThroughput:
        ReadCapacityUnits: 5
        WriteCapacityUnits: 5
      TableName: "Failures"
      GlobalSecondaryIndexes:
        -
          IndexName: "failure-status"
          KeySchema:
            -
              AttributeName: "status"
              KeyType: "HASH"
          Projection:
            ProjectionType: "ALL"
          ProvisionedThroughput:
            ReadCapacityUnits: 5
            WriteCapacityUnits: 5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...