📜  AWS DynamoDB – 将数据写入表(1)

📅  最后修改于: 2023-12-03 14:59:26.361000             🧑  作者: Mango

AWS DynamoDB – 将数据写入表

简介

AWS DynamoDB是一种快速、灵活的NoSQL数据库服务,可用于存储和检索任意数量和类型的数据。数据以键-值对的形式存储,并且可以根据需要进行扩展以支持高吞吐量和低延迟的应用程序。

本文将介绍如何使用AWS SDK for Python(Boto3)将数据写入DynamoDB表。

步骤
1. 安装Boto3

首先,确保您已在本地计算机上安装了Boto3库。如果尚未安装,请按照以下步骤进行安装:

$ pip install boto3
2. 配置AWS凭证

在使用Boto3之前,您需要配置AWS凭证。您可以通过多种方式配置凭证,例如使用环境变量、配置文件或IAM角色。这里我们将使用配置文件方式。

创建一个名为~/.aws/credentials的文件,并将以下内容添加到文件中:

[default]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_ACCESS_KEY

YOUR_ACCESS_KEYYOUR_SECRET_ACCESS_KEY替换为您的AWS访问密钥。

3. 创建DynamoDB客户端

在编写代码之前,首先创建一个DynamoDB客户端,用于与DynamoDB服务进行交互。

import boto3

dynamodb = boto3.client('dynamodb')
4. 创建表和定义表结构

在将数据写入表之前,需要先创建表并定义表的结构。以下示例代码演示如何创建一个名为my_table的DynamoDB表,并指定主键和其他属性。

table_name = 'my_table'
key_schema = [
    {'AttributeName': 'id', 'KeyType': 'HASH'},
    {'AttributeName': 'timestamp', 'KeyType': 'RANGE'}
]
attribute_definitions = [
    {'AttributeName': 'id', 'AttributeType': 'S'},
    {'AttributeName': 'timestamp', 'AttributeType': 'N'}
]
provisioned_throughput = {
    'ReadCapacityUnits': 5,
    'WriteCapacityUnits': 5
}

dynamodb.create_table(
    TableName=table_name,
    KeySchema=key_schema,
    AttributeDefinitions=attribute_definitions,
    ProvisionedThroughput=provisioned_throughput
)

在上述代码中,我们定义了一个包含两个属性的表,idtimestamp,并指定了它们的类型。id属性为字符串类型,timestamp属性为数值类型。主键由idtimestamp属性组成。

5. 写入数据

现在可以使用put_item方法将数据写入表中。以下示例代码演示了如何向上面创建的表中写入一条数据。

item = {
    'id': {'S': '1'},
    'timestamp': {'N': '1637282567'},
    'name': {'S': 'John Doe'},
    'age': {'N': '25'}
}

response = dynamodb.put_item(
    TableName=table_name,
    Item=item
)

在上述代码中,我们定义了一个包含idtimestampnameage属性的数据项。使用put_item方法将数据项写入表中。

6. 结束使用

最后,在程序结束之前,我们需要关闭DynamoDB客户端。

dynamodb.close()
结论

本文介绍了如何使用AWS DynamoDB和Boto3库将数据写入表的步骤。您可以根据实际需求定义表结构并使用put_item方法将数据写入表中。