פעולת DynamoDB UpdateItem

P Wlt Dynamodb Updateitem



פעולת UpdateItem ב-AWS DynamoDB עוזרת למנהלי מסדי נתונים לשנות או לערוך טבלת DynamoDB קיימת. זה מאפשר לך לעדכן תכונות אחת או יותר של פריט קיים כבר או להוסיף פריט חדש לפריט חדש לטבלה קיימת במסד הנתונים שלך. יש לציין, אתה יכול גם להשתמש בפעולה זו כדי להחליף צמד ערך תכונות קיים.

מאמר זה דן בכל מה שקשור לפעולת UpdateItem. תלמדו על תקציר הפעולה, הפרמטרים וכיצד להשתמש בה.

תקציר ופרמטרים של DynamoDB

כמו כל פעולת מסד נתונים אחרת, פעולת DynamoDB UpdateItem כוללת תקציר ואת הפרמטרים הרלוונטיים. תקציר Python עבור פעולה זו הוא כפי שמוצג להלן. זה עשוי להשתנות מעט בהתאם לשפת התכנות שלך, אבל רוב הפרמטרים צריכים להישאר זהים.







UpdateItem (
שם שולחן = 'חוּט' ,
מַפְתֵחַ = {
'חוּט' : { 'S' : 'חוּט' , 'N' : 'חוּט' , 'ב' 'בתים' , 'SS' : [ 'חוּט' ,... ] , 'NS' : [ 'חוּט' ,... ] , 'BS' : [ ב 'בתים' ,... ] }
} ,
UpdateExpression = 'חוּט' ,
ConditionExpression = 'חוּט' ,
ExpressionAttributeValues = {
':חוּט' : { 'S' : 'חוּט' , 'N' : 'חוּט' , 'ב' 'בתים' , 'SS' : [ 'חוּט' ,... ] , 'NS' : [ 'חוּט' ,... ] , 'BS' : [ ב 'בתים' ,... ] } ,
...
} ,
ReturnValues = 'אף אחד' ,
ReturnConsumedCapacity = 'אינדקסים' ,
ReturnItemCollectionMetrics = 'גודל'
)

כדי להשתמש בפעולת UpdateItem ב- Amazon DynamoDB, תצטרך להשתמש בתחביר שלמעלה ולספק מספר פרמטרים המציינים את הפריט שבכוונתך לעדכן. תצטרך גם לציין את ערכי התכונה החדשים עבור ההגדרה החדשה.



יש לציין, פקודת DynamoDB UpdateItem טיפוסית צריכה להכיל את הפרמטרים הבאים:



  • שם שולחן : השם של טבלת DynamoDB המכילה את הפריט שברצונך לעדכן.
  • מַפְתֵחַ : המפתח הראשי (מפתח מחיצה/מפתח מיון) של הפריט שאתה צריך לעדכן. ודא שאתה מציין זאת כמפה של צמדי שם/ערך של תכונה.
  • UpdateExpression : ביטוי שמגדיר את התכונות שעליכם לעדכן ואת הערכים החדשים עבור תכונות אלו.

בנוסף, ייתכן שיהיה עליך לספק את הפרמטרים האופציונליים להלן. הפרמטרים האלה הם אופציונליים ותלויים בסביבה שלך:





  • ConditionExpression : מחרוזת אופציונלית זו מציינת תנאי לפעולת updateitem. העדכון יהיה מוצלח רק אם התנאי מוערך כ-True.
  • ExpressionAttributeNames : זוהי מפה של שמות מאפיינים של מציין מיקום המשמשים לעתים קרובות ב-UpdateExpression לשמות המאפיינים בפועל כפי שנעשה בהם שימוש בטבלה. פרמטר זה נחוץ רק אם אחד משמות המאפיינים ב-UpdateExpression כולל מילים שמורות או/ו תווים מיוחדים.
  • ExpressionAttributeValues : זוהי מפה של ערכי מציין מיקום המשמשים ב-UpdateExpression לערכים בפועל שבהם אתה מתכוון להשתמש בפעולת העדכון. זה שימושי אם אחד מערכי התכונה ב-UpdateExpression הוא ביטויים או משתנים.
  • ReturnValues : זה מציין איזה מידע תצטרך שיוחזר עם הצלחת הפעולה. ערך ברירת המחדל הוא NONE, כלומר לא תמצא מידע על התגובה.
  • ReturnConsumedCapacity : זה מציין את כמות הקיבולת שנצרכה על ידי פעולת העדכון. ערך ברירת המחדל שלו הוא NONE, מה שמרמז שלא תמצא מידע זה בערך ההחזרה.
  • ReturnItemCollectionMetrics : זה מציין את מספר אוספי הפריטים המושפעים מפעולת העדכון של DynamoDb. ערך ברירת המחדל הוא NONE, מה שאומר שהמידע הזה לא מוחזר.

בעת שימוש ב-AWS CLI, תחביר DynamoDB UpdateItem צריך להיראות כך:

aws dynamodb update-item \
--שם שולחן שם שולחן \
--מַפְתֵחַ '{ 'KEY_NAME': {'S': 'KEY_VALUE' } }' \
--עדכון-ביטוי 'SET ATTRIBUTE_NAME = :val1, ATTRIBUTE_NAME2 = :val2' \
--expression-attribute-values '{ ':val1': {'S': 'ATTRIBUTE_VALUE' }, ':val2': {'N': 'ATTRIBUTE_VALUE' } }' \
--ערכי החזרה UPDATED_OLD

דוגמאות לשימוש בפעולת ה-DynamoDB UpdateItem

פעולת DynamoDB UpdateItem קלה לשימוש. ותוך כדי כך, ודא שאתה כולל את תכונת המפתח הראשי ואת ה-UpdateExpression.



להלן דוגמה כיצד ניתן להשתמש בפעולת UpdateItem כדי לשנות טבלת DynamoDB:

aws dynamodb update-item \
--שם שולחן מוזיקה \
--מַפְתֵחַ '{ 'אמן': {'S': 'Sauti Sol'}, 'SongTitle': {'S': 'Feel My Love'}}' \
--עדכון-ביטוי 'SET AlbumTitle = :newval' \
--expression-attribute-values '{':newval':{'S':'כותרת האלבום מעודכנת'}}' \
--ערכי החזרה הכל חדש

התוצאות של הפעולה לעיל צריכות להיראות כך:

סיכום

תפעול DynamoDB UpdateItem קל לשימוש. אתה יכול להשתמש בו כדי לשנות פריטים בתוך טבלאות קיימות או להוסיף פריטים לטבלה שכבר קיימת. שים לב שעליך לציין את המפתח הראשי ואת ה-UpdateExpression כדי שהפעולה תצליח. כמו כן, שים לב לסביבה שלך. לבסוף, פעולת ה-DynamoDB UpdateItem, כמו שאר הפעולות, עובדת עם SDK של AWS ו-AWS CLI.