Примери ДинамоДБ упита

Primeri Dinamodb Upita



База података је збирка података — ДинамоДБ није изузетак. Базе података садрже много података које може бити тешко повратити без унапред дефинисаног механизма. Овде команда упита игра важну улогу.

Као и сваки систем за управљање базом података, ДинамоДБ нуди различите методе упита путем којих можете да комуницирате са системом да бисте приступили и манипулисали вашим подацима. Упити у ДинамоДБ-у је веома моћан алат који вам омогућава да преузмете ставку или групу ставки повезаних са командом упита.

Овај чланак описује главне примере ДинамоДБ операција упита.







Уобичајени примери ДинамоДБ упита

Подразумевано понашање за операцију упита у ДинамоДБ-у је враћање свих ставки повезаних са ставкама упита. Занимљиво је да је команда упита у ДинамоДБ-у употребљива са табелама или секундарним индексима.



У сваком случају, увек се уверите да сте навели услов једнакости за вредност вашег партиционог кључа. Опет, можда ћете морати да наведете другачији услов за кључ сортирања у случају да га користите у команди.



Остали параметри на које ћете наићи када постављате упите за ДинамоДБ такође укључују КеиЦондитионЕкпрессион и ФилтерЕкпрессион. КеиЦондитионЕкпрессион специфицира вредности кључа које намеравате да упитате. С друге стране, ФилтерЕкпрессион уклања ставке из резултата упита пре него што добијете одговор. Користићете ЕкпрессионАттрибутеВалуес као чуваре места за поменуте параметре израза.





Примери ДинамоДБ упита укључују:

Проналажење једне ставке из табеле на основу примарних кључева

Можете да користите услужни програм Куери у ДинмоДБ да бисте пронашли једну ставку ослањајући се на комбинацију кључа партиције ставке и вредности кључа за сортирање. Синтакса за такву операцију је следећа:



авс динамодб упит \

--табле-наме Име моје табеле \

--израз-услов-кључ 'ПартитионКеи = :пк И СортКеи = :ск' \

--израз-атрибут-вредности '{':пк':{'С':'а123б'},':ск':{'С':'деф456б'}}'

Горњи услужни програм за упит има за циљ да преузме ставку са вредношћу партиционог кључа а1234б и вредности кључа за сортирање одеф456б из табеле МиТаблеНаме. На пример, можемо користити горњи услужни програм да пронађемо ставку у нашој табели „Поруџбине“. Вредност кључа партиције ставке може бити вр546гг који представља Цустомер_ИД, док његова вредност кључа за сортирање може бити 24536433 који представља број налога.

Резултат може бити следећи:

Горњи резултат враћа празничне књиге као једину ставку која има вредност кључа партиције вр546гг и вредност кључа сортирања 24536433. Такође вам доноси све друге додатне атрибуте повезане са ставком. На нашој илустрацији, враћа број фактуре и плаћен износ.

Посебно, команда упита ће вратити празну листу ако не постоји ставка која одговара наведеним вредностима примарног кључа.

Повратити Све ставке из ДинамоДБ табеле одговарају специфичним вредностима атрибута

Користите израз филтера да бисте преузели све ставке које имају сличну вредност атрибута у одређеној ДинамоДБ табели.

Команда за ову операцију упита је као што је приказано у наставку.

авс динамодб упит \

--табле-наме Име моје табеле \

--филтер-израз 'ОтхерАттрибуте1 = :вал' \

--израз-атрибут-вредности '{':вал':{'С':'валуе1'}}'

На пример, можемо да користимо горњу команду за упит да бисмо преузели песме са више од 5 минута у нашој табели за музику. Да бисмо то постигли, поставићемо нашу вредност ОтхерАттрибуте1 на 5.00 и МиТаблеНаме на Мусиц.

Резултат може бити као што је приказано у наставку:

Неопходно је скратити листу ради краткоће. Али из резултата, наша команда упита је преузела 11 ставки са вредношћу израза филтера од 5,00 из наше табеле ДинамоДБ Мусиц.

Преузимање свих ставки са одређеним опсегом вредности атрибута

Следећа команда је згодна када преузимате ставке унутар одређене табеле:

авс динамодб упит \

--табле-наме <име табеле> \

--израз-услов-кључ 'име_атрибута ИЗМЕЂУ :вал1 И :вал2' \

--израз-атрибут-вредности '{':вал1':{'Н':'<валуе1>'},':вал2':{'Н':'<валуе2>'}}'

Наравно, мораћете да замените све атрибуте својим прилагођеним акредитивима као што бисте требали са било којом другом командном линијом. На пример, користићемо нашу табелу Емплоиее са атрибутом кључа опсега названог „старост“. Циљ нам је да повратимо послодавце од 30 до 42 године.

Наша нова командна линија ће бити следећа:

авс динамодб упит \

--табле-наме Корисници \

--израз-услов-кључ „старост ИЗМЕЂУ :вал1 И :вал2“ \

--израз-атрибут-вредности '{':вал1':{'Н':'30'},':вал2':{'Н':'42'}}'

Покретање горњег услужног програма ће донети одговор сличан оном на слици испод;

Горња илустрација показује да је упит вратио 6 ставки, што указује на вредност атрибута за сваки упит. СцаннедЦоунт је број скенираних ставки у табели док је ЦапацитиУнитс количина јединица потрошене током операције.

Закључак

Пошто је ДинамоДБ НоСКЛ база података, њена операција упита се не понаша као ваша обична АКЛ база података. Али када то урадите, открићете да је операција прилично моћна и да ће вашу интеракцију са базом података учинити лакшом.