Den här artikeln diskuterar allt om UpdateItem-operationen. Du kommer att lära dig om operationens synopsis, parametrar och hur du använder den.
Synopsis och parametrar för DynamoDB
Liksom alla andra databasoperationer har DynamoDB UpdateItem-operationen en synopsis och relevanta parametrar. Python-översikten för denna operation är som visas nedan. Det kan variera något beroende på ditt programmeringsspråk men de flesta parametrar bör förbli desamma.
UpdateItem (
Tabellnamn = 'sträng' ,
Nyckel = {
'sträng' : { 'S' : 'sträng' , 'N' : 'sträng' , 'B' :b 'bytes' , 'SS' : [ 'sträng' , ... ] , 'NS' : [ 'sträng' , ... ] , 'BS' : [ b 'bytes' , ... ] }
} ,
UpdateExpression = 'sträng' ,
ConditionExpression = 'sträng' ,
ExpressionAttributeValues = {
':sträng' : { 'S' : 'sträng' , 'N' : 'sträng' , 'B' :b 'bytes' , 'SS' : [ 'sträng' , ... ] , 'NS' : [ 'sträng' , ... ] , 'BS' : [ b 'bytes' , ... ] } ,
...
} ,
ReturnValues = 'INGEN' ,
ReturnConsumedCapacity = 'INDEX' ,
ReturnItemCollectionMetrics = 'STORLEK'
)
För att använda UpdateItem-operationen i Amazon DynamoDB måste du använda syntaxen ovan och ange flera parametrar som anger objektet du tänker uppdatera. Du måste också ange de nya attributvärdena för den nya inställningen.
Särskilt bör ett typiskt DynamoDB UpdateItem-kommando innehålla följande parametrar:
- Tabellnamn : Namnet på DynamoDB-tabellen som innehåller objektet som du vill uppdatera.
- Nyckel : Primärnyckeln (partitionsnyckel/sorteringsnyckel) för objektet du behöver uppdateras. Se till att du anger detta som en karta över attributnamn/värdepar.
- UpdateExpression : Ett uttryck som definierar de attribut du ska uppdatera och de nya värdena för dessa attribut.
Dessutom kan du behöva ange de valfria parametrarna nedan. Dessa parametrar är valfria och beror på din miljö:
- ConditionExpression : Den här valfria strängen anger ett villkor för uppdateringsobjektet. Uppdateringen kommer bara att lyckas om villkoret utvärderas till True.
- ExpressionAttributeNames : Det är en karta över platshållarattributnamn som ofta används i UpdateExpression till de faktiska attributnamnen som används i tabellen. Denna parameter är endast nödvändig om något av attributnamnen i UpdateExpression innehåller reserverade ord eller/och specialtecken.
- ExpressionAttributeValues : Detta är en karta över platshållarvärden som används i UpdateExpression till de faktiska värden du tänker använda i uppdateringsoperationen. Det är praktiskt om något av attributvärdena i UpdateExpression är uttryck eller variabler.
- ReturnValues : Detta anger vilken information du behöver returneras när operationen lyckats. Standardvärdet är NONE, vilket betyder att du inte hittar någon information om svaret.
- ReturnConsumedCapacity : Detta anger hur mycket kapacitet som förbrukades av uppdateringsoperationen. Dess standardvärde är NONE, vilket innebär att du inte hittar denna information i returvärdet.
- ReturnItemCollectionMetrics : Detta anger antalet objektsamlingar som påverkas av DynamoDb-uppdateringsobjektet. Standardvärdet är NONE, vilket innebär att denna information inte returneras.
När du använder AWS CLI bör syntaxen för DynamoDB UpdateItem se ut så här:
aws dynamodb uppdateringsobjekt \--tabellnamn TABLE_NAME \
--nyckel '{ 'KEY_NAME': {'S': 'KEY_VALUE' } }' \
--uppdateringsuttryck 'SET ATTRIBUTE_NAME = :val1, ATTRIBUTE_NAME2 = :val2' \
--uttryck-attribut-värden '{ ':val1': {'S': 'ATTRIBUTE_VALUE' }, ':val2': {'N': 'ATTRIBUTE_VALUE' } }' \
--avkastningsvärden UPPDATERAD_GAMMEL
Exempel på hur du använder DynamoDB UpdateItem Operation
Funktionen DynamoDB UpdateItem är enkel att använda. Och medan du gör det, se till att du inkluderar det primära nyckelattributet och UpdateExpression.
Nedan är ett exempel på hur du kan använda UpdateItem-operationen för att ändra en DynamoDB-tabell:
aws dynamodb uppdateringsobjekt \--tabellnamn Musik \
--nyckel '{ 'Artist': {'S': 'Sauti Sol'}, 'SongTitle': {'S': 'Feel My Love'}}' \
--uppdateringsuttryck 'SET AlbumTitle = :newval' \
--uttryck-attribut-värden '{':newval':{'S':'Uppdaterad albumtitel'}}' \
--avkastningsvärden ALLT NYTT
Resultaten för ovanstående operation bör se ut så här:
Slutsats
DynamoDB UpdateItem Operation är lätt att använda. Du kan använda den för att ändra objekt i befintliga tabeller eller lägga till objekt i en redan befintlig tabell. Observera att du måste ange primärnyckeln och UpdateExpression för att operationen ska lyckas. Var också uppmärksam på din miljö. Slutligen fungerar DynamoDB UpdateItem Operation, liksom resten av operationerna, med AWS SDK:er och AWS CLI.