华为云用户手册

  • 准备开发环境 从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资源。获取访问密钥前,请确保访问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可以作用于全局服务,全局服务不区分项目或者区域。
  • SDK API概览 表1 Python SDK API概览 接口名 方法 功能描述 创建桶 ObsClient.createBucket 创建桶。 获取桶列表 ObsClient.listBuckets 查询桶列表,返回结果按照桶名字典序排列。 判断桶是否存在 ObsClient.headBucket 判断桶是否存在。 删除桶 ObsClient.deleteBucket 删除桶,待删除的桶必须为空。 列举桶内对象 ObsClient.listObjects 列举桶内对象,默认返回最大1000个对象。 列举桶内多版本对象 ObsClient.listVersions 列举桶内多版本对象,默认返回最大1000个多版本对象。 列举分段上传任务 ObsClient.listMultipartUploads 列举指定桶中所有的初始化后还未合并或还未取消的分段上传任务。 获取桶元数据 ObsClient.getBucketMetadata 对桶发送HEAD请求,获取桶的存储类型,CORS规则(如果已设置)等信息。 获取桶区域位置 ObsClient.getBucketLocation 获取桶所在的区域位置。 获取桶存量信息 ObsClient.getBucketStorageInfo 获取桶的存量信息,包含桶的空间大小以及对象个数。 设置桶配额 ObsClient.setBucketQuota 设置桶的配额值,单位为字节,支持的最大值为263-1,配额值设为0表示桶的配额没有上限。 获取桶配额 ObsClient.getBucketQuota 获取桶的配额值,0代表配额没有上限。 设置桶存储类型 ObsClient.setBucketStoragePolicy 设置桶的存储类型,桶中对象的存储类型默认将与桶的存储类型保持一致。 获取桶存储类型 ObsClient.getBucketStoragePolicy 获取桶的存储类型。 设置桶ACL ObsClient.setBucketAcl 设置桶的访问权限。 获取桶ACL ObsClient.getBucketAcl 获取桶的访问权限。 设置桶日志管理配置 ObsClient.setBucketLogging 设置桶的访问日志配置。 获取桶日志管理配置 ObsClient.getBucketLogging 获取桶的访问日志配置。 设置桶策略 ObsClient.setBucketPolicy 配置桶的策略,如果桶已经存在一个策略,那么当前请求中的策略将完全覆盖桶中现存的策略。 获取桶策略 ObsClient.getBucketPolicy 获取桶的策略配置。 删除桶策略 ObsClient.deleteBucketPolicy 删除桶的策略配置。 设置桶的生命周期配置 ObsClient.setBucketLifecycle 配置桶的生命周期规则,实现定时转换桶中对象的存储类型,以及定时删除桶中对象的功能。 获取桶的生命周期配置 ObsClient.getBucketLifecycle 获取桶的生命周期规则。 删除桶的生命周期配置 ObsClient.deleteBucketLifecycle 删除桶所有的生命周期规则。 设置桶的Website配置 ObsClient.setBucketWebsite 设置桶的Website配置。 获取桶的Website配置 ObsClient.getBucketWebsite 获取桶的Website配置。 删除桶的Website 配置 ObsClient.deleteBucketWebsite 删除指定桶的Website配置。 设置桶的多版本状态 ObsClient.setBucketVersioning 设置桶的多版本状态。 获取桶的多版本状态 ObsClient.getBucketVersioning 获取桶的多版本状态。 设置桶的CORS配置 ObsClient.setBucketCors 设置桶的跨域资源共享规则,以允许客户端浏览器进行跨域请求。 获取桶的CORS配置 ObsClient.getBucketCors 获取指定桶的跨域资源共享规则。 删除桶的CORS配置 ObsClient.deleteBucketCors 删除指定桶的跨域资源共享规则。 设置桶标签 ObsClient.setBucketTagging 设置桶的标签。 获取桶标签 ObsClient.getBucketTagging 获取指定桶的标签。 删除桶标签 ObsClient.deleteBucketTagging 删除指定桶的标签。 上传对象 ObsClient.putContent 上传对象到指定桶中。 上传文件 ObsClient.putFile 上传文件/文件夹到指定桶中。 追加上传 ObsClient.appendObject 对同一个对象追加数据内容。 下载对象 ObsClient.getObject 下载指定桶中的对象。 复制对象 ObsClient.copyObject 为指定桶中的对象创建一个副本。 删除对象 ObsClient.deleteObject 删除指定桶中的对象。 批量删除对象 ObsClient.deleteObjects 批量删除指定桶中的多个对象。 获取对象元数据 ObsClient.getObjectMetadata 对指定桶中的对象发送HEAD请求,获取对象的元数据信息。 修改对象元数据 ObsClient.setObjectMetadata 对指定桶中的对象的元数据信息。 设置对象ACL ObsClient.setObjectAcl 设置指定桶中对象的访问权限。 获取对象ACL ObsClient.getObjectAcl 获取指定桶中对象的访问权限。 初始化分段上传任务 ObsClient.initiateMultipartUpload 在指定桶中初始化分段上传任务。 上传段 ObsClient.uploadPart 初始化分段上传任务后,通过分段上传任务的ID,上传段到指定桶中。 复制段 ObsClient.copyPart 初始化分段上传任务后,通过分段上传任务的ID,复制段到指定桶中。 列举已上传的段 ObsClient.listParts 通过分段上传任务的ID,列举指定桶中已上传的段。 合并段 ObsClient.completeMultipartUpload 通过分段上传任务的ID,合并指定桶中已上传的段。 取消分段上传任务 ObsClient.abortMultipartUpload 通过分段上传任务的ID,取消指定桶中的分段上传任务。 恢复归档存储对象 ObsClient.restoreObject 恢复指定桶中的归档存储对象。 生成带授权信息的URL ObsClient.createSignedUrl 通过访问密钥、请求方法类型、请求参数等信息生成一个在Query参数中携带鉴权信息的URL,以对OBS服务进行特定操作。 生成带授权信息的表单上传参数 ObsClient.createPostSignature 生成用于鉴权的请求参数,以进行基于浏览器的POST表单上传。 断点续传上传 ObsClient.uploadFile 对分段上传的封装和加强,解决上传大文件时由于网络不稳定或程序崩溃导致上传失败的问题。 断点续传下载 ObsClient.downloadFile 对范围下载的封装和加强,解决下载大对象到本地时由于网络不稳定或程序崩溃导致下载失败的问题。 创建工作流 WorkflowClient.createWorkflow 根据模板创建工作流。 查询工作流 WorkflowClient.getWorkflow 按名称查询工作流。 删除工作流 WorkflowClient.deleteWorkflow 删除存在的工作流。 更新工作流 WorkflowClient.updateWorkflow 更新工作流。 查询工作流列表 WorkflowClient.listWorkflow 查询工作流列表。 API触发启动工作流 WorkflowClient.asyncAPIStartWorkflow API触发启动工作流。 查询工作流实例列表 WorkflowClient.listWorkflowExecution 查询工作流实例列表。 查询工作流实例 WorkflowClient.getWorkflowExecution 查询工作流实例详细。 恢复失败状态的工作流实例 WorkflowClient.restoreFailedWorkflowExecution 当且仅当一个工作流实例是执行失败状态才能执行恢复操作。恢复后,工作流实例将从上次失败的状态处继续执行,而已经执行过的状态不会再执行。 配置桶触发器 WorkflowClient.putTriggerPolicy 在桶上绑定工作流触发器。 查询桶触发器 WorkflowClient.getTriggerPolicy 查询桶上绑定工作流触发器。 删除桶触发器 WorkflowClient.deleteTriggerPolicy 删除在桶上绑定工作流触发器。
  • 接口约束 您必须是桶拥有者或拥有上传对象的权限,才能上传对象。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:object:PutObject权限,如果使用桶策略则需授予PutObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 用户上传的对象存储在桶中。用户必须对桶有WRITE权限,才可以在桶中上传对象。同一个桶中存储的对象名必须是唯一的。 每次追加上传都会更新该对象的最后修改时间。 服务端加密SSE-C方式,那么追加上传和初始化段一样,设置诸如x-obs-server-side-encryption之类的请求Header,后续追加上传也必须携带。 服务端加密SSE-KMS方式,有且只有第一次上传且桶内不存在同名对象时,才设置诸如x-obs-server-side-encryption之类的请求Header,后续追加上传不携带。 每次追加上传的长度不能超过对象长度上限5G的限制。 每个Appendable对象追加写次数最多为10000次。 如果对象存储类型为COLD(归档存储)或深度归档存储,则不能调用该接口。 如果桶设置了跨区域复制配置,则不能调用该接口。 并行文件系统不支持追加写对象。
  • 返回结果 表10 返回结果 类型 说明 GetResult 参数解释: SDK公共结果对象。 表11 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时为空。该值根据调用接口的不同而不同,参见“桶相关接口”章节和“对象相关接口”章节的详细描述。 默认取值: 无 表12 GetResult.body GetResult.body类型 说明 AppendObjectResponse 参数解释: 追加上传的响应结果,参考AppendObjectResponse。 表13 AppendObjectResponse 参数名称 参数类型 描述 storageClass str 参数解释: 对象的存储类型。 取值范围: 当对象存储类型是标准存储时,该值为空。 可选择的存储类型参见StorageClass。 默认取值: 无 etag str 参数解释: 对象的etag值,即base64编码的128位MD5摘要。etag是对象内容的唯一标识,可以通过该值识别对象内容是否有变化。比如上传对象时etag为A,下载对象时etag为B,则说明对象内容发生了变化。etag只反映变化的内容,而不是其元数据。上传的对象或拷贝操作创建的对象,都有唯一的etag。 约束限制: 当对象是服务端加密的对象时,etag值不是对象的MD5值。 取值范围: 长度为32的字符串。 默认取值: 无 nextPosition int 参数解释: 下次追加上传的位置。 取值范围: 大于等于0的整型数,单位:字节。 默认取值: 无 sseKms str 参数解释: SSE-KMS方式的算法。 取值范围: kms,即以SSE-KMS方式加密对象。 默认取值: 无 sseKmsKey str 参数解释: SSE-KMS加密方式下使用的KMS主密钥的ID值。 取值范围: 有效值支持两种格式: regionID:domainID(账号ID):key/key_id key_id 其中: regionID是使用密钥所属region的ID,可在地区和终端节点页面获取; domainID是使用密钥所属账号的账号ID,获取方法参见如何获取账号ID和用户ID?(Python SDK); key_id是从 数据加密 服务创建的密钥ID,获取方法请参见查看密钥。 默认取值: 如果用户没有提供该头域,那么默认的主密钥将会被使用。 如果默认主密钥不存在,将默认创建并使用。 sseC str 参数解释: SSE-C方式的算法。 取值范围: AES256。 默认取值: 无 sseCKeyMd5 str 参数解释: SSE-C方式下加密使用密钥的MD5值,该值用于验证密钥传输过程中是否出错。 约束限制: 由密钥值经过MD5加密再经过Base64编码后得到,示例:4XvB3tbNTN+tIEVa0/fGaQ== 默认取值: 无 objectUrl str 参数解释: 对象的全路径。 默认取值: 无
  • 其他使用前须知 请确认您已经熟悉OBS的基本概念,如桶(Bucket)、对象(Object)、访问密钥(AK和SK)、终端节点(Endpoint)和访问 域名 等。 当前各区域特性开放不一致,部分特性只在部分区域开放,使用过程中如果接口HTTP状态码为405,请确认该区域是否支持该功能特性。 命名空间:与旧版本(2.1.x)不兼容,所有模块都调整到obs包下。 接口函数:与旧版本(2.1.x)保持兼容。
  • 请求参数说明 参数名称 参数类型 是否必选 描述 bucketName str 必选 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 默认取值: 无 extensionHeaders dict 可选 参数解释: 接口的拓展头域。 取值范围: 参考自定义头域。 默认取值: 无
  • 接口约束 您必须是桶拥有者或拥有获取桶标签的权限,才能获取桶标签。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:GetBucketTagging权限,如果使用桶策略则需授予GetBucketTagging权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
  • 接口约束 您必须是桶拥有者或拥有设置桶的多版本状态的权限,才能设置桶的多版本状态。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:PutBucketVersioning权限,如果使用桶策略则需授予PutBucketVersioning权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
  • 请求参数说明 参数名称 参数类型 是否必选 描述 bucketName str 必选 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 默认取值: 无 status str 必选 参数解释: 桶的多版本状态。 取值范围: 桶的多版本状态,支持的值: Enabled:启用 Suspended:暂停 默认取值: 无 extensionHeaders dict 可选 参数解释: 接口的拓展头域。 取值范围: 参考自定义头域。 默认取值: 无
  • 返回结果说明 类型 说明 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:object:DeleteObject权限,如果使用桶策略则需授予DeleteObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 桶没有开启多版本控制功能时,已删除的对象不可恢复,请谨慎操作。
  • 返回结果 表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时为空。该值根据调用接口的不同而不同,参见“桶相关接口”章节和“对象相关接口”章节的详细描述。 默认取值: 无 表4 GetResult.body GetResult.body类型 说明 DeleteObjectResponse 参数解释: 删除对象响应结果。详见DeleteObjectResponse。 表5 DeleteObjectResponse 参数名称 参数类型 描述 deleteMarker bool 参数解释: 标识删除的对象是否是删除标记。 取值范围: true:是删除标记。 false:不是删除标记。 默认取值: false versionId str 参数解释: 对象的版本号,用于删除指定版本号的对象。例如:G001117FCE89978B0000401205D5DC9。 取值范围: 长度为32的字符串。 默认取值: 无,如果不设置则默认删除最新版本的对象。
  • 请求参数 表1 请求参数列表 参数名称 参数类型 是否必选 描述 bucketName str 必选 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 默认取值: 无 objectKey str 必选 参数解释: 目标对象名。对象名是对象在存储桶中的唯一标识。对象名是对象在桶中的完整路径,路径中不包含桶名。 例如,您对象的访问地址为examplebucket.obs.cn-north-4.myhuaweicloud.com/folder/test.txt 中,对象名为folder/test.txt。 取值范围: 长度大于0且不超过1024的字符串。 默认取值: 无 versionId str 可选 参数解释: 对象的版本号,用于删除指定版本号的对象。例如:G001117FCE89978B0000401205D5DC9。 取值范围: 长度为32的字符串。 默认取值: 无,如果不设置则默认删除最新版本的对象。 extensionHeaders dict 可选 参数解释: 接口的拓展头域。 取值范围: 参考自定义头域。 默认取值: 无
  • GUC参数 表8 GUC参数 变更类型 序号 名称 变更描述 新增 1 space_readjust_schedule 用户、schema空间是否自动校准的参数,默认值:auto,支持范围:off/auto/auto(xxxK/M/G)。 2 space_once_adjust_num 空间管控和空间统计功能中,控制慢速构建与细粒度校准操作中每次处理的文件个数阈值,默认值:300。 3 tag_cache_max_number 该参数用于设置全局哈希表tag cache缓存item的最大阈值,默认值10000000。 4 enable_tagbucket_auto_adapt 该参数用于设置是否开启tagbucket自适应调整,默认值on。 5 cache_tag_value_num 该参数用于在tag列lateread场景时,设置缓存的tag元组数量,默认值60000。 6 buffer_ring_ratio 用于控制行存Ringbuffer的阈值和开关,默认值250,即1/4(250/1000),与以前逻辑一致。 7 enable_stream_ctescan 新增参数,升级默认关闭,新装默认打开。控制stream计划是否开启share scan功能。 8 behavior_compat_options 新增disable_including_all_mysql选项用于控制MySQL兼容模式下create table like语法是否为including all模式,默认不设置,create table like语法为including_all模式。 9 profile_logging_module 增加GUC参数profile_logging_module配置记录性能日志的类型,升级和新装均默认打开OBS、HADOOP、REMOTE_DATANODE,关闭MD。该参数方法与日志模块开关logging_module相同。 10 object_mtime_record_mode 控制pg_object记录修改时间的行为,默认保持老版本行为,新增选项可控制不记录分区/truncate/grant/revoke。 11 skew_option 控制是否使用优化策略。 12 ddl_lock_timeout 配置ddl锁超时的时间。 修改 13 rewrite_rule 新增选项orconversion,默认打开。 使用等值关联的OR条件优化规则。变更点:计划从nestloop转到hashjoin。 新增选项projection_pushdown,默认打开。 变更点:子查询/CTE/视图中未使用的列被优化删除。 14 default_orientation 新增userset guc参数default_orientation,用于控制用户默认建表(不设置orientation)的类型,参数有三种类型可以设置: 行存表(row),列存表(column),开启delta表的列存表(column enabledelta)。 15 max_process_memory 初始化安装时OM设置max_process_memory公式为:可用内存*0.7/(1+DN数),其中系数0.7改为0.8。老集群升级、扩容等场景不变。 16 enable_bloom_filter 复用原参数,现用于控制列存BloomFilter,默认值不变(打开)。 17 retry_ecode_list 默认值新增45003,主要是处理list分区表查询和add分区并发场景下,查询分区可能错位的问题。 18 auth_iteration_count 将默认值从50000减少到10000,新装、升级均会修改。参数表示客户端和服务端密码哈希迭代次数。
  • 系统函数 表5 系统函数 变更类型 序号 名称 变更描述 新增 1 rb_build 将int数组转成一个bitmap类型。 2 rb_to_array rb_build的逆向操作,把RoaringBitmap转成int数组。 3 rb_and 两个RoaringBitmap做交集操作。 4 rb_or 两个RoaringBitmap做并集操作。 5 rb_xor 两个RoaringBitmap做异或操作。 6 rb_andnot 两个RoaringBitmap做and后取反。 7 rb_cardinality 计算一个RoaringBitmap的基数。 8 rb_and_cardinality 计算两个RoaringBitmap求and以后的基数。 9 rb_or_cardinality 计算两个RoaringBitmap求or以后的基数。 10 rb_xor_cardinality 计算两个RoaringBitmap求xor以后的基数。 11 rb_andnot_cardinality 计算两个RoaringBitmap求andnot以后的基数。 12 rb_is_empty 判断一个RoaringBitmap是否为空。 13 rb_equals 判断两个RoaringBitmap是否相等。 14 rb_intersect 判断两个RoaringBitmap是否相交。 15 rb_contain 判断第一个RoaringBitmap是否包含指定的值。 16 rb_add RoaringBitmap中增加一个值。 17 rb_remove RoaringBitmap中删除一个值。 18 rb_flip 翻转指定范围的RoaringBitmap。 19 rb_min 求一个RoaringBitmap的最小值。 20 rb_max 求一个RoaringBitmap的最大值。 21 rb_rank 返回Bitmap中小于等于指定Offset的基数。 22 rb_contain_rb 判断第一个RoaringBitmap是否包含第二个roaringbitmap。 23 rb_containedby_rb 判断第二个RoaringBitmap是否包含第一个roaringbitmap。 24 rb_containedby 判断指定的值是否被指定的roaringbitmap包含。 25 rb_iterate 返回RoaringBitmap对应的int 。 26 rb_and_agg 将RoaringBitmap列按照and逻辑做聚合。 27 rb_or_agg 将RoaringBitmap列按照or逻辑做聚合。 28 rb_xor_agg 将RoaringBitmap列按照xor逻辑做聚合。 29 rb_and_cardinality_agg 将RoaringBitmap列按照and逻辑做聚合后的基数。 30 rb_or_cardinality_agg 将RoaringBitmap列按照or逻辑做聚合后的基数。 31 rb_xor_cardinality_agg 将RoaringBitmap列按照xor逻辑做聚合后的基数。 32 rb_build_agg 将int列聚合成RoaringBitmap类型数据。 33 pgxc_wlm_readjust_relfilenode_size_table() 空间统计校准函数,不重建PG_RELFILENODE_SIZE系统表,重新校准用户和schema空间。 34 gs_table_distribution() 快速查询系统中表大小的函数。 35 pg_obs_cold_refresh_time 修改obs多温表自动切换任务时间。 36 gs_clean_tag_relation 清理tag表中无用的tagid行数据。该函数入参为时序表OID,每个分区遍历cudesc表tagid列的最小值,从而得到整个时序表tagid的最小值。 37 proc_drop_partition 用于将分区boundary时间超过TTL的分区进行drop。 38 proc_add_partition 用于为分区表创建分区。 39 pg_collation_actual_version 返回ICU排序规则的实际版本号。 40 first 分组内第一个元素。 41 last 分组内最后一个元素。 42 mode 分组内出现频率最高的值。 43 delta 相邻两行的差值。 44 percentile_of_value 近似百分位的值。 45 value_of_percentile 近似百分位。 46 spread 分组内最大值和最小值的差值。 47 pg_flush_buffers 刷出所有行存脏页。 修改 48 pg_stat_activity系列视图 pg_stat_get_activity_with_conninfo、pg_stat_activity、pgxc_stat_activity、pg_stat_get_activity视图新增stmt_type和lwtid列。 49 pg_authid系统表新增两行 新增pg_role_signal_backend,pg_role_read_all_stats预置角色。 50 vac_fileclear_relation 可以返回指定表真实清理文件的数量,不清理返回0。 51 vac_fileclear_all_relation 可以返回所有列存表真实清理文件的数量,不清理则返回0。
  • 系统视图 表6 系统视图 变更类型 序号 名称 变更描述 新增 1 pgxc_session_wlmstat 新增视图。 2 pg_comm_query_speed 新增视图,根据query_id查询发送信息。 3 pgxc_respool_resource_info pgxc_respool_runtime_info pgxc_respool_resource_history gs_respool_resource_info gs_respool_runtime_info 资源监控新增相关视图。 4 pgxc_wait_detail pgxc_lockwait_detail 新增pg_locks增强视图。 修改 5 DBA_PART_INDEXES DBA_PART_TABLES DBA_TAB_PARTITIONS USER_IND_PARTITIONS USER_PART_INDEXES USER_TAB_PARTITIONS 增加相关list分区描述。 6 pgxc_wlm_session_statistics 视图从所有CN查询TopSQL实时信息的逻辑由串行修改为并行,提升性能,功能不变。 7 all_indexes sys和pg_catalog下面的视图all_indexes定义存在问题,不同scheam下存在同名对象的场景下会导致结果集膨胀。
  • 行为变更 表7 行为变更 变更类型 序号 名称 变更描述 修改 1 create index目标表为时序表时 时序表创建的任何索引都会转换为tag表上的双索引,该双索引的索引列为指定的建索引的列。 2 负载管理新增二次管控 负载管理引入二次管控,提供更精细化的管控,FUNCTION、函数和多语句中包含复杂查询的可能触发多次管控,设置enable_transaction_parctl=off可以关闭二次管控,但同时会关闭事务块语句和多语句管控。 3 负载管理autoanalyze纳管 查询触发autoanalyze管控逻辑由不管控修改为管控,设置enable_transaction_parctl=off可以关闭autoanalyze管控。 4 用户监控视图pg_total_user_resource_info CPU/内存资源使用和限制全部修改为用户在集群内的资源使用和资源限制。 CPU、IO、内存监控规格变更:由只监控复杂作业修改为监控所有作业。 CPU监控逻辑变更:由cgroup监控修改为作业CPU监控汇总。 5 审计日志 事务内语句在未设置审计事务但设置审计对应语句类型时,仍进行审计。 DECLARE CURSOR语句在guc参数audit_operation_exec设置select时也进行审计。
  • 系统表 表4 系统表 变更类型 序号 名称 变更描述 新增 1 rb_added RoaringBitmap中增加一个值。 2 pg_partition pg_partition新增字段boundexprs。 3 pg_relfilenode_size 新增系统表。 4 pg_attribute pg_attribute新增attkvtype列,记录列的kvtype类型。 5 pg_collation 新增一条记录case_insensitive,用于支持大小写不敏感行为。
  • 关键字 表3 关键字 变更类型 序号 名称 变更描述 新增 1 MATERIALIZED with cte as后新增[NOT] MATERIALIZED语法。作为非保留关键字,不影响其作为其他对象名,作为列别名时需要加AS。 2 time_fill 用于时间填充表达式输出time_fill列,作为关键字,不能用作函数名和自定义数据类型名。 3 fill_first/fill_last/fill_avg 用于时间填充表达式,输出填充列,作为关键字,不能用作函数名和自定义数据类型名。 4 list 用于指定分区表类型,作为非保留关键字,不影响其作为其他对象名,作为列别名时需要加AS。 5 tsfield/tstag/tstime 用于指定时序表kvtype类型,作为非保留关键字,不影响其作为其他对象名,作为列别名时需要加AS。
  • 移动应用安全扫描报告模板说明 下载扫描报告后,您可以根据扫描结果,对漏洞进行修复,报告模板主要内容说明如下:(以下截图中的数据仅供参考,请以实际扫描报告为准) 应用基本信息检测 应用检测的基本信息和检测概况。 图1 应用基本信息 应用漏洞检测 您可以参考每个组件扫描出的漏洞详细信息修复漏洞。 图2 应用漏洞检测 应用隐私合规检测 图3 应用隐私合规检测 应用权限信息检测 图4 应用权限信息 应用组件信息检测 查看软件的所有组件信息。 图5 应用组件信息 移动应用安全评测依据 图6 移动应用安全评测信息 隐私数据清单 图7 隐私数据清单
  • 主机 漏洞扫描 报告模板说明 下载扫描报告后,您可以根据扫描结果,对漏洞进行修复,报告模板说明如下: 主机概览 查看目标主机的基本信息。 图2 查看主机概览信息 扫描信息概览 查看目标主机的扫描总览信息。 图3 查看扫描概览信息 系统漏洞扫描详情 您可以根据修复建议修复系统漏洞。 图4 查看漏洞详情以及修复建议 基线检查详情 您可以根据修复建议修复基线漏洞。 图5 查看基线检查结果以及修复建议 当“基线检查”页签无数据显示时,则不会在报告中体现基线检查的信息。
  • 相关操作 有关网站扫描得分的计算方法参考如下: 扫描任务被创建后,初始得分是一百分,任务扫描完成后,根据扫描出的漏洞级别会扣除相应的分数。 网站扫描:高危减10分,中危减5分,低危减3分,无漏洞则不扣分。 得分越高,表示漏洞数量越少,网站越安全。 如果得分偏低,请根据实际情况对漏洞进行忽略标记,或根据修复建议修复漏洞,或使用 Web应用防火墙 服务为您的网站保驾护航。 漏洞修复后,建议重新扫描一次查看修复效果。 有关修复漏洞的详细介绍,请参见漏洞管理服务能修复扫描出来的漏洞吗?
  • 相关操作 有关主机扫描得分的计算方法参考如下: 扫描任务被创建后,初始得分是一百分,任务扫描完成后,根据扫描出的漏洞级别会扣除相应的分数。 主机评分 = 100分 – 高危漏洞数 * 3分/个 – 中危漏洞数 * 2分/个 – 低危漏洞数 * 1分/个。每类漏洞最多计算20个。 得分越高,表示漏洞数量越少,主机越安全。 如果得分偏低,请根据实际情况对漏洞进行忽略标记,或根据修复建议修复漏洞。 漏洞修复后,建议重新扫描一次查看修复效果。 有关修复主机漏洞的详细介绍,请参见如何修复扫描出来的主机漏洞?。
  • 操作场景 该任务指导已购买专业版、高级版或者企业版的用户增加扫描的域名配额。 若用户以前使用过基础版( 免费体验 版)进行扫描,在升级为专业版时,基础版所有的已有域名会占用专业版配额。 当前不支持从专业版或者高级版直接升级至企业版,若您是专业版或者高级版用户,并想要使用企业版,请直接购买企业版,为保证您的权益,请您购买企业版后,提工单退订专业版或者高级版。 当前不支持仅购买企业版(不购买配额)后再次升级增加配额。如果要想增加配额,请先退订企业版,重新购买。
  • 前提条件 已获取管理控制台的登录账号和密码。 已添加主机。 为了确保扫描成功,在开启主机扫描前,请先完成以下操作。 参照配置漏洞管理服务Linux主机授权和配置漏洞管理服务Windows主机授权完成主机授权。 如果主机所在的安全组设置了访问限制,请参见如何解决主机不能访问添加策略允许漏洞管理服务的IP网段访问您的主机。 如果用户同时使用了主机安全服务,参见配置SSH登录IP白名单将漏洞管理服务的IP配置为白名单。否则,漏洞管理服务的IP会被当成不信任IP被主机安全服务拦截,造成扫描任务失败。 参照测试漏洞管理服务与主机互通性完成主机与扫描环境的连通性测试。
  • 前提条件 已获取管理控制台的登录账号与密码。 已添加网站。 如果您的网站设置了防火墙或其他安全策略,将导致漏洞管理服务的扫描IP被当成恶意攻击者而误拦截。因此,在使用漏洞管理服务前,请您将以下漏洞管理服务的扫描IP添加至网站访问的白名单中: 119.3.232.114,119.3.237.223,124.70.102.147,121.36.13.144,124.70.109.117,139.9.114.20,119.3.176.1,121.37.207.185,116.205.135.49,110.41.36.44,139.9.57.171,139.9.1.44,121.37.200.40
  • 操作场景 该任务指导用户首次使用漏洞管理服务时,如何购买漏洞管理服务的专业版、高级版和企业版扫描功能。 仅支持从专业版升级至高级版,当您是专业版用户时,如果需要将专业版扫描配额包中的二级域名配额升级为一级域名配额,可以直接将专业版升级到高级版。 不支持多个版本同时存在。如果是老客户,已购买的版本下存在基础版和专业版,基础版全部免费升级为专业版,版本到期时间以订单到期时间最长的为准。 不支持从专业版或高级版直接升级至企业版,当您是专业版或高级版用户时,如果需要使用企业版,请直接购买企业版。为保证您的权益,请您购买企业版后,提工单退订专业版或高级版。 购买漏洞管理服务或配额后,不支持直接修改配额,仅支持升级规格,请谨慎操作。如需减少配额请参考如何减少漏洞管理服务配额?。
  • 产品规格差异 漏洞管理服务提供了基础版、专业版、高级版和企业版四种服务版本。其中,基础版配额内的服务免费,部分功能按需计费;专业版、高级版和企业版需要收费。 各服务版本支持的计费方式、功能和规格说明如下所示,您可以根据业务需求选择相应的服务版本。 表1 各服务版本计费方式 服务版本 支持的计费方式 说明 价格详情 基础版 免费 基础版配额内仅支持Web 网站漏洞扫描 。 免费规格如下: 域名个数:5个; 扫描次数:5个域名(每日总共可以扫描5次)。 说明:免费扫描不支持主机漏洞扫描。 产品价格详情 按需计费 将Web漏洞扫描任务升级为专业版规格进行扫描,扫描完成后进行一次性扣费。 将主机漏洞扫描任务升级为专业版规格进行扫描,扫描完成后进行一次性扣费(主机扫描一次最多支持20台主机)。 专业版 包年/包月 相对于按需付费,包年/包月购买方式能够提供更大的折扣,对于长期使用者,推荐该方式。包周期计费为按照订单的购买周期来进行结算。 高级版 包年/包月 企业版 包年/包月 表2 各服务版本功能说明 功能 基础版 专业版 高级版 企业版 常见Web漏洞检测 √ √ √ √ 端口扫描 √ √ √ √ 自定义登录方式 √ √ √ √ Web 2.0高级爬虫 √ √ √ √ 网站指纹识别 √ √ √ √ 扫描任务管理 √ √ √ √ 漏洞查看及管理 √ √ √ √ CVE漏洞扫描 × √ √ √ 弱密码检测 × √ √ √ 网页内容合规检测(文字) × √ √ √ 操作系统漏洞扫描 × √ √ √ 操作系统基线检查 × √ √ √ 中间件基线检查 × √ √ √ 云原生基线扫描 × √ √ √ 查看漏洞修复建议 × √ √ √ 下载扫描报告 × √ √ √ 安全监测(定时扫描) × √ √ √ 网页内容合规检测(图片) × × × √ 网站挂马检测 × × × √ 链接健康检测(死链、暗链、恶意外链) × × × √ 操作系统等保合规检查 × × × √ 支持手动探索文件导入 × × × √ 表3 各服务版本支持的扫描配额说明 版本 域名/IP个数 扫描次数 单个任务时长 任务优先级 单用户并发扫描数 基础版 Web漏扫:包含5个二级域名或IP:端口。 Web漏扫:5个域名每日总共可以扫描5次 2小时 低 默认Web漏扫最大并发为1个域名。 专业版 Web漏扫:包含1个二级域名或IP:端口。 主机漏扫:包含20个IP地址。 无限制 高 默认Web漏扫最大并发为3个域名。 默认主机漏扫最大并发为5个IP。 高级版 Web漏扫:默认包含1个一级域名(不限制下属二级域名个数)/IP(不限制端口个数)。 主机漏扫:不限制IP地址个数。 无限制 高 默认Web漏扫最大并发为5个域名。 默认主机漏扫最大并发为10个IP。 企业版 Web漏扫:默认包含5个一级域名(不限制下属二级域名个数)/IP(不限制端口个数)。 主机漏扫:不限制IP地址个数。 说明: 当默认的扫描配额不能满足您的需求时,您可以通过购买扫描配额包增加扫描配额(一个扫描配额包中包含一个一级域名扫描配额)。 无限制 高 默认Web漏扫最大并发为10个域名。 默认主机漏扫最大并发为20个IP。 说明: 更高并发需要,请提交工单联系专业工程师为您服务。 父主题: 购买漏洞管理服务
  • 漏洞管理服务 CodeArts Inspector 使用流程 漏洞管理服务使用概览如表1所示。 表1 漏洞管理服务使用流程概览 子流程 说明 购买漏洞管理服务 漏洞管理服务提供了基础版、专业版、高级版和企业版四种服务版本。其中,基础版配额内的服务免费,部分功能按需计费;专业版、高级版和企业版需要收费。 具体操作请参见购买漏洞管理服务。 创建扫描任务 创建扫描任务即可对网站进行扫描,具体操作请参见创建扫描任务。 开启主机扫描 开启主机扫描即可对主机进行扫描,具体操作请参见开启主机扫描。 新增监测任务 新增监测任务即可对资产进行监测,具体操作请参见新增监测任务。 查看扫描结果 扫描完成后可以通过“任务详情”页面查看扫描结果。 网站扫描结果,请参见查看网站扫描详情。 主机扫描结果,请参见查看主机扫描详情。
共100000条