中文 | [English](README.EN.MD) # Volcengine SDK for Python ## 目录 * Requirements * Install * Usage * FAQ ### Requirements ### * Python 版本需要不低于2.7。 * 如使用方舟服务(`arkruntime`),Python 版本需要不低于 3.6。 ### Install ### Install via pip ```sh pip install volcengine-python-sdk ``` 如需使用方舟,请安装 Ark 可选依赖: ```sh pip install "volcengine-python-sdk[ark]" ``` ### Usage ### #### 详细使用文档 #### SDK 详细使用文档(凭证配置、Endpoint、Transport、超时、重试、异常处理、Debug)请参考:[SDK 接入文档](./docs/0-Overview-zh.md) #### Configuration Usage #### 步骤一:启动时初始化,配置 Configuration 全局默认参数 ```python import volcenginesdkautoscaling import volcenginesdkcore configuration = volcenginesdkcore.Configuration() configuration.client_side_validation = True # 客户端是否进行参数校验 configuration.scheme = "https" # https or http configuration.debug = False # 是否开启调试 configuration.logger_file = "sdk.log" volcenginesdkcore.Configuration.set_default(configuration) ``` 步骤二:获取 Client ```python def get_client(ak, sk, region): # 包含默认属性 configuration = volcenginesdkcore.Configuration() configuration.ak = ak configuration.sk = sk configuration.region = region client = volcenginesdkautoscaling.AUTOSCALINGApi(volcenginesdkcore.ApiClient(configuration)) return client ``` #### Endpoint 设置 #### 如果您要自定义SDK的Endpoint,可以按照以下示例代码设置: ```python configuration = volcenginesdkcore.Configuration() configuration.host = 'ecs.cn-beijing-autodriving.volcengineapi.com' ``` 火山引擎标准的Endpoint规则说明: | Regional 服务 | Global 服务 | |----------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------| | `{service}.{region}.volcengineapi.com`
例如:云服务ecs在cn-beijing-autodriving Region域名为: `ecs.cn-beijing-autodriving.volcengineapi.com` | `{service}.volcengineapi.com`
例如:访问控制iam为Global服务,域名为:`iam.volcengineapi.com` | 注: - Service中存在_符号时,Endpoint时需转为-符号。存在大写字母时需转成小写。 #### 完整示例 #### ```python from __future__ import print_function import volcenginesdkecs import volcenginesdkcore from pprint import pprint from volcenginesdkcore.rest import ApiException if __name__ == '__main__': configuration = volcenginesdkcore.Configuration() configuration.ak = "Your AK" configuration.sk = "Your SK" configuration.region = "cn-beijing" configuration.client_side_validation = True # set default configuration volcenginesdkcore.Configuration.set_default(configuration) # use global default configuration api_instance = volcenginesdkecs.ECSApi() # use custom configuration # api_instance = volcenginesdkecs.ECSApi(volcenginesdkcore.ApiClient(configuration)) try: resp = api_instance.run_instances( volcenginesdkecs.RunInstancesRequest( instance_name="insname", instance_type="ecs.g1.large", zone_id="cn-beijing-a", network_interfaces=[volcenginesdkecs.NetworkInterfaceForRunInstancesInput( subnet_id="subnet-2d68bh73d858ozfekrm8fj", security_group_ids=["sg-2b3dq7v0ha0w2dx0eg0nhljv"], )], image_id="image-ybvz29l3da4ox5h0m9", volumes=[volcenginesdkecs.VolumeForRunInstancesInput( volume_type="ESSD", size=40, )], key_pair_name="vtable", instance_charge_type="PostPaid" )) pprint(resp) except ApiException as e: print("Exception when calling ECSApi->run_instances: %s\n" % e) ``` ### FAQ ### 关于 SDK 使用时碰到的常见问题,请查看 [FAQ](FAQ.md) ## Security and privacy This project takes security seriously. For vulnerability reporting and supported versions, see [SECURITY.md](SECURITY.md)