Mga Halimbawa ng Query sa DynamoDB

Mga Halimbawa Ng Query Sa Dynamodb



Ang database ay isang koleksyon ng data—ang DynamoDB ay walang pagbubukod. Ang mga database ay naglalaman ng maraming data na maaaring mahirap makuha nang walang paunang natukoy na mekanismo. Dito gumaganap ng mahalagang papel ang query command.

Tulad ng anumang sistema ng pamamahala ng database, nag-aalok ang DynamoDB ng iba't ibang paraan ng pag-query kung saan maaari kang makipag-ugnayan sa system upang ma-access at mamanipula ang iyong data. Ang pag-query sa DynamoDB ay isang napakalakas na tool na nagbibigay-daan sa iyong kunin ang isang item o isang pangkat ng mga item na nauugnay sa query command.

Binabalangkas ng artikulong ito ang mga pangunahing halimbawa ng DynamoDB Query Operations.







Mga Karaniwang Halimbawa ng Query sa DynamoDB

Ang default na gawi para sa pagpapatakbo ng query sa DynamoDB ay ibalik ang lahat ng item na nauugnay sa mga item ng query. Kapansin-pansin, ang query command sa DynamoDB ay magagamit sa mga talahanayan o pangalawang index.



Anuman ang sitwasyon, palaging tiyaking tinukoy mo ang kundisyon ng pagkakapantay-pantay para sa halaga ng iyong partition key. Muli, maaaring kailanganin mong magbigay ng ibang kundisyon para sa sort key kung sakaling gumamit ka ng isa sa command.



Kasama rin sa iba pang mga parameter na makakaharap mo kapag nag-query sa DynamoDB ang KeyConditionExpression at FilterExpression. Tinutukoy ng KeyConditionExpression ang mga pangunahing halaga na nilayon mong i-query. Sa kabilang banda, inaalis ng FilterExpression ang mga item mula sa mga resulta ng query bago ka makakuha ng tugon. Gagamitin mo ang ExpressionAttributeValues ​​bilang mga placeholder para sa mga nabanggit na parameter ng expression.





Kasama sa mga Halimbawa ng Query sa DynamoDB ang:

Paghahanap ng Isang Item mula sa isang Talahanayan Batay sa Mga Pangunahing Susi

Maaari mong gamitin ang Query utility sa DynmoDB upang maghanap ng isang item sa pamamagitan ng pag-asa sa kumbinasyon ng partition key ng item at pag-uri-uriin ang mga value ng key. Ang syntax para sa naturang operasyon ay ang mga sumusunod:



aws dynamodb query \

--table-name MyTableName \

--key-condition-expression 'PartitionKey = :pk AT SortKey = :sk' \

--expression-attribute-values '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

Ang utility ng query sa itaas ay naglalayong makuha ang isang item na may partition key value na a1234b at isang sort key value na odef456b mula sa MyTableName table. Halimbawa, maaari naming gamitin ang utility sa itaas upang maghanap ng item sa aming talahanayan ng 'Mga Order'. Ang halaga ng partition key ng item ay maaaring wr546gg kumakatawan sa Customer_ID, habang ang halaga ng sort key nito ay maaaring 24536433 kumakatawan sa numero ng order.

Ang resulta ay maaaring ang mga sumusunod:

Ibinabalik ng resulta sa itaas ang Holiday Books bilang ang tanging item na may partition key value na wr546gg at sort key value na 24536433. Dinadala rin nito sa iyo ang lahat ng iba pang karagdagang attribute na nauugnay sa item. Sa aming ilustrasyon, ibinabalik nito ang numero ng invoice at ang halagang binayaran.

Kapansin-pansin, ibabalik ng query command ang isang blangkong listahan kung walang item na tumutugma sa tinukoy na mga pangunahing halaga ng key.

Kunin Lahat ng Item Mula sa DynamoDB Table na Tumutugma sa Mga Tukoy na Halaga ng Attribute

Gumamit ng filter na expression upang makuha ang lahat ng mga item na may katulad na value ng attribute sa isang partikular na talahanayan ng DynamoDB.

Ang utos para sa pagpapatakbo ng query na ito ay tulad ng ipinapakita sa ibaba.

aws dynamodb query \

--table-name MyTableName \

--filter-expression 'OtherAttribute1 = :val' \

--expression-attribute-values '{':val':{'S':'value1'}}'

Halimbawa, maaari naming gamitin ang command sa query sa itaas upang kunin ang mga kanta na may higit pa na napupunta nang higit sa 5 minuto sa aming talahanayan ng Musika. Para makamit ito, itatakda namin ang aming OtherAttribute1 value sa 5.00 at MyTableName sa Music.

Ang resulta ay maaaring tulad ng ipinapakita sa ibaba:

Kinakailangang putulin ang listahan para sa kaiklian. Ngunit mula sa mga resulta, nakuha ng aming query command ang 11 item na may filterexpression value na 5.00 mula sa aming DynamoDB Music table.

Kinukuha ang lahat ng Item na May Partikular na Saklaw ng Mga Halaga ng Katangian

Ang utos sa ibaba ay madaling gamitin kapag kumukuha ng mga item sa loob ng isang partikular na talahanayan:

aws dynamodb query \

--table-name \

--key-condition-expression 'attribute_name SA PAGITAN :val1 AT :val2' \

--expression-attribute-values '{':val1':{'N':''},':val2':{'N':''}}'

Siyempre, kakailanganin mong palitan ang lahat ng mga katangian ng iyong na-customize na mga kredensyal tulad ng dapat mo sa anumang iba pang command line. Halimbawa, gagamitin namin ang aming Employee table na may isang range key attribute na bininyagan ng 'edad.' Layunin naming makuha ang mga employer na nasa pagitan ng 30 at 42.

Ang aming bagong command line ay ang mga sumusunod:

aws dynamodb query \

--table-name Mga Gumagamit \

--key-condition-expression 'edad BETWEEN :val1 AT :val2' \

--expression-attribute-values '{':val1':{'N':'30'},':val2':{'N':'42'}}'

Ang pagpapatakbo ng utility sa itaas ay magdadala ng tugon na katulad ng isa sa figure sa ibaba;

Ipinapakita ng paglalarawan sa itaas na ang query ay nagbalik ng 6 na item, na nagsasaad ng attribute value para sa bawat query. Ang ScannedCount ay ang bilang ng mga item na na-scan sa talahanayan habang ang CapacityUnits ay ang dami ng mga unit na natupok sa panahon ng operasyon.

Konklusyon

Dahil ang DynamoDB ay isang database ng NoSQL, ang operasyon ng query nito ay hindi kumikilos tulad ng sa iyong ordinaryong AQL database. Ngunit sa sandaling gawin mo ito, malalaman mo na ang operasyon ay medyo malakas at gagawing madali ang iyong pakikipag-ugnayan sa database.