Произошла ошибка (ValidationException) при вызове операции CreateTable: элемент должен соответствовать заданному значению перечисления: [B, N, S] - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь создать таблицу со следующим кодом

table = dynamodb.create_table(
    TableName='log',
    AttributeDefinitions=[
        {
            'AttributeName': 'lastcall',
            'AttributeType': 's'
        }


    ],
    KeySchema=[
         {
             'AttributeName': 'lastcall', #partition key 
             'KeyType': 'HASH'
         }
    ]
)

Я получаю вышеуказанную ошибку, не в состоянии выяснить, какое облако не так.

1 Ответ

1 голос
/ 18 октября 2019

Ваш AttributeType должен быть заглавной буквой S, например 'AttributeType': 'S'. Это вызывает вашу ошибку.

Вам также нужно указать BillingMode и, вероятно, ProvisionedThroughput, если вы не используете-demand.

Код должен выглядеть примерно так:

table = dynamodb.create_table(
    TableName='log',
    AttributeDefinitions=[
    {
        'AttributeName': 'lastcall',
        'AttributeType': 'S'
    }

    ],
    KeySchema=[
    {
        'AttributeName': 'lastcall', #partition key 
        'KeyType': 'HASH'
    }
    ],
    BillingMode='PROVISIONED',
    ProvisionedThroughput={
        'ReadCapacityUnits': 5,
        'WriteCapacityUnits': 5
    },
)
...