Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

volcengine/volcengine-python-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Repository files navigation

中文 | English

Volcengine SDK for Python

⚠️ 已知缺陷说明(历史版本)

volcengine-python-sdk 的部分历史版本(4.0.1 〜 4.0.42,含)中,发现 SDK 内置的重试机制存在缺陷。

当请求过程中出现异常(如网络抖动、接口返回错误等)时,SDK 虽会触发重试逻辑,但由于该缺陷,重试未能实际生效,客户端仍可能直接感知到首次请求异常,导致重试机制无法有效提升请求成功率。

影响范围

  • SDK:volcengine-python-sdk
  • 受影响版本:4.0.1 〜 4.0.42(含)

影响说明

对于依赖 SDK 内置重试机制来应对瞬时异常或网络不稳定场景的业务:

  • 实际请求可用性可能低于预期
  • 重试相关配置无法发挥应有的保障作用

解决方案与建议

该问题已在 4.0.43 及以上版本中修复。
强烈建议所有用户升级至 volcengine-python-sdk ≥ 4.0.43,以确保请求重试机制在异常场景下能够正常生效。

非兼容升级通知

Volcengine SDK for Python 非兼容升级通知

影响版本:3.0.1 以及后续版本

变更描述:

为了优化SDK包文件目录多长,导致在 Window 系统安装失败的问题。

3.0.1 版本开始,我们对 transitrouter 服务下的部分超长的 API model 文件名称进行了缩减,如果您之前依赖并使用了这些 API model 的完整文件名称,将会导致不兼容,建议您按照如下方式使用 API model:

from volcenginesdktransitrouter import TransitRouterBandwidthPackageForDescribeTransitRouterBandwidthPackagesOutput
var = TransitRouterBandwidthPackageForDescribeTransitRouterBandwidthPackagesOutput()

本次升级影响的云服务和接口:

Service: transitrouter

Version: 2020年04月01日

API:

  • DescribeTransitRouterBandwidthPackages
  • DescribeTransitRouterRoutePolicyTables
  • DescribeTransitRouterRoutePolicyEntries
  • DescribeTransitRouterForwardPolicyTables
  • DescribeTransitRouterBandwidthPackagesBilling
  • DescribeTransitRouterDirectConnectGatewayAttachments
  • DescribeTransitRouterRouteTableAssociations
  • DescribeTransitRouterRouteTablePropagations
  • DescribeTransitRouterTrafficQosQueueEntries
  • DescribeTransitRouterTrafficQosQueuePolicies
  • DescribeTransitRouterTrafficQosMarkingEntries
  • DescribeTransitRouterTrafficQosMarkingPolicies

影响版本:2.0.1 以及后续版本

变更描述:

2.0.1 版本开始,发起请求将默认从使用 HTTP 协议变成使用 HTTPS 协议,请升级到新版本的用户注意是否会产生兼容性风险,做好充分测试。如需继续使用 HTTP 协议,请在发起请求时指定 scheme 参数为 http(不推荐):

import volcenginesdkcore
configuration = volcenginesdkcore.Configuration()
configuration.scheme = 'http'

Table of Contents

  • Requirements
  • Install
  • Usage
  • FAQ

Requirements

  • Python版本需要不低于2.7。
  • 由于 Windows 系统有最长路径限制,可能会导致安装失败,请按照以下方式设置:
1. 按下 Win+R ,输入 regedit 打开注册表编辑器。
2. 设置 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem 路径下的变量 LongPathsEnabled 为 1 即可。

Install

Install via pip

pip install volcengine-python-sdk

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Configuration Usage

步骤一:启动时初始化,配置 Configuration 全局默认参数

configuration = volcenginesdkcore.Configuration()
configuration.client_side_validation = True # 客户端是否进行参数校验
configuration.schema = "http" # https or http
configuration.debug = False # 是否开启调试
configuration.logger_file = "sdk.log"
volcenginesdkcore.Configuration.set_default(configuration)

步骤二:获取 Client

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,可以按照以下示例代码设置:

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时需转为-符号。存在大写字母时需转成小写。

SDK 示例

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)

更多代码示例请参考:SDK接入文档

FAQ

关于 SDK 使用时碰到的常见问题,请查看 FAQ

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 19

Languages

AltStyle によって変換されたページ (->オリジナル) /