更新时间:2025-12-11 GMT+08:00
分享

通过Python操作Serverless表

本章节主要介绍使用Python语言操作Serverless表。

使用须知

仅支持GeminiDB兼容DynamoDB接口的Serverless表。

前提条件

  • 已成功创建GeminiDB Serverless终端节点。
  • 已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器快速入门》中“创建弹性云服务器”章节。
  • 弹性云服务器上已经安装Python环境。

连接示例

将下面代码示例中的IP地址(***.***.***.***)替换为终端节点列表查到的IP。

下面代码示例中的region替换为实际的region。

Python样例如下:

#!/usr/bin/python
import boto3

url = 'http://***.***.***.***'
dynamodb = boto3.resource('dynamodb',
                          endpoint_url=url, 
                          aws_access_key_id='ak', 
                          aws_secret_access_key='sk', 
                          region_name="region")

创建Serverless表示例

在连接Serverless成功后,创建Serverless表的Python样例如下:

#!/usr/bin/python
import boto3
TABLE_NAME = 'test_table'
table = dynamodb.create_table(
    AttributeDefinitions=[
        {
            'AttributeName': 'id',
            'AttributeType': 'S'
        },
    ],
    BillingMode='PROVISIONED',
    TableName=TABLE_NAME,
    KeySchema=[
        {
            'AttributeName': 'id',
            'KeyType': 'HASH'
        },
    ],
)

写Serverless表示例

创建Serverless表成功后,写Serverless表的Python样例如下:

#!/usr/bin/python
import boto3
for i in range(0, 100):
    dynamodb.batch_write_item(RequestItems={
        TABLE_NAME: [
            {
                'PutRequest': {
                    'Item': {
                        'id': str(i), 'x': {'hello': 'world'}
                    }
                },
            }
        ]
    })

查询Serverless表示例

查询Serverless表的Python样例如下:

#!/usr/bin/python
import boto3
for i in range(0, 100):
    print(dynamodb.batch_get_item(RequestItems={
        TABLE_NAME: {'Keys': [{'id': str(i)}]}
    }))

相关文档