È possibile archiviare un timestamp come tipo di dati o un tipo di dati stringa. I timestamp memorizzati come un numero di dati numerici hanno un valore Timestamp UNIX (secondi o millisecondi), mentre quelli memorizzati come tipi di dati di stringa sono dotati dei formati di stringa ISO 8601.
Idealmente, lavorare con i timestamp richiede anche una precisione imbattibile. Più sono precisi i tuoi timestamp, più facile sono query. Ad esempio, è possibile specificare l'anno di creazione per ogni elemento sul tavolo o ottenere più specifici affermando il minuto, il secondo o il millisecondo. Più specifici sono i tuoi timestamp, più facile saranno ordinare, interrogare o filtrare.
Memorizza i timestamp in DynamoDB utilizzando il tipo di dati numerici
È possibile utilizzare il tipo di dati numerici per archiviare un timestamp. In questa illustrazione, il nostro tipo di dati numerico assumerà la forma di un attributo della data. Un esempio Boto3 (AWS SDK per Python) di come archiviare un timestamp in DynamoDB è il seguente:
Importa Boto3Il tipo di dati per il timestamp sopra memorizza il numero in pochi secondi dalla mezzanotte del 1 gennaio 1970, che è l'epoca. Certo, utilizzerà anche il fuso orario UTC.
Recupera un timestamp in DynamoDB
Il recupero di un timestamp in DynamoDB non è un'impresa complessa. Come ogni altra operazione di recupero in DynamoDB, utilizzerai il comando get_item sulla fine del client per recuperare i timestamp. Un comando di esempio è mostrato di seguito:
Importa Boto3Converti un timestamp in un oggetto datetime
È possibile convertire ulteriormente il tuo timestamp in un oggetto DateTime utilizzando il modulo DateTime. Vedi l'illustrazione qui sotto:
Importa DateTimeMemorizza un timestamp con un attributo aggiornato_at
È interessante notare che puoi anche archiviare un timestamp in DynamoDB con un attributo aggiornato_at. In questo esempio, imposteremo il nostro attributo aggiornato_at su 2023-01-01.
Importa Boto3L'esempio sopra archiverà un elemento con una chiave primaria di 1234 e due attributi: aggiornato_at E valore. IL aggiornato_at L'attributo verrà impostato sul timestamp 2023-01-01, e il valore L'attributo verrà impostato sulla stringa "Buon Anno."
Query DynamoDB tra due timestamp
È possibile interrogare elementi da una tabella Dynamodb con un file aggiornato_at attributo tra due timestamp. Per raggiungere questo obiettivo, usa il Domanda operazione e specificare il file KeyconditionExpression parametro.
Ecco un esempio di come è possibile interrogare per gli articoli con un aggiornato_at attributo tra 2022-01-01 E 2022-12-31:
Importa Boto3Il codice sopra restituirà tutti gli elementi nella tabella che hanno un aggiornato_at attributo tra 2022-01-01 E 2022-12-31, inclusivo. IL KeyconditionExpression Il parametro specifica la condizione che deve essere soddisfatta per la restituzione di un elemento e il Espressionittributevalues Il parametro imposta i valori per i segnapunti di attributo in KeyconditionExpression.
Puoi anche usare il Scanindexforward parametro per specificare l'ordine in cui gli elementi devono essere restituiti. Per impostazione predefinita, il Scanindexforward Il parametro è impostato su VERO, Ciò significa che gli elementi verranno restituiti in ordine crescente. Se lo imposti su Falso, Gli elementi verranno restituiti in ordine decrescente.
Conclusione
Questo articolo ha discusso delle basi dell'archiviazione dei timestamp in DynamoDB. Ora puoi archiviare i timestamp correttamente in DynamoDB. Abbiamo anche messo in evidenza come potresti lavorare con i timestamp. Come ogni operazione DynamoDB, puoi utilizzare i timestamp tramite il tuo SDK AWS preferito o AWS CLI.