Du kan enten lagre en tidsstempel som en talltype eller en strengdatatype. Tidsstempler lagret som en talltatatype har en UNIX tidsstempelverdi (sekunder eller millisekunder), mens de som er lagret som strengdatatyper har ISO 8601 strengformater.
Ideelt sett krever det å jobbe med tidsstempler også uslåelig presisjon. Jo mer presise tidsstempene er, jo lettere skal de spørre. For eksempel kan du spesifisere skapelsesåret for hvert element på bordet ditt eller bli mer spesifikt ved å oppgi minutt, andre eller millisekunder. Jo mer spesifikke tidsstempler er, jo lettere vil de være å sortere, spørre eller filter.
Lagre tidsstempler i dynamoDB ved å bruke talltypen
Du kan bruke talltypen til å lagre en tidsstempel. I denne illustrasjonen vil nummertypen vår typ. Et BOTO3 (AWS SDK for Python) eksempel på hvordan man lagrer en tidsstempel i DynamoDB er som følger:
Importer BOTO3Datatypen for ovennevnte tidsstempel lagrer nummeret på sekunder siden midnatt 1. januar 1970, som er epoken. Selvfølgelig vil den også bruke UTC -tidssonen.
Hente en tidsstempel i dynamoDB
Å hente en tidsstempel i DynamoDB er ikke et komplekst foretak. Som alle andre gjenvinningsoperasjoner i DynamoDB, vil du bruke Get_Item -kommandoen på klientavslutningen for å hente tidsstempler. Et eksempel -kommando vises nedenfor:
Importer BOTO3Konverter en tidsstempel til et DateTime -objekt
Du kan videre konvertere tidsstempel til et DateTime -objekt ved hjelp av DateTime -modulen. Se illustrasjonen nedenfor:
Importer DateTimeLagre en tidsstempel med en oppdatert_at -attributt
Interessant nok kan du også lagre en tidsstempel i dynamoDB med en oppdatert_at -attributt. I dette eksemplet vil vi sette vår oppdaterte_at-attributt til 2023-01-01.
Importer BOTO3Eksemplet ovenfor vil lagre et element med en primær nøkkel på 1234 og to attributter: oppdatert_at og verdi. De oppdatert_at Attributt vil bli satt til tidsstempel 2023-01-01, og verdi Attributt vil bli satt til strengen "godt nytt år.”
Spørringsdynamodb mellom to tidsstempler
Du kan spørre elementer fra en dynamodb -tabell med en oppdatert_at attributt mellom to tidsstempler. For å oppnå dette, bruk spørsmål drift og spesifisere KeyConditionExpression parameter.
Her er et eksempel på hvordan du kan spørre etter elementer med en oppdatert_at attributt mellom 2022-01-01 og 2022-12-31:
Importer BOTO3Ovennevnte kode vil returnere alle elementene i tabellen som har en oppdatert_at attributt mellom 2022-01-01 og 2022-12-31, inklusive. De KeyConditionExpression Parameter spesifiserer tilstanden som må oppfylles for at et element skal returneres, og ExpressionAttributeValues Parameter angir verdiene for attributtet plassholdere i KeyConditionExpression.
Du kan også bruke Skannendexforward parameter for å spesifisere rekkefølgen gjenstandene skal returneres. Som standard, den Skannendexforward Parameteren er satt til ekte, Noe som betyr at varene vil bli returnert i stigende rekkefølge. Hvis du setter den til Falsk, Varene vil bli returnert i synkende rekkefølge.
Konklusjon
Denne artikkelen diskuterte det grunnleggende om lagring av tidsstempler i DynamoDB. Du kan nå lagre tidsstempler riktig i DynamoDB. Vi fremhevet også hvordan du kunne jobbe med tidsstempler. Som hver DynamoDB -operasjon, kan du bruke tidsstempler gjennom din foretrukne AWS SDK eller AWS CLI.