华为云用户手册

  • 返回结果 表2 返回结果 参数名称 参数类型 描述 originPolicy str 参数解释: Policy未经过base64编码之前的值,仅用于校验。示例如下: {"expiration":"2023-09-12T12:52:59Z","conditions":[{"content-type":"text/plain"},{"bucket":"examplebucket"},{"key":"example/objectname"},]}" 默认取值: 无 policy str 参数解释: 表单中的policy经过base64编码之后的值。示例如下: eyJleHBpcmF0aW9uIjoiMjAyMy0wOS0xMlQxMjo1Mjo1OVoiLCJjb25kaXRpb25zIjpbeyJjb250ZW50LXR5cGUiOiJ0ZXh0L3BsYWluIn0seyJidWNrZXQiOiJleGFtcGxlYnVja2V0In0seyJrZXkiOiJleGFtcGxlL29iamVjdG5hbWUifSxdfQ== 默认取值: 无 signature str 参数解释: 表单中的signature。示例如下: g0jQr4v9VWd1Q2FOFDG6LGfV9Cw= 默认取值: 无
  • 功能说明 基于表单上传是使用HTML表单形式上传对象到指定桶中,对象最大不能超过5GB。可以通过ObsClient.createPostSignature生成基于表单上传的请求参数。使用代码模拟表单上传的完整代码示例,参见post_object_sample。您也可以通过如下步骤进行表单上传: 使用ObsClient.createPostSignature生成用于鉴权的请求参数。 准备表单HTML页面。 将生成的请求参数填入HTML页面。 选择本地文件,进行表单上传。 使用SDK生成用于鉴权的请求参数包括两个: policy,对应表单中policy字段。 signature,对应表单中的signature字段。
  • 准备访问密钥 OBS通过用户账号中的AK和SK进行签名验证,确保通过授权的账号才能访问指定的OBS资源。获取访问密钥前,请确保访问OBS的 IAM 子用户已开启编程访问,开启方式详见修改或查看IAM用户信息。以下是对AK和SK的解释说明: AK:Access Key ID,接入键标识,用户在 对象存储服务 系统中的接入键标识,一个接入键标识唯一对应一个用户,一个用户可以同时拥有多个接入键标识。对象存储服务系统通过接入键标识识别访问系统的用户。 SK:Secret Access Key,安全接入键,用户在对象存储服务系统中的安全接入键,是用户访问对象存储服务系统的密钥,用户根据安全接入键和请求头域生成鉴权信息。安全接入键和接入键标识一一对应。 访问密钥分永久访问密钥(AK/SK)和临时访问密钥(AK/SK和SecurityToken)两种。每个用户最多可创建两个有效的永久访问密钥。临时访问密钥只在设置的有效期内能够访问OBS,过期后需要重新获取。出于安全性考虑,建议您使用临时访问密钥访问OBS,或使用永久访问密钥访问OBS时,定期更新您的访问密钥(AK/SK)。两种密钥的获取方式如下。 永久访问密钥: 登录管理控制台。 单击页面右上角的用户名,并选择“我的凭证”。 在“我的凭证”页面,单击左侧导航栏的“访问密钥”。 在“访问密钥”页面,单击“新增访问密钥”。 在弹出的“新增访问密钥”对话框中,输入登录密码和对应验证码。 用户如果未绑定邮箱和手机,则只需输入登录密码。 用户如果同时绑定了邮箱和手机,可以选择其中一种方式进行验证。 单击“确定”。 在弹出的“下载确认”提示框中,单击“确定”后,密钥会直接保存到浏览器默认的下载文件夹中。 打开下载下来的“credentials.csv”文件即可获取到访问密钥(AK和SK)。 每个用户最多可创建两个有效的访问密钥。 为防止访问密钥泄露,建议您将其保存到安全的位置。如果用户在此提示框中单击“取消”,则不会下载密钥,后续也将无法重新下载。如果需要使用访问密钥,可以重新创建新的访问密钥。 临时访问密钥: 临时AK/SK和SecurityToken是系统颁发给用户的临时访问令牌,通过接口设置有效期,范围为15分钟至24小时,过期后需要重新获取。临时AK/SK和SecurityToken遵循权限最小化原则。使用临时AK/SK鉴权时,临时AK/SK和SecurityToken必须同时使用。 获取临时访问密钥的接口请参考获取临时AK/SK和securitytoken。 OBS属于全局级服务,所以在获取临时访问密钥时,需要设置Token的使用范围取值为domain,表示获取的Token可以作用于全局服务,全局服务不区分项目或者区域。
  • 准备开发环境 从Python官网下载并安装合适的Python版本。 推荐使用的Python 2.x版本:Python 2.7.x版本。 推荐使用的Python 3.x版本:Python 3.6、3.7、3.8、3.9、3.10、3.11版本。 不推荐使用python3.5及以下版本,如要使用需要运行命令pip install secrets,安装安全随机数模块,python2.7版本可用python2-secrets代替。 从PyCharm官网下载并安装最新社区版本。 运行命令 pip install pycryptodome==3.10.1,安装加密库。
  • 代码样例 通过构造函数创建OBS客户端,永久访问密钥(AK/SK)创建OBS客户端代码如下: # 引入模块from obs import ObsClient# 推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险。# 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html。ak = os.getenv("AccessKeyID")sk = os.getenv("SecretAccessKey")# server填写Bucket对应的Endpoint, 这里以华北-北京四为例,其他地区请按实际情况填写。server = "https://obs.cn-north-4.myhuaweicloud.com"# 创建obsClient实例securityToken值obsClient = ObsClient(access_key_id=ak, secret_access_key=sk, server=server)# 使用访问OBS# 关闭obsClientobsClient.close() 临时访问密钥(AK/SK和SecurityToken)创建OBS客户端代码如下: # 引入模块from obs import ObsClient# 推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险。# 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html。ak = os.getenv("AccessKeyID")sk = os.getenv("SecretAccessKey")# 【可选】如果使用临时AKSK和SecurityToken访问OBS,则同样推荐通过环境变量获取security_token = os.getenv("SecurityToken")# server填写Bucket对应的Endpoint, 这里以华北-北京四为例,其他地区请按实际情况填写。server = "https://obs.cn-north-4.myhuaweicloud.com"# 创建obsClient实例# 如果使用临时AKSK和SecurityToken访问OBS,需要在创建实例时通过security_token参数指定securityToken值obsClient = ObsClient( access_key_id=ak, secret_access_key=sk, server=server, security_token=security_token)# 使用访问OBS# 关闭obsClientobsClient.close() 指定获取临时访问密钥的方式 使用单一的获取方式,以从环境变量获取访问密钥的方式为例: # 引入模块from obs import ObsClientfrom obs import loadtoken# 创建ObsClient实例# 提供ENV方式获取访问密钥obsClient = ObsClient( server='https://your-endpoint', security_providers=[loadtoken.ENV])# 使用访问OBS# 关闭obsClientobsClient.close() 通过配置系统环境变量的方式或者通过访问E CS 服务器获取临时访问密钥的方式创建OBS客户端。 使用ENV方式创建OBS客户端的代码如下: # 引入模块from obs import ObsClient# 创建ObsClient实例# 提供ENV方式获取访问密钥obsClient = ObsClient( server='https://your-endpoint', security_provider_policy='ENV')# 使用访问OBS# 关闭obsClientobsClient.close() 以上方式会从当前系统的环境变量中寻找访问密钥,需要对应在环境变量中定义OBS_AC CES S_KEY_ID、OBS_SECRET_ACCESS_KEY字段。同时如果采用临时访问密钥时,还需要在环境变量中定义OBS_SECURITY_TOKEN字段。 使用ECS方式创建OBS客户端的代码如下: # 引入模块from obs import ObsClient# 创建ObsClient实例# 提供ECS方式获取临时访问密钥obsClient = ObsClient( server='https://your-endpoint', security_provider_policy='ECS')# 使用访问OBS# 关闭obsClientobsClient.close() 当应用程序部署在ECS服务器上时,可以采用以上方式从ECS服务器上自动获取临时访问密钥和定期自动刷新。 如果客户端报401错误,则需要排查在创建ECS时是否有添加委托。 在使用该方式获取临时访问密钥时,请确保服务端和应用程序部署所在环境的UTC时间一致,否则可能会导致临时访问密钥无法及时刷新的问题。 除了上述指定一种方式获取访问密钥外,还可以以链式的形式从环境变量及ECS服务器上进行搜索以获取对应的访问密钥。 通过设定security_provider_policy参数为OBS_DEFAULT来指定OBS客户端以链式的方式搜索访问密钥: # 引入模块from obs import ObsClient# 创建ObsClient实例# 以链式的方式从环境变量和ECS中搜索访问密钥 obsClient = ObsClient( server='https://your-endpoint', security_provider_policy='OBS_DEFAULT')# 使用访问OBS# 关闭obsClientobsClient.close() 以上方式通过设定security_provider_policy为OBS_DEFAULT,可以指定以链式的方式从预定义方式列表中搜索访问密钥。当前默认提供从环境变量中以及从ECS服务器上获取访问密钥两种预定义搜索方式,并按照先从环境变量,再从ECS服务器的顺序进行搜索。链式搜索方式会以第一组成功获取到的访问密钥创建OBS客户端。 工程中可以有多个ObsClient,也可以只有一个ObsClient。 ObsClient是线程安全的,可在并发场景下使用。
  • 构造函数参数描述 参数 描述 建议值 access_key_id 访问密钥中的AK。默认为空字符串表示匿名用户。 N/A secret_access_key 访问密钥中的SK。默认为空字符串表示匿名用户。 N/A security_token 临时访问密钥中的SecurityToken。 如何获取临时访问密钥和securitytoken请参见临时访问密钥AK/SK获取; N/A server 连接OBS的服务地址。可包含协议类型、 域名 、端口号。示例:https://your-endpoint:443。(出于安全性考虑,建议使用https协议) N/A max_retry_count HTTP/HTTPS连接异常时的请求重试次数。默认为3次。 [1,5] max_redirect_count HTTP/HTTPS请求重定向的最大次数。默认为10次 [1, 10] timeout HTTP/HTTPS请求超时时间(单位:秒)。默认为60秒。 [10, 60] ssl_verify 验证服务端证书参数,即验证服务端证书与客户端证书配置的证书是否一致。可能的取值: 服务端pem格式根证书文件路径。 True:从操作系统根证书库中获取服务端证书列表并验证服务端证书(仅支持Windows操作系统)。 False:表示不验证服务端证书。 默认为False。 N/A chunk_size 读写socket流时的块大小(单位:字节),您可以根据自身需求设置块大小。默认为65536字节。 默认 long_conn_mode 是否启用长连接模式。默认为False。 N/A proxy_host 代理服务器的主机地址。默认为空。 说明: 请注意,代理服务器的主机地址不要指定http://或https://; N/A proxy_port 代理服务器的端口号。默认为空。 N/A proxy_username 连接代理服务器时使用的用户名。默认为空。 N/A proxy_password 连接代理服务器时使用的用户密码。默认为空。 N/A is_cname 是否通过自定义域名访问OBS服务。默认为False。 更多关于自定义域名相关信息请参见自定义域名。 N/A security_providers 指定允许的访问密钥搜索方式,OBS客户端将使用该参数指定的搜索方式,搜索并获取访问密钥。默认为None。 说明: security_providers参数必须采用列表形式,默认情况下security_providers为None,此时默认提供从环境变量中获取访问密钥,或从ECS服务器获取临时访问密钥两种方式作为security_providers的默认搜索方式。 当指定了security_providers参数时,则不会提供默认搜索方式,此时仅可以使用security_providers中提供的搜索方式。 N/A security_provider_policy 指定访问密钥搜索策略。默认为None。 说明: security_provider_policy参数用于设置搜索策略,默认为None,此时需要显示指定访问密钥;同时,在已经指定了访问密钥参数的情况下,security_provider_policy参数将被忽略。 security_provider_policy设置为OBS_DEFAULT时采用链式搜索方式获取访问密钥; 设置security_provider_policy为预定义方式名(ENV,ECS)时采用对应方式获取访问密钥。 N/A 建议值为N/A的表示需要根据实际情况进行设置。 如网络状况不佳,建议增大timeout的值。 如果设置的server不带协议类型,则默认使用HTTPS协议。 如果启用了长连接模式,使用完OBS客户端后必须调用ObsClient.close方法显式关闭,回收连接资源。 出于DNS解析性能和OBS服务可靠性的考虑,不允许将server设置为IP,必须使用域名访问OBS服务。
  • 返回结果说明 类型 说明 GetResult 参数解释: SDK公共结果对象。 表1 GetResult 参数名称 参数类型 描述 status int 参数解释: HTTP状态码。 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 默认取值: 无 reason str 参数解释: HTTP文本描述。 默认取值: 无 errorCode str 参数解释: OBS服务端错误码,当status参数小于300时为空。 默认取值: 无 errorMessage str 参数解释: OBS服务端错误描述,当status参数小于300时为空。 默认取值: 无 requestId str 参数解释: OBS服务端返回的请求ID。 默认取值: 无 indicator str 参数解释: OBS服务端返回的错误定位码。 默认取值: 无 hostId str 参数解释: 请求的服务端ID,当status参数小于300时为空。 默认取值: 无 resource str 参数解释: 发生错误时相关的桶或对象,当status参数小于300时为空。 默认取值: 无 header list 参数解释: 响应消息头列表,由多个元组构成。每个元组均包含两个元素,代表响应头的键值对。 默认取值: 无 body object 参数解释: 操作成功后的结果数据,当status大于300时为空。该值根据调用接口的不同而不同,参见“桶相关接口”章节和“对象相关接口”章节的详细描述。 默认取值: 无
  • 接口约束 您必须是桶拥有者或拥有删除桶标签的权限,才能删除桶标签。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:DeleteBucketTagging权限,如果使用桶策略则需授予DeleteBucketTagging权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
  • 请求参数说明 参数名称 参数类型 是否必选 描述 bucketName String 必选 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 默认取值: 无 extensionHeaders dict 可选 参数解释: 接口的拓展头域。 取值范围: 参考自定义头域。 默认取值: 无
  • 功能说明 桶客户端是访问OBS某个指定桶的Python客户端,它为调用者提供一系列与OBS服务进行交互的接口,用于管理该桶和桶内对象等OBS服务上的资源。 桶客户端包含除ObsClient.listBuckets、ObsClient.downloadFile、Obsclient.uploadFile、ObsClient.createSignedUrl和ObsClient.createPostSignature外所有OBS客户端的接口,且除省略桶名参数外,桶客户端和OBS客户端的接口保持一致,即两者包含同样的函数名和参数列表。
  • 方式一:使用pip安装(推荐) 运行pip -V命令确保pip已安装。 运行pip install esdk-obs-python --trusted-host pypi.org命令执行安装。 如果您的环境尚未安装pip,请参见pip官网安装。 如果您使用的是Windows操作系统,当运行pip命令时提示“不是内部或外部命令”,请在Path环境变量中增加pip的安装目录(一般为Python所在目录的Scripts文件夹)。 您可能需要重启电脑使环境变量生效。 如果安装出现超时的情况,可以使用国内的镜像源,比如:pip install esdk-obs-python --trusted-host mirrors.huaweicloud.com -i https://mirrors.huaweicloud.com/repository/pypi/simple。
  • 功能说明 通过开启SDK日志功能,可将接口调用过程中产生的日志信息记录到日志文件,用于后续的数据分析或问题定位。具体步骤如下: 找到OBS Python SDK开发包(github获取)中的log.conf文件。其内容格式如下: [ LOG CONF]#Configure log file dirLogFileDir = ./logs#Configure log file nameLogFileName = eSDK-OBS-PYTHON.log#Configure log file size, unit:MBLogFileSize = 30#Configure max log file numbersLogFileNumber = 5#Configure log level for log file (DEBUG | INFO | WARNING | ERROR)LogFileLevel = INFO#Configure whether to print log to console (Yes:1 No:0)PrintLogToConsole = 0#Configure log level for console (DEBUG | INFO | WARNING | ERROR)PrintLogLevel= WARNING 根据实际情况修改log.conf中的配置参数。 调用ObsClient.initLog开启日志功能。 日志功能默认是关闭的,需要主动开启。 您可以从 日志分析 章节获取更多关于SDK日志的信息。 您可以根据实际需要在系统中修改日志文件的权限。 OBS Python SDK的日志模块是线程安全非进程安全的,如果在多进程场景下使用ObsClient请务必为每个ObsClient配置独立的日志路径,防止多个进程并发写日志时发生冲突。
  • 代码样例 # 引入模块from obs import ObsClient# 推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险。# 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html。ak = os.getenv("AccessKeyID")sk = os.getenv("SecretAccessKey")# 【可选】如果使用临时AKSK和SecurityToken访问OBS,则同样推荐通过环境变量获取security_token = os.getenv("SecurityToken")# server填写Bucket对应的Endpoint, 这里以华北-北京四为例,其他地区请按实际情况填写。server = "https://obs.cn-north-4.myhuaweicloud.com"# 创建obsClient实例# 如果使用临时AKSK和SecurityToken访问OBS,需要在创建实例时通过security_token参数指定securityToken值obsClient = ObsClient(access_key_id=ak, secret_access_key=sk, server=server)# 引入日志模块from obs import LogConf# 指定日志配置文件路径,初始化ObsClient日志obsClient.initLog(LogConf('./log.conf'), '*** Your Log Name ***')# 使用ObsClient访问OBS服务# 关闭ObsClient日志obsClient.close()
  • 上传对象简介(Python SDK) 上传对象到指定桶中。在OBS中,用户操作的基本数据单元是对象。OBS Python SDK提供了丰富的对象上传接口,可以通过以下方式上传对象: 文本上传:使用字符串作为对象的数据源。 流式上传:使用包含“read”属性的可读对象作为对象的数据源。 文件上传:使用本地文件作为对象的数据源。 分段上传:对于较大文件上传,可以切分成段上传。 追加上传:对同一个对象追加数据内容。 断点续传上传:对分段上传的封装和加强,解决上传大文件时由于网络不稳定或程序崩溃导致上传失败的问题。 基于表单上传:使用HTML表单形式上传对象到指定桶中。 SDK支持上传0KB~5GB的对象。流式上传、文件上传和追加上传每次上传内容大小不能超过5GB;当上传较大文件时,请使用分段上传,分段上传每段内容大小不能超过5GB;基于表单上传提供了基于浏览器表单上传对象的方式。 如果上传的对象权限设置为匿名用户读取权限,对象上传成功后,匿名用户可通过链接地址访问该对象数据。对象链接地址格式为:https://桶名.域名/文件夹目录层级/对象名。如果该对象存在于桶的根目录下,则链接地址将不需要有文件夹目录层级。 父主题: 对象相关接口(Python SDK)
  • 其他使用前须知 请确认您已经熟悉OBS的基本概念,如桶(Bucket)、对象(Object)、访问密钥(AK和SK)、终端节点(Endpoint)和访问域名等。 当前各区域特性开放不一致,部分特性只在部分区域开放,使用过程中如果接口HTTP状态码为405,请确认该区域是否支持该功能特性。 命名空间:与旧版本(2.1.x)不兼容,所有模块都调整到obs包下。 接口函数:与旧版本(2.1.x)保持兼容。
  • 返回结果说明 表2 返回结果 类型 说明 GetResult 参数解释: SDK公共结果对象。 表3 GetResult 参数名称 参数类型 描述 status int 参数解释: HTTP状态码。 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 默认取值: 无 reason str 参数解释: HTTP文本描述。 默认取值: 无 errorCode str 参数解释: OBS服务端错误码,当status参数小于300时为空。 默认取值: 无 errorMessage str 参数解释: OBS服务端错误描述,当status参数小于300时为空。 默认取值: 无 requestId str 参数解释: OBS服务端返回的请求ID。 默认取值: 无 indicator str 参数解释: OBS服务端返回的错误定位码。 默认取值: 无 hostId str 参数解释: 请求的服务端ID,当status参数小于300时为空。 默认取值: 无 resource str 参数解释: 发生错误时相关的桶或对象,当status参数小于300时为空。 默认取值: 无 header list 参数解释: 响应消息头列表,由多个元组构成。每个元组均包含两个元素,代表响应头的键值对。 默认取值: 无 body object 参数解释: 操作成功后的结果数据,当status大于300时为空。该值根据调用接口的不同而不同,参见“桶相关接口”章节和“对象相关接口”章节的详细描述。 默认取值: 无
  • 接口约束 待删除的桶必须为空,桶为空包含两方面含义: 桶内没有任何对象,没有对象的任何历史版本,没有对象的删除标记(删除标记也视作一个历史版本)。 桶内没有任何未合并的多段上传任务,即桶内不存在碎片。 您必须是桶拥有者或拥有删除桶的权限,才能删除桶。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:DeleteBucket权限,如果使用桶策略则需授予DeleteBucket权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
  • 请求参数说明 表1 请求参数列表 参数名称 参数类型 是否必选 描述 bucketName str 必选 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 默认取值: 无 extensionHeaders dict 可选 参数解释: 接口的拓展头域。 取值范围: 参考自定义头域。 默认取值: 无
  • 返回结果说明 表2 返回结果 类型 说明 GetResult 参数解释: SDK公共结果对象。 表3 GetResult 参数名称 参数类型 描述 status int 参数解释: HTTP状态码。 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 默认取值: 无 reason str 参数解释: HTTP文本描述。 默认取值: 无 errorCode str 参数解释: OBS服务端错误码,当status参数小于300时为空。 默认取值: 无 errorMessage str 参数解释: OBS服务端错误描述,当status参数小于300时为空。 默认取值: 无 requestId str 参数解释: OBS服务端返回的请求ID。 默认取值: 无 indicator str 参数解释: OBS服务端返回的错误定位码。 默认取值: 无 hostId str 参数解释: 请求的服务端ID,当status参数小于300时为空。 默认取值: 无 resource str 参数解释: 发生错误时相关的桶或对象,当status参数小于300时为空。 默认取值: 无 header list 参数解释: 响应消息头列表,由多个元组构成。每个元组均包含两个元素,代表响应头的键值对。 默认取值: 无 body object 参数解释: 操作成功后的结果数据,当status大于300时为空。该值根据调用接口的不同而不同,参见“桶相关接口”章节和“对象相关接口”章节的详细描述。 默认取值: 无
  • 返回结果 表2 返回结果 类型 说明 GetResult 参数解释: SDK公共结果对象。 表3 GetResult 参数名称 参数类型 描述 status int 参数解释: HTTP状态码。 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 默认取值: 无 reason str 参数解释: HTTP文本描述。 默认取值: 无 errorCode str 参数解释: OBS服务端错误码,当status参数小于300时为空。 默认取值: 无 errorMessage str 参数解释: OBS服务端错误描述,当status参数小于300时为空。 默认取值: 无 requestId str 参数解释: OBS服务端返回的请求ID。 默认取值: 无 indicator str 参数解释: OBS服务端返回的错误定位码。 默认取值: 无 hostId str 参数解释: 请求的服务端ID,当status参数小于300时为空。 默认取值: 无 resource str 参数解释: 发生错误时相关的桶或对象,当status参数小于300时为空。 默认取值: 无 header list 参数解释: 响应消息头列表,由多个元组构成。每个元组均包含两个元素,代表响应头的键值对。 默认取值: 无 body object 参数解释: 操作成功后的结果数据,当status大于300时为空。该值根据调用接口的不同而不同,参见“桶相关接口”章节和“对象相关接口”章节的详细描述。 默认取值: 无
  • 关于《华为云云商店商品安全审核标准3.0》上线通知 尊敬的华为云云商店合作伙伴: 感谢您长期以来对华为云云商店(以下简称:云商店)的支持。 为了更好地服务用户,提升云商店的商品安全性以及伙伴在上架过程中安全测试的效率,云商店发布了《云商店商品安全审核标准3.0》,并且在商品上架过程中提供了自动化安全测试和安全自检能力。自2024年10月11日起,在云商店平台上架的产品需要符合《云商店商品安全审核标准3.0》的要求。 1.具体各接入类型的上架方式的调整如下: 接入类型 上线前 上线后 相关指南 通用商品 联营商品 所有商品 镜像商品 1、商家需要提供HSS基线扫描结果和病毒扫描结果,邮件发送至平台安全人员审核。 2、提交镜像后等待安全人员进行人工测试和审核。 1、商家需要执行病毒扫描、HSS基线规则扫描、二进制扫描、WEB 漏洞扫描 。 2、提供手工测试用例的结果。 1、镜像文件在资产中心提交,自动化扫描+安全自检。 2、工具测试内容:病毒、漏洞(业界定义的高危),预置账号、弱密码规则等。 3、联营认证的海顿测试中,无需再执行安全测试。 《镜像类资产管理指导》https://support.huaweicloud.com/usermanual-marketplace/sp_topic_0000056.html License商品 无需测试 1、上传软件包至海顿平台,执行病毒扫描、HSS基线规则扫描、二进制扫描、WEB漏洞扫描。 2、提供手工测试用例的结果 1、软件包在在资产中心提交,自动化扫描+安全自检。 2、工具测试内容:病毒、漏洞(业界定义的高危)等 3、联营认证的海顿测试中,无需再执行安全测试。 《应用资产管理指导》https://support.huaweicloud.com/usermanual-marketplace/zh-cn_topic_0000002037060122.html SaaS商品 在卖家中心填入SaaS网站地址,自动触发WEB漏洞扫描 1、上传软件包至海顿平台,执行病毒扫描、HSS基线规则扫描、二进制扫描、WEB漏洞扫描。 2、提供手工测试用例的结果。 1、卖家中心的SAAS安全扫描界面自动触发WEB漏洞扫描+安全自检。 2、联营认证的海顿测试中,无需再执行安全测试。 《SaaS类商品安全漏洞扫描操作指导》https://support.huaweicloud.com/usermanual-marketplace/zh-cn_topic_0268096870.html 其他商品 不测试 不测试 商家发布商品时进行安全自检 2.您的响应方式: 如您有任何问题,可随时通过工单、服务热线(+86-4000-955-988 )或与云商店邮箱联系(partner@huaweicloud.com) 期待在您的支持下,云商店在2024年能获得更加快速的发展。 感谢您对华为云云商店的支持! 华为云云商店 2024年10月11日 父主题: 通知
  • 通用商品服务协议发布说明 通用商品服务协议发布说明 商品服务协议为线上协议,该协议为商家与买家之间的双方协议 ,下单时勾选生效,线下合同不适用于该场景,协议中不可有留白待填写、盖章生效、签约地点等内容,请调整或下载参考样例模板进行修改,模板可通过点击填写处下方提示中的《通用商品服务协议模板》进行下载。 根据隐私和安全规定,该协议必须包含保护用户个人信息的条款,请添加用户隐私条款。 通用商品服务协议模板填写说明请参考如下内容:
  • 基于客户需求创建 商家可与客户服务商联合销售,由客户服务商创建客户需求,商家接收需求并创建Private Offer,双方协商分成。商家可参考如下操作接收需求并创建Private Offer。 客户服务商提交客户需求的操作流程请参见《创建客户需求》。 客户服务商提交客户需求后,商家进入卖家中心; 点击左侧导航栏“客户需求管理”,进入客户需求管理页面,找到需要接收的客户需求,此时需求状态为“待接收”,点击操作列“接收”按钮; 需求状态变更为“需求转化中”,点击操作列的“创建专属优惠”; 进入创建专属优惠页面,系统会自动带出用户信息和需求商品信息,核对信息后,填写优惠名称和商务折扣等必填信息; 填写完成后,点击提交即可。 若填写的商务折扣在免审折扣范围内,则该商家优惠提交约10分钟后自动生效; 若填写的商务折扣不在免审折扣范围内,则需等待审批完成后,商家优惠创建成功。
  • 关于云商店涉及服务监管订单取消系统最长365天限制,系统将不再自动闭环订单的通知 尊敬的华为云云商店商家: 您好! 2024年3月5日0:00起,云商店涉及服务监管订单取消系统默认最长服务监管时长365天限制的IT功能已优化上线,后续涉及服务监管的订单,在达到365天时,系统将不再自动关闭订单。 原规则: 服务监管时长达到365天时,系统根据用户是否开票自动闭环订单,已开票订单自动确认验收,未开票订单则自动退订。 现规则: 服务监管时长达到365天时系统不再自动闭环订单,针对用户下单超180天仍未能验收的订单,云商店将自动推送提醒通知至订单中用户所归属BD及商品所属商家。请商家在收到预警信息后,及时与一线和用户联系,加快项目交付。 通知规则:针对服务监管超过180天未完成交付订单,系统自动发送预警。 通知频率:每周一次(每周一上午9:00) 通知对象:(1)用户所属BD :发送手机短信和应用号;(2)商品所属商家:发送邮件和手机短信至商家在服务商信息中预留的联系方式。 请商家关注订单交付进展,项目交付完成后尽快在【卖家中心-服务监管】上传交付验收件闭环订单。 *如您有任何问题,可随时通过工单或者服务邮箱(partner@huaweicloud.com)与我们联系。 感谢您对华为云云商店的支持! 华为云云商店 2024年3月13日 父主题: 通知
  • SSB测试结果 经过针对SSB宽表场景对DWS和开源OLAP产品ClickHouse的对比测试发现:使用hstore_opt表,配合turbo存储、turbo引擎, DWS查询性能整体优于开源产品ClickHouse 2倍。 表1 SSB测试结果 SSB DWS ClickHouse Q1.1 0.074 0.059 Q1.2 0.039 0.021 Q1.3 0.102 0.022 Q2.1 0.052 0.254 Q2.2 0.236 0.281 Q2.3 0.064 0.214 Q3.1 0.101 0.434 Q3.2 0.049 0.348 Q3.3 0.032 0.299 Q3.4 0.010 0.025 Q4.1 0.085 0.456 Q4.2 0.047 0.171 Q4.3 0.023 0.146 总时长(s) 0.913 2.73 父主题: SSB性能测试
  • TPC-DS测试数据 表1 TPC-DS测试数据 序号 表名 行数 表大小 1 customer_address 6,000,000 126MB 2 customer_demographics 1,920,800 11MB 3 date_dim 73,049 11MB 4 warehouse 20 1200KB 5 ship_mode 20 864KB 6 time_dim 86,400 1520KB 7 reason 65 720KB 8 income_band 20 720KB 9 item 300,000 23MB 10 store 1,002 2400KB 11 call_center 42 1968KB 12 customer 12,000,000 519MB 13 web_site 54 1824KB 14 household_demographics 7,200 1208KB 15 web_page 3,000 2208KB 16 promotion 1,500 2112KB 17 catalog_page 30,000 3536KB 18 inventory 783,000,000 2499MB 19 catalog_returns 143,996,756 8454MB 20 web_returns 71,997,522 3990MB 21 store_returns 287,999,764 13GB 22 web_sales 720,000,376 54GB 23 catalog_sales 1,439,980,416 104GB 24 store_sales 2,879,987,999 142GB 父主题: TPC-DS测试过程
  • SSB数据生成 下载ssb工具包并编译。 git clone http://github.com/vadimtk/ssb-dbgen.gitcd ssb-dbgen && make 生成数据。 文件生成路径最好符合安装和启动GDS中SSB所使用的路径,否则需要修改安装和启动GDS中GDS的启动路径。 ./dbgen -s 100 -T c./dbgen -s 100 -T l./dbgen -s 100 -T p./dbgen -s 100 -T s./dbgen -s 100 -T d 父主题: SSB测试过程
  • TPC-DS测试结果 本测试主要包括使用存算一体和存算分离两种部署架构下,TPC-DS 1T规模数据集的开箱查询性能,共99个查询。存算一体查询总耗时为622.21s,存算分离查询总耗时为645.42s。详细结果见下表。 表1 TPC-DS测试结果 TPC-DS查询 8.3.0 9.1.0.210 - 存算一体(s) 存算一体(s) 存算分离(s) Q1 2.03 0.513 0.546 Q2 9.14 4.036 4.286 Q3 1.52 1.228 1.426 Q4 200.44 125.877 122.118 Q5 3.11 1.403 1.509 Q6 0.39 0.399 0.366 Q7 1.85 1.665 2.227 Q8 0.72 0.481 0.483 Q9 11.14 13.604 12.354 Q10 1.08 0.711 0.876 Q11 92.20 62.143 63.736 Q12 0.20 0.131 0.132 Q13 2.50 3.502 3.853 Q14 74.98 17.622 18.407 Q15 2.11 0.412 0.434 Q16 6.51 3.148 3.256 Q17 2.93 1.168 2.618 Q18 2.16 1.191 1.443 Q19 0.70 0.665 0.771 Q20 0.18 0.108 0.086 Q21 0.18 0.084 0.084 Q22 5.84 1.089 1.286 Q23 144.71 85.005 90.962 Q24 8.55 9.033 9.438 Q25 3.10 1.262 2.580 Q26 0.63 0.449 0.516 Q27 2.03 1.739 2.219 Q28 13.32 6.293 6.623 Q29 2.50 2.049 2.364 Q30 0.73 0.404 0.402 Q31 3.73 3.045 2.902 Q32 0.18 0.089 0.096 Q33 1.28 0.821 0.815 Q34 2.13 2.653 3.011 Q35 3.00 2.132 1.743 Q36 6.21 1.766 1.971 Q37 0.34 0.231 0.268 Q38 52.24 10.150 11.110 Q39 5.57 5.057 5.475 Q40 0.66 0.128 0.126 Q41 0.04 0.036 0.033 Q42 0.70 0.389 0.436 Q43 1.99 1.256 1.410 Q44 3.25 2.218 2.381 Q45 0.82 0.399 0.404 Q46 4.63 3.569 4.154 Q47 6.91 4.542 5.156 Q48 2.37 3.129 3.508 Q49 3.01 2.291 2.478 Q50 5.82 3.694 4.204 Q51 10.67 4.368 4.630 Q52 0.70 0.384 0.457 Q53 0.88 0.715 0.794 Q54 3.96 0.609 4.123 Q55 0.66 0.402 0.421 Q56 0.84 0.751 0.707 Q57 3.12 1.643 1.826 Q58 0.76 0.548 0.449 Q59 17.30 8.824 9.302 Q60 1.75 0.920 0.988 Q61 1.10 0.980 1.013 Q62 1.29 0.813 0.779 Q63 0.86 0.697 0.799 Q64 14.20 6.504 7.643 Q65 6.92 3.988 3.630 Q66 1.50 1.018 1.077 Q67 153.90 54.645 56.221 Q68 3.65 2.764 3.395 Q69 0.93 0.720 0.689 Q70 23.13 3.016 3.255 Q71 2.33 2.211 2.196 Q72 3.69 2.270 2.521 Q73 1.40 1.743 2.068 Q74 37.27 34.956 29.475 Q75 11.85 5.517 5.769 Q76 3.37 2.364 2.730 Q77 1.30 1.112 1.141 Q78 152.21 12.058 14.874 Q79 4.49 3.766 4.449 Q80 3.56 1.696 1.770 Q81 0.64 0.390 0.409 Q82 0.75 0.655 0.735 Q83 0.15 0.085 0.216 Q84 0.24 0.221 0.234 Q85 2.78 1.151 1.512 Q86 2.59 0.345 0.364 Q87 78.17 10.557 11.300 Q88 6.90 9.081 9.688 Q89 2.61 0.918 1.058 Q90 0.64 0.569 0.787 Q91 0.15 0.135 0.114 Q92 0.20 0.118 0.127 Q93 7.53 3.977 4.413 Q94 3.49 1.746 2.109 Q95 29.57 27.629 25.971 Q96 1.49 1.844 2.062 Q97 8.49 3.341 3.674 Q98 1.09 0.938 0.865 Q99 2.37 1.503 1.516 SUM 1321.757 645.424 622.214 父主题: TPC-DS性能测试
  • Q13 1 2 3 4 5 6 7 8 91011121314151617181920 SELECTc_count,count(*) as custdistFROM(SELECTc_custkey,count(o_orderkey)FROMcustomer left outer join orders onc_custkey = o_custkeyand o_comment not like '%special%requests%'GROUP BYc_custkey) as c_orders (c_custkey, c_count)GROUP BYc_countORDER BYcustdist desc,c_count desc;
  • Q9 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132 SELECTnation,o_year,sum(amount) as sum_profitFROM(SELECTn_name as nation,extract(year FROM o_orderdate) as o_year,l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity as amountFROMpart,supplier,lineitem,partsupp,orders,nationWHEREs_suppkey = l_suppkeyand ps_suppkey = l_suppkeyand ps_partkey = l_partkeyand p_partkey = l_partkeyand o_orderkey = l_orderkeyand s_nationkey = n_nationkeyand p_name like '%green%') as profitGROUP BYnation,o_yearORDER BYnation,o_year desc;
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全