Ошибка при создании AWS таблицы DynamoDB с помощью CLI - PullRequest
0 голосов
/ 17 января 2020

enter image description here Я пытаюсь создать таблицу в DynamoDB с помощью CLI.

Я использую следующую команду:

aws dynamodb create-table \ --table-name my_table \--attribute-definitions 'AttributeName=Username, AttributeType=S' 'AttributeName=Timestamp, AttributeType=S' \--key-schema 'AttributeName=Username, KeyType=HASH' 'AttributeName=Timestamp, KeyType=RANGE' \--provisioned-throughput 'ReadCapacityUnits=5, WriteCapacityUnits=5' \--stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES \--region us-east-1

При запуске выше я получаю ошибку ниже:

usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help
aws: error: the following arguments are required: --attribute-definitions, --key-schema

Я новичок в AWS, в моей команде я объявляю атрибуты и схему ключей, в чем ошибка?

Ответы [ 2 ]

1 голос
/ 17 января 2020

Люфт в набранной вами команде используется для сообщения cmd при разрыве строки о том, что команда продолжается на следующей строке.

На основании введенного вами снимка экрана и команды вы пытаясь выполнить его в одной строке.

В качестве решения вы можете удалить обратную косую черту из вашей команды или скопировать исходную команду (ту, которая содержится в руководстве), как она есть (включая разрывы строк).

Без разрывов строки:

aws dynamodb create-table --table-name my_table --attribute-definitions 'AttributeName=Username, AttributeType=S' 'AttributeName=Timestamp, AttributeType=S' --key-schema 'AttributeName=Username, KeyType=HASH' 'AttributeName=Timestamp, KeyType=RANGE' --provisioned-throughput 'ReadCapacityUnits=5, WriteCapacityUnits=5' --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES --region us-east-1

С переводом строки:

aws dynamodb create-table \
    --table-name my_table \
    --attribute-definitions AttributeName=Username,AttributeType=S AttributeName=Timestamp,AttributeType=S \
    --key-schema AttributeName=Username,KeyType=HASH  AttributeName=Timestamp,KeyType=RANGE \
    --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \
    --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES \
    --region us-east-1
0 голосов
/ 17 января 2020

Я бы попробовал использовать файл json как для схемы ключей, так и для определения атрибутов. См. https://docs.aws.amazon.com/cli/latest/reference/dynamodb/create-table.html для синтаксиса и примеров json. Вам не нужны никакие другие аргументы, кроме таблицы, чтобы ваша таблица работала.

...