Bodo 平台 SDK 参考
bodosdk.clients.cluster
¶
ClusterClient
¶
基类:
用于管理Bodo工作区中集群操作的客户端。
属性:
| 名称 | 类型 | 描述 |
|---|---|---|
|
|
一个包含已废弃方法的字典。 |
|
|
可用的 Bodo 图像列表。 |
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
workspace_client |
|
用于操作的工作区客户端。 |
必需 |
Cluster: Cluster
属性
¶
提供对集群操作的访问。
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
Cluster |
|
用于集群操作的集群实例。 |
ClusterList: ClusterList
property
¶
提供访问列出集群的功能。
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
ClusterList |
|
ClusterListAPIModel 的一个实例,用于列出集群。 |
latest_bodo_version: str
属性
¶
检索可用的最新 Bodo 版本。
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
str |
|
最新的Bodo版本。 |
__init__(workspace_client)
¶
使用给定的工作空间客户端初始化 ClusterClient。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
workspace_client |
|
用于与API交互的工作区客户端。 |
必需 |
connect(catalog, cluster_id)
¶
连接到特定的目录和集群。
:param catalog: 连接到的目录的名称。 :param cluster_id: 连接到的集群的UUID。 :return: 表示与目录和集群连接的Connection实例。
create(name, instance_type=None, workers_quantity=None, description=None, bodo_version=None, auto_stop=None, auto_pause=None, auto_upgrade=None, auto_az=None, use_spot_instance=None, aws_deployment_subnet_id=None, availability_zone=None, instance_role=None, custom_tags=None, memory_report_enabled=None)
¶
使用指定的配置创建一个新的集群。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
name |
|
集群的名称。 |
必需 |
instance_type |
|
用于集群节点的实例类型。 |
None
|
workers_quantity |
|
集群中工作节点的数量。 |
None
|
description |
|
集群的描述。 |
None
|
bodo_version |
|
集群使用的 Bodo 版本。 如果未提供,则使用最新版本。 |
None
|
auto_stop |
|
集群的自动停止时间(分钟)。 |
None
|
auto_pause |
|
集群的自动暂停时间(分钟)。 |
None
|
auto_upgrade |
|
集群在重启时是否应该自动升级到最新的Bodo版本。 |
None
|
auto_az |
|
是否自动选择可用区。 |
None
|
use_spot_instance |
|
是否为集群使用抢占实例。 |
None
|
aws_deployment_subnet_id |
|
AWS 部署子网 ID。 |
None
|
availability_zone |
|
集群的可用区。 |
None
|
instance_role |
|
实例角色或自定义角色配置。 |
None
|
custom_tags |
|
分配给集群资源的自定义标签。 |
None
|
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
Cluster |
|
创建的 Cluster 对象。 |
get(id)
¶
通过其 ID 检索集群。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
要检索的集群的ID。 |
必需 |
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
Cluster |
|
检索到的 Cluster 对象。 |
get_bodo_versions()
¶
检索可用的 Bodo 版本列表。
返回:
| 类型 | 描述 |
|---|---|
|
List[str]: 可用的 Bodo 版本列表。 |
get_images()
¶
检索可用图像的列表。
返回:
| 类型 | 描述 |
|---|---|
|
List[str]: 可用于集群的图像ID列表。 |
get_instance_types()
¶
检索所有支持的实例类型列表
Return
实例类型列表
list(filters=None, order=None)
¶
根据提供的筛选条件和顺序列出集群。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
filters |
|
应用于集群列表的过滤器。 |
None
|
order |
|
列出聚类的顺序。 |
None
|
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
ClusterList |
|
符合条件的集群列表。 |
pause(id, wait=False)
¶
暂停指定的集群。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
要暂停的集群的ID。 |
必填 |
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
Cluster |
|
已暂停的 Cluster 对象。 |
remove(id, wait=False)
¶
移除指定的集群。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
要移除的集群的ID。 |
必填 |
返回:
| 类型 | 描述 |
|---|---|
|
无 |
resume(id, wait=False)
¶
恢复指定的暂停集群。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
要恢复的集群的ID。 |
必需 |
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
Cluster |
|
恢复的 Cluster 对象。 |
scale(id, new_size)
¶
将指定的集群缩放到新大小。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
要扩展的集群的ID。 |
必需 |
new_size |
|
集群的新大小,以工作节点的数量为单位。 |
必填 |
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
Cluster |
|
缩放后的 Cluster 对象。 |
start(id, wait=False)
¶
启动指定的已停止集群。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
要启动的集群的ID。 |
必需 |
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
Cluster |
|
已启动的 Cluster 对象。 |
stop(id, wait=False)
¶
停止指定的集群。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
要停止的集群的 ID。 |
必填 |
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
Cluster |
|
已停止的 Cluster 对象。 |
update(id, name=None, description=None, auto_stop=None, auto_pause=None, auto_upgrade=True, workers_quantity=None, instance_role=None, instance_type=None, bodo_version=None, auto_az=None, availability_zone=None, custom_tags=None)
¶
使用给定的配置更新指定的集群。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
要更新的集群的ID。 |
必需 |
name |
|
集群的新名称。 |
None
|
description |
|
集群的新描述。 |
None
|
auto_stop |
|
新的自动停止时间(分钟)。 |
None
|
auto_pause |
|
新的自动暂停时间,以分钟为单位。 |
None
|
auto_upgrade |
|
如果集群在每次重启后应该被更新。 |
True
|
workers_quantity |
|
新的工作节点数量。 |
None
|
instance_role |
|
新的实例角色或自定义角色配置。 |
None
|
instance_type |
|
集群节点的新实例类型。 |
None
|
bodo_version |
|
集群的新Bodo版本。 |
None
|
auto_az |
|
是否自动选择可用区。 |
None
|
availability_zone |
|
集群的新可用区。 |
None
|
custom_tags |
|
集群资源的新自定义标签。 |
None
|
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
Cluster |
|
更新后的 Cluster 对象。 |
wait_for_status(id, statuses, timeout=300, tick=30)
¶
等待指定集群在超时时间内达到任意给定状态。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
要监视的集群的ID。 |
必需 |
statuses |
|
要等待的状态列表。 |
必需 |
timeout |
|
超时时间(以秒为单位)。 |
300
|
tick |
|
状态检查之间的间隔时间(秒)。 |
30
|
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
Cluster |
|
如果Cluster对象在超时时间内达到所需状态。 |
bodosdk.clients.instance_role
¶
InstanceRoleClient
¶
基类:
InstanceRole: InstanceRole
property
¶
获取 InstanceRole 对象。
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
InstanceRole |
|
InstanceRole 的一个实例。 |
InstanceRoleList: InstanceRoleList
属性
¶
获取 InstanceRoleList 对象。
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
InstanceRoleList |
|
InstanceRoleList 的一个实例。 |
__init__(workspace_client)
¶
使用给定的工作区客户端初始化InstanceRoleClient。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
workspace_client |
|
用于与API交互的工作区客户端。 |
必需 |
create(role_arn=None, identity=None, description=None, name=None)
¶
创建一个新的实例角色。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
role_arn |
|
角色的 ARN(适用于 aws)。 |
None
|
identity |
|
角色的标识(用于azure)。 |
None
|
description |
|
角色的描述。 |
None
|
name |
|
角色的名称。默认为 None。 |
None
|
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
InstanceRole |
|
保存后创建的实例角色。 |
delete(id)
¶
通过其ID删除实例角色。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
要删除的实例角色的UUID。 |
必需 |
get(id)
¶
通过其 ID 获取实例角色。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
实例角色的UUID。 |
必需 |
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
InstanceRole |
|
InstanceRole 的一个实例。 |
list(filters=None, order=None)
¶
列出所有实例角色,带可选过滤器和排序。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
filters |
|
一个字典或实例角色过滤器 |
无
|
order |
|
一个字典,用于指定结果的顺序。 |
无
|
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
InstanceRoleList |
|
一个包含过滤和排序后的实例角色的 InstanceRoleList 实例。 |
bodosdk.clients.job
¶
JobClient
¶
基类:
JobRun: bodosdk.models.job.JobRun
属性
¶
获取 JobRun 对象。
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
JobRun |
|
JobRun 的一个实例。 |
JobRunList: bodosdk.models.job.JobRunList
属性
¶
获取 JobRunList 对象。
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
JobRunList |
|
JobRunList的一个实例。 |
__init__(workspace_client)
¶
使用给定的工作区客户端初始化JobClient。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
workspace_client |
|
用于与API交互的工作区客户端。 |
必需 |
cancel_job(id)
¶
通过ID取消作业。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
作业ID。 |
必填 |
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
JobRun |
|
作业对象。 |
cancel_jobs(filters=None)
¶
取消具有给定过滤器的作业。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
filters |
|
应用于列表的过滤器。 |
无
|
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
JobRunList |
|
JobRunList 对象。 |
get(id)
¶
通过ID获取工作。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
作业ID。 |
必填 |
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
JobRun |
|
作业对象。 |
list(filters=None, order=None)
¶
列出具有给定过滤器的职位。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
filters |
|
应用于列表的过滤器。 |
无
|
order |
|
将在列表上应用的顺序。 |
无
|
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
JobRunList |
|
JobRunList 对象。 |
run(template_id=None, cluster=None, code_type=None, source=None, exec_file=None, exec_text=None, args=None, env_vars=None, timeout=None, num_retries=None, delay_between_retries=None, retry_on_timeout=None, name=None, catalog=None, store_result=None)
¶
使用给定的参数运行作业。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
template_id |
|
作业模板 ID。 |
None
|
cluster |
|
集群对象或集群配置。 |
None
|
code_type |
|
代码类型。 |
None
|
source |
|
源对象。 |
None
|
exec_file |
|
执行文件路径。 |
None
|
exec_text |
|
执行文本。 |
None
|
args |
|
参数。 |
None
|
env_vars |
|
环境变量。 |
None
|
timeout |
|
超时。 |
None
|
num_retries |
|
重试次数。 |
None
|
delay_between_retries |
|
重试之间的延迟。 |
None
|
retry_on_timeout |
|
超时重试。 |
None
|
name |
|
作业名称。 |
None
|
catalog |
|
目录,仅适用于SQL作业。 |
None
|
store_result |
|
是否存储结果。 |
None
|
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
JobRun |
|
作业对象。 |
run_sql_query(template_id=None, catalog=None, sql_query=None, cluster=None, name=None, args=None, timeout=None, num_retries=None, delay_between_retries=None, retry_on_timeout=None, store_result=True)
¶
使用给定参数运行 SQL 作业。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
template_id |
|
作业模板 ID。 |
None
|
catalog |
|
目录。 |
None
|
sql_query |
|
SQL查询。 |
None
|
cluster |
|
集群对象或集群配置。 |
None
|
name |
|
作业名称。 |
None
|
args |
|
参数. |
None
|
timeout |
|
超时。 |
None
|
num_retries |
|
重试次数。 |
None
|
delay_between_retries |
|
重试之间的延迟。 |
None
|
retry_on_timeout |
|
超时时重试。 |
None
|
store_result |
|
是否存储结果。 |
True
|
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
JobRun |
|
作业对象。 |
wait_for_status(id, statuses, timeout=3600, tick=30)
¶
等待作业达到给定的状态之一。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
作业ID。 |
必填 |
statuses |
|
等待的状态列表。 |
必填 |
timeout |
|
超时。 |
3600
|
tick |
|
滴答。 |
30
|
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
JobRun |
|
作业对象。 |
bodosdk.clients.job_tpl
¶
JobTemplateClient
¶
基类:
create(name=None, description=None, cluster=None, code_type=None, source=None, exec_file=None, exec_text=None, args=None, env_vars=None, timeout=None, num_retries=None, delay_between_retries=None, retry_on_timeout=None, catalog=None, store_result=False)
¶
使用给定的参数创建一个新的作业模板。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
name |
|
作业模板的名称。 |
None
|
description |
|
作业模板的描述。 |
None
|
cluster |
|
集群对象或集群配置。 |
None
|
code_type |
|
代码类型。 |
None
|
source |
|
源对象。 |
None
|
exec_file |
|
执行文件路径。 |
None
|
exec_text |
|
执行文本。 |
None
|
args |
|
参数。 |
None
|
env_vars |
|
环境变量。 |
None
|
timeout |
|
超时。 |
None
|
num_retries |
|
重试次数。 |
None
|
delay_between_retries |
|
重试之间的延迟。 |
None
|
retry_on_timeout |
|
超时时重试。 |
None
|
catalog |
|
目录,仅适用于 SQL 代码类型。 |
None
|
store_result |
|
是否存储结果。 |
False
|
get(id)
¶
通过 ID 获取职位模板。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
作业模板ID。 |
必填 |
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
JobTemplate |
|
作业模板对象。 |
list(filters=None)
¶
列出带有给定过滤条件的作业模板。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
filters |
|
要应用于列表的过滤器。 |
None
|
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
JobTemplateList |
|
JobTemplateList 对象。 |
remove(id)
¶
通过ID删除作业模板。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
作业模板ID。 |
必填 |
bodosdk.clients.organization
¶
BodoOrganizationClient
¶
基类:
create_aws_cloud_config(name, tf_backend_region, role_arn=None, tf_bucket_name=None, tf_dynamo_db_table_name=None, account_id=None, access_key_id=None, secret_access_key=None, custom_tags=None)
¶
在组织中使用给定参数创建新的AWS云配置。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
name |
|
云配置的名称。 |
必填 |
tf_backend_region |
|
Terraform 后端区域。 |
必需 |
role_arn |
|
角色 ARN。 |
None
|
tf_bucket_name |
|
Terraform 桶名称。 |
None
|
tf_dynamo_db_table_name |
|
Terraform dynamo db 表名。 |
None
|
account_id |
|
账户 ID。 |
None
|
access_key_id |
|
访问密钥ID。 |
None
|
secret_access_key |
|
秘密访问密钥。 |
None
|
custom_tags |
|
用于云配置的自定义标签。 |
无
|
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
CloudConfig |
|
CloudConfig 对象。 |
create_azure_cloud_config(name, tf_backend_region, tenant_id, subscription_id, resource_group, custom_tags=None)
¶
在组织中使用给定参数创建一个新的Azure云配置。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
name |
|
云配置的名称。 |
必填 |
tf_backend_region |
|
Terraform 后端区域。 |
必需 |
tenant_id |
|
租户ID。 |
必需 |
subscription_id |
|
订阅编号。 |
必需 |
resource_group |
|
资源组。 |
必需 |
custom_tags |
|
用于云配置的自定义标签。 |
无
|
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
CloudConfig |
|
CloudConfig 对象。 |
create_workspace(name, region, cloud_config_id, vpc_id=None, public_subnets_ids=None, private_subnets_ids=None, custom_tags=None, kms_key_arn=None)
¶
使用给定的参数在组织中创建一个新的工作区。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
name |
|
工作区的名称。 |
必需 |
region |
|
工作区的区域。 |
必需 |
storage_endpoint_enabled |
|
为工作区启用存储端点。 |
必填 |
cloud_config_id |
|
工作区的云配置 ID。 |
必填 |
vpc_id |
|
工作区的 VPC id。 |
None
|
public_subnets_ids |
可选(List[str]
|
公共子网ID列表。 |
None
|
private_subnets_ids |
可选(List[str]
|
私有子网 ID 的列表。 |
None
|
custom_tags |
Optional(dict
|
工作区的自定义标签。 |
None
|
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
Workspace |
|
工作区对象。 |
delete_workspace(id)
¶
通过ID删除工作区。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
工作区 ID. |
必填 |
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
Workspace |
|
工作区对象。 |
get_cloud_config(id)
¶
通过ID获取云配置。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
云配置 ID。 |
必填 |
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
CloudConfig |
|
CloudConfig 对象。 |
get_workspace(id)
¶
通过ID获取工作区。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
id |
|
工作区 ID. |
必填 |
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
Workspace |
|
工作区对象。 |
list_cloud_configs(filters=None)
¶
列出组织中的云配置。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
filters |
|
应用于列表的过滤器。 |
无
|
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
CloudConfigList |
|
CloudConfigList对象。 |
list_workspaces(filters=None)
¶
列出组织中的工作区。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
filters |
|
要应用于列表的过滤器。 |
无
|
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
WorkspaceList |
|
WorkspaceList对象。 |
bodosdk.clients.workspace
¶
BodoWorkspaceClient
¶
基础类:
workspace_data: IWorkspace
property
¶
获取工作区数据。
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
Workspace |
|
工作区对象。 |
workspace_id: str
属性
¶
获取工作区 ID。
返回:
| 名称 | 类型 | 描述 |
|---|---|---|
str |
|
工作区 ID。 |
__init__(client_id=None, secret_key=None, api_url='https://api.bodo.ai/api', auth_url='https://auth.bodo.ai', print_logs=False)
¶
初始化 BodoWorkspaceClient。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
client_id |
|
客户端ID。 |
None
|
secret_key |
|
秘钥。 |
None
|
api_url |
|
API网址。 |
'https://api.bodo.ai/api'
|
auth_url |
|
认证网址。 |
'https://auth.bodo.ai'
|
print_logs |
|
打印日志 |
False
|
引发:
| 类型 | 描述 |
|---|---|
|
如果没有传递 client_id 或 secret_key,并且环境变量未设置 |
bodosdk.models.catalog
¶
bodosdk.models.cloud_config
¶
CloudConfig
¶
基础类: ,
__call__(**data)
¶
创建一个新的CloudConfig,具有相同的CloudConfig客户端和提供的数据。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
**data |
表示CloudConfig属性的任意关键字参数。 |
{}
|
返回:
| 类型 | 描述 |
|---|---|
|
CloudConfig的新实例。 |
__init__(org_client=None, **data)
¶
初始化一个新的CloudConfig模型。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
org_client |
|
与 CloudConfig API 交互的可选客户端。 |
None
|
**data |
表示CloudConfig属性的任意关键字参数。 |
{}
|