DynamoDB 中的时间戳应使用什么数据类型?

2024-05-12

我是 DynamoDB 新手。我希望创建一个使用 DeviceID 作为哈希键、时间戳作为范围键和一些数据的表。

{ DeviceID: 123, Timestamp: "2016-11-11T17:21:07.5272333Z", X: 12, Y: 35 }

在 SQL 中,我们可以使用日期时间类型作为时间戳,但在 DynamoDB 中没有。

  1. What data type should I use? String? Number?
    enter image description here

  2. 对于所选的数据类型,我应该写入什么样的时间戳格式? ISO 格式(例如:2016-11-11T17:21:07.5272333Z)或纪元时间(例如:1478943038816)?

  3. 我需要在某个时间范围内搜索表格,例如:1/1/2015 10:00:00am 到 31/12/2016 11:00:00pm


The 字符串数据类型应用于日期或时间戳。

您可以使用字符串数据类型来表示日期或时间戳。 实现此目的的一种方法是使用 ISO 8601 字符串,如下所示 例子:

2016-02-15

2015-12-21T17:42:34Z

20150311T122706Z

DynamoDB 日期或时间戳的数据类型 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes.String

是的,当日期存储为字符串时,支持范围查询。这BETWEEN可以用在 FilterExpression 上。我使用以下过滤表达式获取了结果中的项目。

没有时间的 FilterExpression:-

FilterExpression : 'createdate between :val1 and :val2',
ExpressionAttributeValues : {
        ':hkey' : year_val,
        ':rkey' : title,
        ":val1" : "2010-01-01",
        ":val2" : "2010-12-31"
    }

FilterExpression with time:-

FilterExpression : 'createdate between :val1 and :val2',
    ExpressionAttributeValues : {
        ':hkey' : year_val,
        ':rkey' : title,
        ":val1" : "2010-01-01T00:00:00",
        ":val2" : "2010-12-31T00:00:00"
    }

数据库值:-

格式 1 - 带时区:

{"Item":{"createdate":{"S":"2010-12-21T17:42:34+00:00"},"title":{"S":"The Big New Movie 2010"},"yearkey":{"N":"2010"},"info":{"M":{"rating":{"N":"0"},"plot":{"S":"Nothing happens at all."}}}}}

格式 2 - 无时区:-

{"Item":{"createdate":{"S":"2010-12-21T17:42:34Z"},"title":{"S":"The Big New Movie 2010"},"yearkey":{"N":"2010"},"info":{"M":{"rating":{"N":"0"},"plot":{"S":"Nothing happens at all."}}}}}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DynamoDB 中的时间戳应使用什么数据类型? 的相关文章

  • 使用 C# 和 .NET Core 在 AWS Cognito 用户池中进行用户管理

    如何使用 C 和 NET Core 3 x 管理 AWS Cognito 用户池中的用户 在文档中找不到有关它的任何内容 Attilio Gelosa 的原创文章 我写这篇文章是希望对其他人有帮助 我必须阅读一页又一页的文档 并从 AWS
  • 亚马逊 CloudFront 延迟

    我正在为我正在开发的 Web 应用程序尝试使用 AWS S3 和 CloudFront 在应用程序中 我允许用户将文件上传到 S3 存储桶 使用 AWS SDK 并通过 CloudFront CDN 提供该文件 但问题是 即使文件已上传并在
  • 在AWS S3中部署react-redux应用程序

    我在堆栈溢出中遇到了很多类似的问题one https stackoverflow com questions 16267339 s3 static website hosting route all paths to index html
  • 如何将 API Gateway 与 Cognito 联合身份和 Cognito 用户池集成

    在AWS中 我构建了一个调用Lambda函数的API网关 用户通过登录与 Cognito 联合身份池关联的 Cognito 用户池来获得访问权限 并且关联的 IAM 角色包含 API 调用权限 API网关方法是POST请求 如果我使用用户池
  • 使用 strtotime() 计算时间差(以小时和分钟为单位)[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions time1
  • 嵌套字段索引

    我正在尝试使用 AWS 开发人员控制台中的仪表板在嵌套字段上创建索引 例如 如果我有以下架构 id 1 nested mode mode1 text nice text 我能够创建索引nested mode 但是每当我通过索引进行查询时 就
  • 在 LINQ 查询中返回不带时间的日期

    我正在编写一个查询 我想计算按日期联系我们的呼叫中心的次数 看起来很简单 但由于联系日期字段是日期时间字段 我得到了时间 因此当我按联系日期 时间 分组时 每个联系日期实例的计数为 1 所以 我想只按日期分组 而不按时间分组 下面是我用来查
  • 两个日期之间间隔 15 分钟 javascript

    问题 我需要将两个日期 时间戳之间的所有 15 分钟时隙 日期格式 2016 08 10 16 00 00 创建为 HH mm 格式的数组 其中分钟限制为 00 15 30 45 示例 中午 12 30 到下午 2 30 将 gt 12 3
  • SNS和SQS访问问题,收不到消息

    我已经经历过AWS SNS SQS 订阅 https docs aws amazon com sns latest dg sns send message to sqs cross account html多次说明 并浏览了一些不同的博客和
  • Cognito/IAM 策略和 S3 获取对象

    我正在尝试将 S3 和 Cognito 集成到我的 iOS 应用程序中 但到目前为止尚未成功 我相信该错误与我针对 Auth 和 Unauth 用户的 IAM 策略有关 所以这是我的政策 Version 2012 10 17 Stateme
  • 如何向javascript的日期时间对象添加24小时[重复]

    这个问题在这里已经有答案了 可能的重复 向 Javascript Date 对象添加小时 https stackoverflow com questions 1050720 adding hours to javascript date o
  • DateTime.Parse 今天失败(2012 年 3 月 1 日)! o_0

    今天我遇到了一个非常奇怪的问题 尝试执行以下 C 代码 class Program static void Main string args string yesterdayString DateTime Now TimeSpan From
  • 使用 terraform 更新 KMS 密钥策略

    有谁知道如何让 Terraform 更新现有的 KMS 密钥策略 我已经创建了 KMS 密钥 但我有一个需要使用现有 KMS 密钥的临时 IAM 角色 我希望能够将这个 新 IAM 角色添加到现有的 KMS 密钥策略中 我可以看到使用 AW
  • 如何将域从 Godaddy 移动到 AWS Route 53

    由于 Godaddy 宕机了几个小时 我和我的客户都非常沮丧 希望将所有内容都更改为 AWS 到目前为止一切都已完成 只有域 blablabla com 丢失 我在尝试从 godaddy 迁移到 Route 53 时遇到了困难 我是否必须从
  • Amazon ec2 无法在 ios 上发送推送通知

    我在 Amazon ec2 php 7 中使用以下 php 代码
  • AWS EB 部署节点应用程序:无法运行 npm install

    我正在尝试将我的节点应用程序部署到 AWS 它甚至不允许我部署应用程序 仍然是Sample Application 使用 eb 部署 Version 64 位 Amazon Linux 2016 09 v4 0 1 运行 Node js 日
  • 在 C# 中给定周数和年份,计算一周的开始和结束日期(基于 ISO 规范)

    我需要生成一份报告 显示一年中的 52 周 或某些年份的 53 周 及其开始日期和结束日期 有一个 ISO 规范可以做到这一点 但看起来非常复杂 我希望有人知道在 C 或 Visual Basic 中执行此操作的方法 实际上适用于 Visu
  • 在 AWS Quicksight 中可视化 DynamoDB 数据

    我正在寻找一个以 AWS 为中心的解决方案 如果可能的话 避免使用第三方的东西 来可视化非常简单的 DynamoDB 表中的数据 我们使用 AWS Quicksight 为客户提供许多其他报告和仪表板 以便在那里提供可视化效果 我非常惊讶地
  • 更改 Ubuntu Linux 中文件夹的读/写访问权限

    我想创建一个文件夹并在创建的文件夹中写入一个文件Amazon EBS来自安装在运行 Ubuntu 的 Amazon EC2 上的 Java Servlet 的卷 我已将 EBS 卷安装在 mnt my address 但是Servlet无法
  • 如何在发送的电子邮件上设置来源/发件人属性的名称?

    我正在使用 aws sdk for php 并使用 AmazonSES 发送电子邮件 问题是我想设置电子邮件的名称 例子 指定 lt email address gt 这是我的源代码 mailer new AmazonSES aws con

随机推荐