Skip to content

Bodo 平台 SDK 参考

bodosdk.clients.cluster

ClusterClient

基类: IClusterClient

用于管理Bodo工作区中集群操作的客户端。

属性:

名称 类型 描述
_deprecated_methods Dict

一个包含已废弃方法的字典。

_images List[IBodoImage]

可用的 Bodo 图像列表。

参数:

名称 类型 描述 默认
workspace_client IBodoWorkspaceClient

用于操作的工作区客户端。

必需

Cluster: Cluster 属性

提供对集群操作的访问。

返回:

名称 类型 描述
Cluster Cluster

用于集群操作的集群实例。

ClusterList: ClusterList property

提供访问列出集群的功能。

返回:

名称 类型 描述
ClusterList ClusterList

ClusterListAPIModel 的一个实例,用于列出集群。

latest_bodo_version: str 属性

检索可用的最新 Bodo 版本。

返回:

名称 类型 描述
str str

最新的Bodo版本。

__init__(workspace_client)

使用给定的工作空间客户端初始化 ClusterClient。

参数:

名称 类型 描述 默认
workspace_client IBodoWorkspaceClient

用于与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 str

集群的名称。

必需
instance_type str

用于集群节点的实例类型。

None
workers_quantity int

集群中工作节点的数量。

None
description str

集群的描述。

None
bodo_version str

集群使用的 Bodo 版本。 如果未提供,则使用最新版本。

None
auto_stop int

集群的自动停止时间(分钟)。

None
auto_pause int

集群的自动暂停时间(分钟)。

None
auto_upgrade bool

集群在重启时是否应该自动升级到最新的Bodo版本。

None
auto_az bool

是否自动选择可用区。

None
use_spot_instance bool

是否为集群使用抢占实例。

None
aws_deployment_subnet_id str

AWS 部署子网 ID。

None
availability_zone str

集群的可用区。

None
instance_role InstanceRole | Dict

实例角色或自定义角色配置。

None
custom_tags Dict

分配给集群资源的自定义标签。

None

返回:

名称 类型 描述
Cluster Cluster

创建的 Cluster 对象。

get(id)

通过其 ID 检索集群。

参数:

名称 类型 描述 默认
id str

要检索的集群的ID。

必需

返回:

名称 类型 描述
Cluster Cluster

检索到的 Cluster 对象。

get_bodo_versions()

检索可用的 Bodo 版本列表。

返回:

类型 描述
List[str]

List[str]: 可用的 Bodo 版本列表。

get_images()

检索可用图像的列表。

返回:

类型 描述
List[str]

List[str]: 可用于集群的图像ID列表。

get_instance_types()

检索所有支持的实例类型列表

Return

实例类型列表

list(filters=None, order=None)

根据提供的筛选条件和顺序列出集群。

参数:

名称 类型 描述 默认
filters Dict | ClusterFilter

应用于集群列表的过滤器。

None
order Dict

列出聚类的顺序。

None

返回:

名称 类型 描述
ClusterList ClusterList

符合条件的集群列表。

pause(id, wait=False)

暂停指定的集群。

参数:

名称 类型 描述 默认
id str

要暂停的集群的ID。

必填

返回:

名称 类型 描述
Cluster Cluster

已暂停的 Cluster 对象。

remove(id, wait=False)

移除指定的集群。

参数:

名称 类型 描述 默认
id str

要移除的集群的ID。

必填

返回:

类型 描述
Cluster

resume(id, wait=False)

恢复指定的暂停集群。

参数:

名称 类型 描述 默认
id str

要恢复的集群的ID。

必需

返回:

名称 类型 描述
Cluster Cluster

恢复的 Cluster 对象。

scale(id, new_size)

将指定的集群缩放到新大小。

参数:

名称 类型 描述 默认
id str

要扩展的集群的ID。

必需
new_size int

集群的新大小,以工作节点的数量为单位。

必填

返回:

名称 类型 描述
Cluster Cluster

缩放后的 Cluster 对象。

start(id, wait=False)

启动指定的已停止集群。

参数:

名称 类型 描述 默认
id str

要启动的集群的ID。

必需

返回:

名称 类型 描述
Cluster Cluster

已启动的 Cluster 对象。

stop(id, wait=False)

停止指定的集群。

参数:

名称 类型 描述 默认
id str

要停止的集群的 ID。

必填

返回:

名称 类型 描述
Cluster 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 str

要更新的集群的ID。

必需
name str

集群的新名称。

None
description str

集群的新描述。

None
auto_stop int

新的自动停止时间(分钟)。

None
auto_pause int

新的自动暂停时间,以分钟为单位。

None
auto_upgrade bool

如果集群在每次重启后应该被更新。

True
workers_quantity int

新的工作节点数量。

None
instance_role InstanceRole | Dict

新的实例角色或自定义角色配置。

None
instance_type str

集群节点的新实例类型。

None
bodo_version str

集群的新Bodo版本。

None
auto_az bool

是否自动选择可用区。

None
availability_zone str

集群的新可用区。

None
custom_tags Dict

集群资源的新自定义标签。

None

返回:

名称 类型 描述
Cluster Cluster

更新后的 Cluster 对象。

wait_for_status(id, statuses, timeout=300, tick=30)

等待指定集群在超时时间内达到任意给定状态。

参数:

名称 类型 描述 默认
id str

要监视的集群的ID。

必需
statuses List

要等待的状态列表。

必需
timeout int

超时时间(以秒为单位)。

300
tick int

状态检查之间的间隔时间(秒)。

30

返回:

名称 类型 描述
Cluster Cluster

如果Cluster对象在超时时间内达到所需状态。

bodosdk.clients.instance_role

InstanceRoleClient

基类: IInstanceRoleClient

InstanceRole: InstanceRole property

获取 InstanceRole 对象。

返回:

名称 类型 描述
InstanceRole InstanceRole

InstanceRole 的一个实例。

InstanceRoleList: InstanceRoleList 属性

获取 InstanceRoleList 对象。

返回:

名称 类型 描述
InstanceRoleList InstanceRoleList

InstanceRoleList 的一个实例。

__init__(workspace_client)

使用给定的工作区客户端初始化InstanceRoleClient。

参数:

名称 类型 描述 默认
workspace_client IBodoWorkspaceClient

用于与API交互的工作区客户端。

必需

create(role_arn=None, identity=None, description=None, name=None)

创建一个新的实例角色。

参数:

名称 类型 描述 默认
role_arn str

角色的 ARN(适用于 aws)。

None
identity str

角色的标识(用于azure)。

None
description str

角色的描述。

None
name str

角色的名称。默认为 None。

None

返回:

名称 类型 描述
InstanceRole InstanceRole

保存后创建的实例角色。

delete(id)

通过其ID删除实例角色。

参数:

名称 类型 描述 默认
id str

要删除的实例角色的UUID。

必需

get(id)

通过其 ID 获取实例角色。

参数:

名称 类型 描述 默认
id str

实例角色的UUID。

必需

返回:

名称 类型 描述
InstanceRole InstanceRole

InstanceRole 的一个实例。

list(filters=None, order=None)

列出所有实例角色,带可选过滤器和排序。

参数:

名称 类型 描述 默认
filters 可选[联合[字典, 实例角色过滤器]]

一个字典或实例角色过滤器

order 可选[字典]

一个字典,用于指定结果的顺序。

返回:

名称 类型 描述
InstanceRoleList InstanceRoleList

一个包含过滤和排序后的实例角色的 InstanceRoleList 实例。

bodosdk.clients.job

JobClient

基类: IJobClient

JobRun: bodosdk.models.job.JobRun 属性

获取 JobRun 对象。

返回:

名称 类型 描述
JobRun JobRun

JobRun 的一个实例。

JobRunList: bodosdk.models.job.JobRunList 属性

获取 JobRunList 对象。

返回:

名称 类型 描述
JobRunList JobRunList

JobRunList的一个实例。

__init__(workspace_client)

使用给定的工作区客户端初始化JobClient。

参数:

名称 类型 描述 默认
workspace_client IBodoWorkspaceClient

用于与API交互的工作区客户端。

必需

cancel_job(id)

通过ID取消作业。

参数:

名称 类型 描述 默认
id str

作业ID。

必填

返回:

名称 类型 描述
JobRun JobRun

作业对象。

cancel_jobs(filters=None)

取消具有给定过滤器的作业。

参数:

名称 类型 描述 默认
filters 可选[并集[字典, 作业过滤器]]

应用于列表的过滤器。

返回:

名称 类型 描述
JobRunList JobRunList

JobRunList 对象。

get(id)

通过ID获取工作。

参数:

名称 类型 描述 默认
id str

作业ID。

必填

返回:

名称 类型 描述
JobRun JobRun

作业对象。

list(filters=None, order=None)

列出具有给定过滤器的职位。

参数:

名称 类型 描述 默认
filters 可选[并集[字典, 作业过滤器]]

应用于列表的过滤器。

order 可选[字典]

将在列表上应用的顺序。

返回:

名称 类型 描述
JobRunList 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 str

作业模板 ID。

None
cluster Union[dict, ICluster]

集群对象或集群配置。

None
code_type str

代码类型。

None
source Union[dict, IS3Source, IGitRepoSource, IWorkspaceSource, ITextSource]

源对象。

None
exec_file str

执行文件路径。

None
exec_text str

执行文本。

None
args Union[Sequence[Any], Dict, str]

参数。

None
env_vars dict

环境变量。

None
timeout int

超时。

None
num_retries int

重试次数。

None
delay_between_retries int

重试之间的延迟。

None
retry_on_timeout bool

超时重试。

None
name str

作业名称。

None
catalog str

目录,仅适用于SQL作业。

None
store_result bool

是否存储结果。

None

返回:

名称 类型 描述
JobRun 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 str

作业模板 ID。

None
catalog str

目录。

None
sql_query str

SQL查询。

None
cluster Union[dict, ICluster]

集群对象或集群配置。

None
name str

作业名称。

None
args Union[Sequence[Any], Dict]

参数.

None
timeout int

超时。

None
num_retries int

重试次数。

None
delay_between_retries int

重试之间的延迟。

None
retry_on_timeout bool

超时时重试。

None
store_result bool

是否存储结果。

True

返回:

名称 类型 描述
JobRun JobRun

作业对象。

wait_for_status(id, statuses, timeout=3600, tick=30)

等待作业达到给定的状态之一。

参数:

名称 类型 描述 默认
id str

作业ID。

必填
statuses List[str]

等待的状态列表。

必填
timeout int

超时。

3600
tick int

滴答。

30

返回:

名称 类型 描述
JobRun JobRun

作业对象。

bodosdk.clients.job_tpl

JobTemplateClient

基类: IJobTemplateClient

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 str

作业模板的名称。

None
description str

作业模板的描述。

None
cluster Union[dict, ICluster]

集群对象或集群配置。

None
code_type str

代码类型。

None
source Union[dict, IS3Source, IGitRepoSource, IWorkspaceSource, ITextSource]

源对象。

None
exec_file str

执行文件路径。

None
exec_text str

执行文本。

None
args Union[dict, str]

参数。

None
env_vars dict

环境变量。

None
timeout int

超时。

None
num_retries int

重试次数。

None
delay_between_retries int

重试之间的延迟。

None
retry_on_timeout bool

超时时重试。

None
catalog str

目录,仅适用于 SQL 代码类型。

None
store_result bool

是否存储结果。

False

get(id)

通过 ID 获取职位模板。

参数:

名称 类型 描述 默认
id str

作业模板ID。

必填

返回:

名称 类型 描述
JobTemplate JobTemplate

作业模板对象。

list(filters=None)

列出带有给定过滤条件的作业模板。

参数:

名称 类型 描述 默认
filters Dict

要应用于列表的过滤器。

None

返回:

名称 类型 描述
JobTemplateList JobTemplateList

JobTemplateList 对象。

remove(id)

通过ID删除作业模板。

参数:

名称 类型 描述 默认
id str

作业模板ID。

必填

bodosdk.clients.organization

BodoOrganizationClient

基类: IBodoOrganizationClient

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 str

云配置的名称。

必填
tf_backend_region str

Terraform 后端区域。

必需
role_arn 可选[str]

角色 ARN。

None
tf_bucket_name 可选[str]

Terraform 桶名称。

None
tf_dynamo_db_table_name 可选[str]

Terraform dynamo db 表名。

None
account_id 可选[str]

账户 ID。

None
access_key_id 可选[str]

访问密钥ID。

None
secret_access_key 可选[str]

秘密访问密钥。

None
custom_tags 可选[字典]

用于云配置的自定义标签。

返回:

名称 类型 描述
CloudConfig CloudConfig

CloudConfig 对象。

create_azure_cloud_config(name, tf_backend_region, tenant_id, subscription_id, resource_group, custom_tags=None)

在组织中使用给定参数创建一个新的Azure云配置。

参数:

名称 类型 描述 默认
name str

云配置的名称。

必填
tf_backend_region str

Terraform 后端区域。

必需
tenant_id str

租户ID。

必需
subscription_id str

订阅编号。

必需
resource_group str

资源组。

必需
custom_tags 可选[字典]

用于云配置的自定义标签。

返回:

名称 类型 描述
CloudConfig 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 str

工作区的名称。

必需
region str

工作区的区域。

必需
storage_endpoint_enabled bool

为工作区启用存储端点。

必填
cloud_config_id str

工作区的云配置 ID。

必填
vpc_id 可选[str]

工作区的 VPC id。

None
public_subnets_ids 可选(List[str]

公共子网ID列表。

None
private_subnets_ids 可选(List[str]

私有子网 ID 的列表。

None
custom_tags Optional(dict

工作区的自定义标签。

None

返回:

名称 类型 描述
Workspace Workspace

工作区对象。

delete_workspace(id)

通过ID删除工作区。

参数:

名称 类型 描述 默认
id str

工作区 ID.

必填

返回:

名称 类型 描述
Workspace Workspace

工作区对象。

get_cloud_config(id)

通过ID获取云配置。

参数:

名称 类型 描述 默认
id str

云配置 ID。

必填

返回:

名称 类型 描述
CloudConfig CloudConfig

CloudConfig 对象。

get_workspace(id)

通过ID获取工作区。

参数:

名称 类型 描述 默认
id str

工作区 ID.

必填

返回:

名称 类型 描述
Workspace Workspace

工作区对象。

list_cloud_configs(filters=None)

列出组织中的云配置。

参数:

名称 类型 描述 默认
filters 可选[并集[字典]]

应用于列表的过滤器。

返回:

名称 类型 描述
CloudConfigList CloudConfigList

CloudConfigList对象。

list_workspaces(filters=None)

列出组织中的工作区。

参数:

名称 类型 描述 默认
filters 可选[联合[工作区过滤器, 字典]]

要应用于列表的过滤器。

返回:

名称 类型 描述
WorkspaceList WorkspaceList

WorkspaceList对象。

bodosdk.clients.workspace

BodoWorkspaceClient

基础类: IBodoWorkspaceClient

workspace_data: IWorkspace property

获取工作区数据。

返回:

名称 类型 描述
Workspace IWorkspace

工作区对象。

workspace_id: str 属性

获取工作区 ID。

返回:

名称 类型 描述
str 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 str

客户端ID。

None
secret_key str

秘钥。

None
api_url str

API网址。

'https://api.bodo.ai/api'
auth_url str

认证网址。

'https://auth.bodo.ai'
print_logs bool

打印日志

False

引发:

类型 描述
APIKeysMissing

如果没有传递 client_id 或 secret_key,并且环境变量未设置

bodosdk.models.catalog

CatalogList

基础: ICatalogList, SDKBaseModel

Config

Pydantic模型的配置。 https://docs.pydantic.dev/latest/api/config/

bodosdk.models.cloud_config

CloudConfig

基础类: SDKBaseModel, ICloudConfig

__call__(**data)

创建一个新的CloudConfig,具有相同的CloudConfig客户端和提供的数据。

参数:

名称 类型 描述 默认
**data

表示CloudConfig属性的任意关键字参数。

{}

返回:

类型 描述
CloudConfig

CloudConfig的新实例。

__init__(org_client=None, **data)

初始化一个新的CloudConfig模型。

参数:

名称 类型 描述 默认
org_client IBodoOrganizationClient

与 CloudConfig API 交互的可选客户端。

None
**data

表示CloudConfig属性的任意关键字参数。

{}

CloudConfigList

基础类: ICloudConfigList, SDKBaseModel

Config

Pydantic模型的配置。 https://docs.pydantic.dev/latest/api/config/