Você pode armazenar um registro de data e hora como um tipo de dados numérico ou um tipo de dados de string. Timestamps armazenados como um tipo de dados numéricos têm um valor de timestamp UNIX (segundos ou milissegundos), enquanto aqueles armazenados como tipos de dados de string apresentam os formatos ISO 8601 String.
Idealmente, trabalhar com registros de data e hora também requer precisão imbatível. Quanto mais precisos seus timestamps são, mais fáceis eles são de consultar. Por exemplo, você pode especificar o ano de criação para cada item da sua mesa ou ficar mais específico afirmando o minuto, o segundo ou o milissegundo. Quanto mais específicos seus timestamps são, mais fáceis serão classificar, consultar ou filtrar.
Armazene o registro de data e hora no DynamoDB usando o tipo de dados numéricos
Você pode usar o tipo de dados numérico para armazenar um registro de data e hora. Nesta ilustração, nosso tipo de dados numérico assumirá a forma de um atributo de data. Um exemplo de BOTO3 (AWS SDK for Python) de como armazenar um registro de data e hora no DynamoDB é o seguinte:
Importar BOTO3O tipo de dados para o timestamp acima armazena o número em segundos desde a meia -noite de 1º de janeiro de 1970, que é a época. Claro, ele também usará o fuso horário da UTC.
Recuperar um registro de data e hora no DynamoDB
Recuperar um registro de data e hora no DynamoDB não é um empreendimento complexo. Como qualquer outra operação de recuperação no DynamoDB, você usará o comando get_item no final do cliente para recuperar o registro de data e hora. Um comando de exemplo é mostrado abaixo:
Importar BOTO3Converta um registro de data e hora em um objeto DateTime
Você pode converter ainda mais seu timestamp em um objeto DateTime usando o módulo DateTime. Veja a ilustração abaixo:
importar datetimeArmazene um registro de data e hora com um atributo atualizado_at
Curiosamente, você também pode armazenar um registro de data e hora no DynamoDB com um atributo atualizado_at. Neste exemplo, definiremos nosso atributo atualizado_at para 2023-01-01.
Importar BOTO3O exemplo acima armazenará um item com uma chave primária de 1234 e dois atributos: atualizado_at e valor. O atualizado_at atributo será definido para o registro de data e hora 2023-01-01, e a valor o atributo será definido para a string "feliz Ano Novo.”
DynamoDB de consulta entre dois registros de data e hora
Você pode consultar itens de uma tabela de dynamoDB com um atualizado_at atributo entre dois registros de data e hora. Para conseguir isso, use o consulta operação e especificar o KeyConditionExpression parâmetro.
Aqui está um exemplo de como você pode consultar itens com um atualizado_at atributo entre 2022-01-01 e 2022-12-31:
Importar BOTO3O código acima retornará todos os itens da tabela que têm um atualizado_at atributo entre 2022-01-01 e 2022-12-31, inclusive. O KeyConditionExpression parâmetro especifica a condição que deve ser atendida para um item a ser retornado e o ExpressionAttributeValues parâmetros define os valores para os espaços reservados para atributos no KeyConditionExpression.
Você também pode usar o Scanindexforward parâmetro para especificar a ordem em que os itens devem ser devolvidos. Por padrão, o Scanindexforward O parâmetro está definido como Verdadeiro, o que significa que os itens serão devolvidos em ordem crescente. Se você defini -lo como Falso, Os itens serão devolvidos em ordem decrescente.
Conclusão
Este artigo discutiu o básico do armazenamento de data e hora no DynamoDB. Agora você pode armazenar o registro de data e hora corretamente no DynamoDB. Também destacamos como você poderia trabalhar com registros de data e hora. Como todas as operações do DynamoDB, você pode usar timestamps através do seu AWS SDK preferido ou da AWS CLI.