DynamoDB, полностью управляемый сервис баз данных NoSQL от Amazon Web Services (AWS), предоставляет две основные операции для изменения данных: PutItem и UpdateItem. Хотя обе операции служат для обновления данных в таблице DynamoDB, они различаются по своим функциям и использованию. В этой статье мы рассмотрим различия между операциями PutItem и UpdateItem в DynamoDB, а также приведем примеры кода, иллюстрирующие их использование.
- DynamoDB PutItem:
Операция PutItem используется для вставки нового элемента или перезаписи существующего элемента в таблице DynamoDB. Вот пример использования PutItem в Python:
import boto3
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('your-table-name')
item = {
'id': '123',
'name': 'John Doe',
'age': 25
}
response = table.put_item(Item=item)
print(response)
- DynamoDB UpdateItem:
Операция UpdateItem используется для изменения существующих элементов в таблице DynamoDB без перезаписи всего элемента. Он позволяет обновлять определенные атрибуты или добавлять новые атрибуты к существующему элементу. Вот пример использования UpdateItem в Python:
import boto3
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('your-table-name')
response = table.update_item(
Key={
'id': '123'
},
UpdateExpression='SET age = :new_age',
ExpressionAttributeValues={
':new_age': 26
}
)
print(response)
Сравнение PutItem и UpdateItem:
- PutItem в основном используется для вставки новых элементов или перезаписи существующих элементов, а UpdateItem используется для изменения определенных атрибутов или добавления новых атрибутов к существующим элементам.
- PutItem требует предоставления всего элемента, а UpdateItem требует обновления только ключевых атрибутов и конкретных атрибутов.
- PutItem требует более высоких затрат на запись, поскольку заменяет весь элемент, а UpdateItem более экономичен, поскольку изменяет только указанные атрибуты.
- UpdateItem поддерживает расширенные выражения обновления, позволяя выполнять сложные модификации, такие как увеличение числового атрибута или добавление элементов в атрибут списка.
Операции DynamoDB PutItem и UpdateItem служат разным целям, когда дело доходит до изменения данных в таблице DynamoDB. PutItem подходит для вставки новых элементов или перезаписи существующих элементов, а UpdateItem идеально подходит для изменения определенных атрибутов или добавления новых атрибутов к существующим элементам. Понимание различий между этими операциями поможет вам сделать правильный выбор, исходя из требований вашего приложения.