Criar tabela na DynamoDB dá yml erro de sintaxe

votos
-1

Não é LocalSecondaryIndexesum array? Eu tentei um monte de versão diferente do mesmo. Com e sem um -, linhas de recuo / suportes. Mas eu não posso fazê-lo funcionar. Esta sintaxe me dá Expected params.LocalSecondaryIndexes to be an Array.

CoordinatesTable:
  Type: 'AWS::DynamoDB::Table'
  Properties:
    KeySchema:
      - AttributeName: hashKey
        KeyType: HASH
      - AttributeName: rangeKey
        KeyType: RANGE
    AttributeDefinitions:
      - AttributeName: hashKey
        AttributeType: N
      - AttributeName: rangeKey
        AttributeType: S
      - AttributeName: geohash
        AttributeType: N
    LocalSecondaryIndexes:
      IndexName: geohash-index
      KeySchema:
        - AttributeName: hashKey
          KeyType: HASH
        - AttributeName: geohash
          KeyType: RANGE
      Projection: 
        ProjectionType: All
    ProvisionedThroughput:
      ReadCapacityUnits: 10
      WriteCapacityUnits: 5
    TableName: CoordinatesTable

Esta é a mesa em JSON, tomar a partir de um projekt github.

{
  TableName: config.tableName,
  ProvisionedThroughput: {
    ReadCapacityUnits: 10,
    WriteCapacityUnits: 5
  },
  KeySchema: [
    {
      KeyType: HASH,
      AttributeName: config.hashKeyAttributeName
    },
    {
      KeyType: RANGE,
      AttributeName: config.rangeKeyAttributeName
    }
  ],
  AttributeDefinitions: [
    { AttributeName: config.hashKeyAttributeName, AttributeType: 'N' },
    { AttributeName: config.rangeKeyAttributeName, AttributeType: 'S' },
    { AttributeName: config.geohashAttributeName, AttributeType: 'N' }
  ],
  LocalSecondaryIndexes: [
    {
      IndexName: config.geohashIndexName,
      KeySchema: [
        {
          KeyType: 'HASH',
          AttributeName: config.hashKeyAttributeName
        },
        {
          KeyType: 'RANGE',
          AttributeName: config.geohashAttributeName
        }
      ],
      Projection: {
        ProjectionType: 'ALL'
      }
    }
  ]
};

}}

Publicado 20/10/2018 em 14:05
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

Eu acredito que a mensagem de erro é enganosa e deve, antes, afirmar que LocalSecondaryIndexesdeve ser uma lista, porque isso é o que está na representação JSON. Assim, fazer uma lista de fora em YAML deve funcionar bem:

LocalSecondaryIndexes:
  - IndexName: geohash-index
    KeySchema:
      - AttributeName: hashKey
        KeyType: HASH
      - AttributeName: geohash
        KeyType: RANGE
    Projection: 
      ProjectionType: All
Respondeu 20/10/2018 em 14:51
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more