欢迎访问宙启技术站
智能推送

使用Boto3在AWSDynamoDB中执行CRUD操作

发布时间:2023-12-25 22:20:18

Boto3是AWS的官方Python SDK,可以用来在DynamoDB中执行CRUD(创建、读取、更新、删除)操作。下面是使用Boto3在AWSDynamoDB中执行CRUD操作的示例代码:

首先,需要安装Boto3库并导入所需模块:

pip install boto3
import boto3
from boto3.dynamodb.conditions import Key, Attr

连接DynamoDB服务并创建客户端对象:

dynamodb = boto3.resource('dynamodb', region_name='us-west-2')
client = dynamodb.meta.client

创建表格:

def create_table():
    table_name = 'example_table'
    table = dynamodb.create_table(
        TableName=table_name,
        KeySchema=[
            {
                'AttributeName': 'id',
                'KeyType': 'HASH'
            }
        ],
        AttributeDefinitions=[
            {
                'AttributeName': 'id',
                'AttributeType': 'N'
            }
        ],
        ProvisionedThroughput={
            'ReadCapacityUnits': 5,
            'WriteCapacityUnits': 5
        }
    )
    table.wait_until_exists()

向表格中插入数据:

def insert_data():
    table_name = 'example_table'
    table = dynamodb.Table(table_name)
    item = {
        'id': 1,
        'name': 'John Doe',
        'age': 25
    }
    table.put_item(Item=item)

查询表格中的数据:

def query_data():
    table_name = 'example_table'
    table = dynamodb.Table(table_name)
    response = table.query(
        KeyConditionExpression=Key('id').eq(1)
    )
    items = response['Items']
    for item in items:
        print(item)

更新表格中的数据:

def update_data():
    table_name = 'example_table'
    table = dynamodb.Table(table_name)
    table.update_item(
        Key={
            'id': 1
        },
        UpdateExpression='SET age = :val',
        ExpressionAttributeValues={
            ':val': 30
        }
    )

删除表格中的数据:

def delete_data():
    table_name = 'example_table'
    table = dynamodb.Table(table_name)
    table.delete_item(
        Key={
            'id': 1
        }
    )

删除表格:

def delete_table():
    table_name = 'example_table'
    table = dynamodb.Table(table_name)
    table.delete()
    table.wait_until_not_exists()

以上代码展示了如何使用Boto3库在AWSDynamoDB中执行CRUD操作。根据需求,可以通过调用适当的函数实现所需的操作。