什么时候使用 dynamodb.client、dynamodb.resource 和 dynamodb.Table?

Sha*_*ash 6 python amazon-web-services python-3.x amazon-dynamodb boto3

我正在使用 Boto3 和 Python 开发 Dyanamodb。我发现的问题之一是我们什么时候应该使用dynamodb.client,dynamodb.resourcedynamodb.Table?

cem*_*cks 8

dynamodb.client直接提供对 DynamoDB api 的低级别访问。您只能调用此处列出的 api 。

服务resource对象 likedynamodb.resource提供了一种更面向对象的访问 AWS 资源的方式。就您在 AWS 中创建的不同类型的事物而言,DynamoDB 是一项相当简单的服务。(基本上,您创建的主要对象是表,而不是像 EC2 这样的服务,在那里您有许多不同类型的对象(实例、安全组、启动配置等)。

dynamodb.Table对象提供了一种访问表中数据的简化方法。它将自动将数据从 DynamoDB 格式编组和解组为更简单的格式。

格式示例 使用 dynamodb.Client 数据可能如下所示

{
  "id": {
    "S": "a unique id"
  },
  "date": {
    "N": "12345678901234"
  }
}
Run Code Online (Sandbox Code Playgroud)

而使用该Table资源,您将获得如下所示的数据

{
  "id": "a unique id",
  "date": 12345678901234
}
Run Code Online (Sandbox Code Playgroud)

我建议使用这些Table资源,因为它简化了数据访问。