Создание таблицы в AWS CLI
Статья создана
Обновлена 10 января 2024 г.
AWS CLI
Важно
Для работы с AWS CLI из Windows рекомендуется использовать WSL
Если у вас еще нет AWS CLI, установите и сконфигурируйте его.
Чтобы создать таблицу сериалов с ключом партицирования по номеру сериала и ключом сортировки по названию сериала:
-
Подготовьте Document API эндпоинт и укажите его:
endpoint=<эндпоинт_вашей_БД> -
Выполните команду:
aws dynamodb create-table \ --table-name <имя_таблицы> \ --attribute-definitions \ AttributeName=<номер_сериала>,AttributeType=N \ AttributeName=<название_сериала>,AttributeType=S \ AttributeName=<описание_сериала>,AttributeType=S \ AttributeName=<дата_выхода_сериала>,AttributeType=S \ --key-schema \ AttributeName=<номер_сериала>,KeyType=HASH \ AttributeName=<название_сериала>,KeyType=RANGE \ --endpoint $endpointГде:
--table-name— имя таблицы.--attribute-definitions— описание атрибутов элементов.AttributeName— имя атрибута,AttributeType— тип атрибута:N— типNumber.S— типString.B— типBinary.
--key-schema— схема ключей для таблицы.AttributeName— имя ключевого атрибута.KeyType— тип ключа:HASH— ключ партицирования.RANGE— ключ сортировки.
Атрибуты в
key-schemaтакже должны быть определены в массивеattribute-definitions.
Пример
Чтобы создать таблицу с именем series, ключом партицирования series_id и ключом сортировки title:
endpoint="your-database-endpoint"
aws dynamodb create-table \
--table-name series \
--attribute-definitions \
AttributeName=series_id,AttributeType=N \
AttributeName=title,AttributeType=S \
AttributeName=series_info,AttributeType=S \
AttributeName=release_date,AttributeType=S \
--key-schema \
AttributeName=series_id,KeyType=HASH \
AttributeName=title,KeyType=RANGE \
--endpoint $endpoint
Результат:
{
"TableDescription": {
"AttributeDefinitions": [
{
"AttributeName": "series_id",
"AttributeType": "N"
},
{
"AttributeName": "title",
"AttributeType": "S"
},
{
"AttributeName": "series_info",
"AttributeType": "S"
},
{
"AttributeName": "release_date",
"AttributeType": "S"
}
],
"TableName": "series",
"KeySchema": [
{
"AttributeName": "series_id",
"KeyType": "HASH"
},
{
"AttributeName": "title",
"KeyType": "RANGE"
}
],
"TableStatus": "ACTIVE",
"CreationDateTime": "2020-12-27T13:21:10+00:00",
"TableSizeBytes": 0,
"ItemCount": 0
}
}