在Python中使用boto3创建AmazonDynamoDB表
发布时间:2023-12-28 06:55:17
Amazon DynamoDB是一项全托管的NoSQL数据库服务,具有灵活的数据模型和可扩展的性能。在Python中,我们可以使用boto3库来与DynamoDB进行交互,并创建表。下面是一个使用boto3创建Amazon DynamoDB表的示例代码。
首先,我们需要安装boto3库。可以通过以下命令使用pip进行安装:
pip install boto3
安装好boto3库后,我们可以开始编写代码。首先,导入必要的库和模块:
import boto3 from botocore.exceptions import NoCredentialsError
接下来,使用以下代码创建一个DynamoDB资源:
def create_dynamodb_resource():
try:
dynamodb = boto3.resource('dynamodb', region_name='us-west-2')
return dynamodb
except NoCredentialsError:
print("Credentials not found")
上述代码创建了一个名为dynamodb的DynamoDB资源,并指定了区域为us-west-2。如果没有找到凭证,将抛出NoCredentialsError。
接下来,我们可以使用以下代码创建一个表:
def create_table():
dynamodb = create_dynamodb_resource()
table_name = 'MyTable'
key_schema = [
{
'AttributeName': 'id',
'KeyType': 'HASH'
}
]
attribute_definitions = [
{
'AttributeName': 'id',
'AttributeType': 'N'
}
]
provisioned_throughput = {
'ReadCapacityUnits': 5,
'WriteCapacityUnits': 5
}
try:
table = dynamodb.create_table(
TableName=table_name,
KeySchema=key_schema,
AttributeDefinitions=attribute_definitions,
ProvisionedThroughput=provisioned_throughput
)
return table
except NoCredentialsError:
print("Credentials not found")
上述代码创建了一个名为MyTable的表,并指定了id作为主键。表的读写吞吐量都设置为5。如果表创建成功,将返回表对象。如果没有找到凭证,将抛出NoCredentialsError。
在主程序中,我们可以使用以下代码调用create_table函数并获取返回的表对象:
if __name__ == '__main__':
table = create_table()
if table is not None:
print("Table created successfully")
else:
print("Failed to create table")
以上就是使用boto3库在Python中创建Amazon DynamoDB表的示例代码。你可以根据自己的需求修改代码中的表名、主键、读写吞吐量等参数。希望对你有所帮助!
