dynamodb 조건부 업데이트 항목 (클라이언트)
Dec 09 2020
이 업데이트 항목 샘플을 참조하고 있습니다. https://stackoverflow.com/a/62030403/13967222.
for key, val in body.items():
update_expression.append(f" {key} = :{key},")
update_values[f":{key}"] = val
return "".join(update_expression)[:-1], update_values
나는 동일하지만 dynamodb 클라이언트를 사용하려고 노력하고 있습니다.
dynamodb 클라이언트를 사용하여 값을 사용할 수 있는지 확인하는 방법이 있습니까?
답변
1 FireNero Dec 09 2020 at 17:58
다음 ConditionExpression
과 같은 요청에서 매개 변수를 전달하는 키 속성이 이미 존재하는지 확인할 수 있습니다 (참조하는 답변의 응답을 기반으로 함).
table.update_item(
Key={'uuid':str(uuid)},
UpdateExpression=a,
ExpressionAttributeValues=dict(v),
ConditionExpression="attribute_not_exists(uuid)"
)
를 ConditionExpression
반환 할 때만 쓰기가 실행됩니다 True
. 지정된 속성이 존재하지 않을 때 attribute_not_exists
반환되는 DynamoDb 함수입니다 True
. attribute_exists
반대 결과를 얻는 기능 도 있습니다. 공식 문서의 DDB 조건 함수에 대한 추가 정보
또한 여기 에서 문서에서 조건부 쓰기의 Python 예제를 확인할 수 있습니다.