Amazon DynamoDB — это полностью управляемая служба базы данных NoSQL, обеспечивающая быструю и предсказуемую производительность с плавной масштабируемостью. Если вы создаете приложение Spring Boot, вы можете использовать DynamoDB в качестве хранилища данных.
В этой статье мы увидим, как выполнять операции CRUD (создание, чтение, обновление, удаление) над таблицами DynamoDB в Spring Boot.
Прежде чем мы начнем, убедитесь, что у вас есть следующие предварительные условия:
- Аккаунт AWS
- AWS CLI (интерфейс командной строки), установленный и настроенный на вашем компьютере
- AWS SDK для Java, установленный в вашем проекте
- Проект Spring Boot, настроенный с зависимостью DynamoDB.
Когда у вас есть эти предварительные условия, вы готовы начать писать операции CRUD для таблиц DynamoDB в Spring Boot.
Для начала вам нужно создать таблицу DynamoDB. Это можно сделать с помощью интерфейса командной строки AWS, консоли управления AWS или API DynamoDB. Для целей этой статьи мы будем использовать интерфейс командной строки AWS.
Откройте окно терминала и введите следующую команду, чтобы создать таблицу с первичным ключом «id»:
aws dynamodb create-table \ --table-name MyTable \ --attribute-definitions AttributeName=id,AttributeType=S \ --key-schema AttributeName=id,KeyType=HASH \ --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5
Эта команда создает таблицу DynamoDB с именем «MyTable» с первичным ключом «id» и выделенной пропускной способностью 5 операций чтения и 5 операций записи в секунду.
Теперь, когда у нас настроена таблица DynamoDB, давайте посмотрим, как выполнять над ней операции CRUD с помощью Spring Boot.
Чтобы выполнять операции CRUD с таблицей DynamoDB в приложении Spring Boot, вам необходимо создать клиент DynamoDB. Для этого можно использовать следующий код:
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard() .withRegion(Regions.US_EAST_1) .build(); DynamoDB dynamoDB = new DynamoDB(client); Table table = dynamoDB.getTable("MyTable");
Этот код создает клиент DynamoDB, который можно использовать для доступа к таблице DynamoDB.
Теперь, когда у нас есть клиент DynamoDB и ссылка на нашу таблицу, мы можем начать выполнять операции CRUD.
Создать элемент
Чтобы создать элемент в таблице, вы можете использовать следующий код:
Item item = new Item() .withPrimaryKey("id", "12345") .withString("name", "John") .withInt("age", 30); table.putItem(item);
Этот код создает новый элемент с «id» «12345», «name» «John» и «age» 30 и добавляет его в таблицу «MyTable».
Читать элемент
Чтобы прочитать элемент из таблицы, вы можете использовать следующий код:
Item item = table.getItem("id", "12345"); String name = item.getString("name"); int age = item.getInt("age");
Этот код извлекает элемент с «id» «12345» из таблицы «MyTable» и считывает атрибуты «имя» и «возраст».
Обновить элемент
Чтобы обновить элемент в таблице, вы можете использовать следующий код:
Item item = new Item() .withPrimaryKey("id", "12345") .withString("name", "John") .withInt("age", 31); table.putItem(item);
Этот код обновляет элемент с «id» «12345» в «MyTable».
Удалить пункт
Чтобы удалить элемент из таблицы, вы можете использовать следующий код:
DeleteItemSpec deleteItemSpec = new DeleteItemSpec().withPrimaryKey("id", "12345"); table.deleteItem(deleteItemSpec);
Этот код удаляет элемент с «id» «12345» из таблицы «MyTable».
Используя эти операции CRUD, вы можете эффективно управлять своими данными в таблице DynamoDB с помощью Spring Boot.
Не забывайте учитывать предоставленную пропускную способность вашей таблицы при выполнении этих операций, так как слишком много запросов на чтение или запись могут привести к регулированию.
В дополнение к этим основным операциям CRUD DynamoDB также предлагает более продвинутые функции, такие как вторичные индексы, транзакции и потоки. Вы можете узнать больше об этих функциях в документации DynamoDB.
Используя вместе DynamoDB и Spring Boot, вы можете создавать масштабируемые и надежные приложения, которые могут использовать преимущества мощных функций DynamoDB.