管理接口
更新时间:2021-04-08
TSDB数据库的管理操作通过管理接口进行调用,包括创建数据库、删除数据库和获取数据库信息。在Python SDK中使用TsdbAdminClient类实现对管理接口的封装。
新建TsdbAdminClient
Plain Text
1import baidubce.protocol
2from baidubce.bce_client_configuration import BceClientConfiguration
3from baidubce.auth.bce_credentials import BceCredentials
4from baidubce.services.tsdb.tsdb_admin_client import TsdbAdminClient
5# when use https as the protocol, you may find certificate expire problem, this can be resovled by adding the following lines
6# import ssl
7# ssl._create_default_https_context = ssl._create_unverified_context
8
9HOST = 'tsdb.<region>.baidubce.com'
10AK = '<your ak>'
11SK = '<your sk>'
12
13###########optional config#############
14protocol=baidubce.protocol.HTTP
15# protocol= baidubce.protocol.HTTPS
16connection_timeout_in_mills=None
17send_buf_size=None
18recv_buf_size=None
19retry_policy=None
20#######################################
21
22
23
24config = BceClientConfiguration(
25 credentials=BceCredentials(AK, SK),
26 endpoint=HOST,
27 protocol=protocol,
28 connection_timeout_in_mills=connection_timeout_in_mills,
29 send_buf_size=send_buf_size,
30 recv_buf_size=recv_buf_size,
31 retry_policy=retry_policy)
32
33tsdb_admin_client = TsdbAdminClient(config)
创建时序数据库
使用如下代码创建数据库:
Plain Text
1# 创建数据库
2database_name = 'pythonsdksample' # 数据库名称
3description = 'description' # 数据库描述。可选
4ingest_datapoints_monthly = 1 # 月写入数据点数额度,单位,点/百万
5store_bytes_quota = 0 # 字节存储空间额度,单位,byte。 可选,默认为0
6purchase_length = 1 # 购买时长,单位,月
7coupon_name = '' # 代金券编号。可选,如填写,则默认优先使用代金券付款
8
9client_token = 'testtttt' # 任意指定字符串,用于保证创建的幂等性。即,不会因网络重试等问题导致重复创建
10try:
11 # use str.encode("UTF-8") in python 3.0+, since str.decode is not supported in unicode,
12 # you need to make changes in description, database_name and coupon_name.
13 result = tsdb_admin_client.create_database(
14 client_token=client_token,
15 description=description,
16 database_name=database_name,
17 ingest_datapoints_monthly=ingest_datapoints_monthly,
18 purchase_length=purchase_length,
19 store_bytes_quota=store_bytes_quota,
20 coupon_name=coupon_name)
21 print result # 创建成功会返回订单号、数据库id、花费金额、到期时间的信息
22except BaseException as e:
23 print e # 如果创建失败,会抛出异常,异常中含有错误的详细信息
删除时序数据库
使用如下代码删除数据库:
Plain Text
1# 删除指定数据库
2database_id = 'tsdb-xxxxxx' # database_id 可以官网控制台数据库的详细页查看
3try:
4 response = tsdb_admin_client.delete_database(database_id)
5 print response
6except BaseException as e:
7 print e # 删除失败会在异常中包含详细的错误信息
获取时序数据库实例
使用如下代码获取时序数据库实例:
Plain Text
1# 获取数据库实例
2database_id = 'tsdb-xxxxxx'
3print tsdb_admin_client.get_database(database_id)
返回结果:
Plain Text
1{'status': u'Active', 'autoExport': False, 'databaseId': u'tsdb-xxxxx', 'endpoint': u'pythonsdksample.tsdb-xxxxx.tsdb.iot.bj.baidubce.com', 'createTime': u'2018-07-20T08:57:53Z', 'description': u'', 'databaseName': u'pythonsdksample', 'quota': {ingestDataPointsMonthly:1,storeBytesQuota:0}, 'expiredTime': u'2018-08-20T08:57:54Z'}
获取时序数据库实例列表
使用如下代码获取时序数据库实例列表:
Plain Text
1# 获取数据库实例列表
2result = tsdb_admin_client.get_all_databases()
3print result
返回结果:
Plain Text
1[{'status': u'Active', 'autoExport': False, 'databaseId': u'tsdb-xxxxx', 'endpoint': u'pythonsdksample.tsdb-xxxxx.tsdb.iot.bj.baidubce.com', 'createTime': u'2018-07-20T08:57:53Z', 'description': u'', 'databaseName': u'pythonsdksample', 'quota': {ingestDataPointsMonthly:1,storeBytesQuota:0}, 'expiredTime': u'2018-08-20T08:57:54Z'},{...},..