调用CreateTable操作时发生错误(ValidationException):成员必须满足设置的枚举值:[B,N,S]

时间:2019-10-18 05:51:33

标签: amazon-web-services amazon-dynamodb boto3

我正在尝试使用以下代码创建表

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


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

我遇到上述错误,无法弄清楚什么云是错误的。

1 个答案:

答案 0 :(得分:1)

您的AttributeType必须是大写字母S,例如'AttributeType': 'S' 这是造成您的错误的原因。

如果您不按需购买,还需要指定BillingMode,甚至可能指定ProvisionedThroughput

代码应如下所示:

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
    },
)