华为云用户手册

  • 资源规划 表1 资源规划 类别 子类 规划 备注 VPC VPC名称 vpc-src-172 自定义,易理解可识别。 所属Region 测试Region 现网实际选择时建议选择和自己业务区最近的Region,减少网络时延。 可用区 可用区3 - 子网网段 172.16.0.0/16 子网选择时建议预留足够的网络资源。 子网名称 subnet-src-172 自定义,易理解可识别。 本地Oracle数据库 名称 orcl 自定义,易理解可识别。 规格 16vCPUs | 32GB - 数据库版本 11.2.0.1 - 数据库用户 test_info 可以自定义用户,但是迁移时最小权限为:CREATE SESSION,SELECT ANY TRANSACTION, SELECT ANY TABLE, SELECT ANY DICTIONARY, EXECUTE_CATALOG_ROLE GaussDB 实例名 gauss-b193-cent 自定义,易理解可识别。 数据库版本 GaussDB 2.7企业版 - 实例类型 主备版 本示例中为主备版实例。 部署形态 独立部署 - 事务一致性 强一致性 - 存储类型 超高IO - 可用区 可用区2 本示例中选择了单可用区,实际建议选择多可用区,以提高实例的高可用性。 性能规格 通用增强Ⅱ型 8 vCPUs | 64GB 本示例中为测试实例,选择较小的测试规格,实际选择规格以业务诉求为准。 存储空间 480G 本示例中为测试实例,选择较小的存储空间,实际选择存储空间大小以业务诉求为准。 加密磁盘 不加密 本示例中选择磁盘不加密,选择加密后会提高数据安全性,但对数据库读写性能有少量影响,实际请按照业务使用策略进行选择。 DAS登录数据库 数据库引擎 GaussDB - 数据库来源 GaussDB 勾选本示例中创建的GaussDB实例 数据库名称 postgres - 登录用户名 root - 密码 - 本示例中创建的GaussDB实例root用户密码 UGO迁移任务 数据库评估任务名 Oracle-Centralized 自定义。 对象迁移任务名 Oracle-GaussDB-Centralized 自定义。 源数据库引擎 Oracle 11g - 目标数据库引擎 GaussDB 2.8主备版 - 网络类型 公网网络 本示例中采用公网网络。 DRS迁移任务 迁移任务名 DRS-test-info 自定义。 目标库名称 test_database_info 自定义,易理解可识别,但是需要确保兼容模式为Oracle模式。 源数据库引擎 Oracle - 目标数据库引擎 GaussDB主备版 - 网络类型 公网网络 本示例中采用公网网络。 父主题: 本地Oracle同步到GaussDB主备版
  • 安全认证概述 开启了安全认证的ServiceComb引擎专享版,通过微服务控制台提供了基于RBAC(Role-Based Access Control,基于角色的访问控制)的系统管理功能。权限与角色相关联,您可以使用关联了admin角色权限的账号创建新账号,根据实际业务需求把合适的角色同账号关联。使用该账号的用户则具有对该ServiceComb引擎的相应的访问和操作权限。 ServiceComb引擎专享版开启了安全认证之后,所有调用的API都需要先获取token才能调用,认证流程请参考服务中心RBAC说明。 开启了安全认证的ServiceComb引擎专享版,在使用安全认证前需要完成以下工作: 创建安全认证账号名和密码 配置微服务安全认证的账号名和密码 框架支持安全认证功能的版本要求:Spring Cloud需要集成Spring Cloud Huawei 1.6.1及以上版本,Java Chassis需要2.3.5及以上版本。 老版本未开启安全认证的ServiceComb引擎专享版,升级到新版本并开启安全认证的场景,请参考管理ServiceComb引擎专享版安全认证。 父主题: 使用安全认证
  • 开发流程说明 开发微服务应用 如果您已经完成了微服务应用的开发,可以跳过本流程,进入准备环境。 进行微服务应用开发,首先需要进行技术选型。技术选型是一个复杂的问题,技术决策者需要考虑使用的技术是否容易被团队成员掌握,技术能否满足项目对于功能、性能、可靠性方面的要求,还需要考虑商业服务等多方面的因素。本文档不探讨技术选型,假设技术团队已经选择了适合自己的开发框架。大部分技术团队都会选择开源框架来构建业务。 开发微服务应用的具体内容,请参考开发微服务应用。 使用Spring Cloud,通常会使用下面的技术进行本地微服务开发: 使用Java Chassis,通常会使用下面的技术进行本地微服务开发: 准备环境 创建云上环境,以支持ServiceComb引擎接入调试、云上应用部署和使用ServiceComb引擎功能。一般情况下,会创建一个测试环境和一个生产环境。通过ServiceStage,能够非常方便的管理云上环境,详细内容请参考准备环境。 对接微服务应用 用于微服务应用对接ServiceComb引擎,涉及到对已经开发好的应用的配置文件、构建脚本的修改。修改完成后,需要对应用重新编译、打包,通过ServiceStage将应用包部署到ServiceComb引擎,详细内容请参考对接微服务应用。 部署微服务应用 开发完成的微服务应用,通过ServiceStage部署到ServiceComb引擎,详细内容请参考部署微服务应用。 使用ServiceComb引擎功能 对于持续发展的应用系统,都会持续完善和迭代,每个迭代可能需要对微服务应用进行更新升级,需要使用更多的ServiceComb引擎功能。持续迭代的功能演进,会重复上面的应用开发、编译、打包和部署环节。详细内容请参考使用ServiceComb引擎功能。
  • 开发能力要求 本文档的主要目的就是说明这些开源微服务开发框架如何接入和使用ServiceComb引擎的功能,假设您已经熟悉和掌握如下开发能力: 使用Java语言进行微服务开发。假设您已经基于一种ServiceStage支持的微服务开发框架开发了应用系统,并期望将应用系统托管在ServiceComb引擎上运行。本文档提供微服务应用接入ServiceComb引擎的相关技术支持。开源微服务开发框架如何使用不是本文档的范围,您可以通过开源社区获取相关微服务开发框架的入门材料和开发指南。 理解注册中心、配置中心在微服务应用中的作用,并在项目中搭建和使用注册中心。不同的微服务开发框架默认支持的开源注册中心会有差异,理解注册中心的作用,可以更加容易的更换注册中心。 熟悉应用部署,请参考创建并部署组件。
  • Spring Cloud微服务组件配置安全认证账号名和密码 配置文件配置方式 为微服务的“bootstrap.yml”文件增加以下配置,若已配置请忽略。 spring: cloud: servicecomb: credentials: account: name: test #结合用户实际值配置 password: mima #结合用户实际值配置 cipher: default 用户密码password默认为明文存储,无法保证安全。建议您对密码进行加密存储,请参考自定义实现password的加密存储算法。 环境变量注入方式 为微服务添加如表1所示环境变量。 添加环境变量,请参考管理应用环境变量。 表1 环境变量 环境变量 说明 spring_cloud_servicecomb_credentials_account_name 结合用户实际值配置。 spring_cloud_servicecomb_credentials_account_password 结合用户实际值配置。 说明: 用户密码password默认为明文存储,无法保证安全。建议您对密码进行加密存储,请参考自定义实现password的加密存储算法。
  • Java Chassis微服务组件配置安全认证账号名和密码 配置文件配置方式 为微服务的“microservice.yml”文件增加以下配置,若已配置请忽略。 servicecomb: credentials: rbac.enabled: true #结合用户实际值配置 cipher: default account: name: test #结合用户实际配置 password: mima #结合用户实际配置 cipher: default 用户密码password默认为明文存储,无法保证安全。建议您对密码进行加密存储,请参考配置安全认证参数。 环境变量注入方式 为微服务添加如表2所示环境变量。 添加环境变量,请参考管理应用环境变量。 表2 环境变量 环境变量 说明 servicecomb_credentials_rbac_enabled true:开启安全认证。 false:不开启安全认证。 servicecomb_credentials_account_name 结合用户实际值配置。 servicecomb_credentials_account_password 结合用户实际值配置。 说明: 用户密码password默认为明文存储,无法保证安全。建议您对密码进行加密存储,请参考配置安全认证参数。
  • 操作步骤 进入购买微服务引擎专享版页面。 参考下表设置参数,参数前面带*号的是必须设置的参数。 参数 说明 *计费模式 选择计费方式,目前支持: 包年/包月 按需计费 *企业项目 选择微服务引擎所在的项目,可在下拉框中搜索和选择需要的企业项目。 *选择实例数 选择引擎规格。 *引擎类型 选择微服务引擎的类型。 引擎类型为集群,其为集群模式部署,主机级容灾。 *ServiceComb引擎名称 输入ServiceComb引擎的名称,例如:cse-lhy-nodelete。 *可用区 选择可用区。 *网络 选择已创建的虚拟私有云及子网,可在下拉框中搜索和选择合适的虚拟私有云和子网。 描述 单击,输入引擎描述信息,例如:体验快速创建微服务引擎。 标签 用于标识云资源,当您拥有相同类型的许多云资源时,可以使用标签按各种维度(例如用途、所有者或环境)对云资源进行分类。 您可以单击“ 添加标签”,在“添加标签”弹框输入标签键和标签值,添加标签,标签的命名规则请参见管理标签。在“添加标签”弹框,可单击“ 新增标签”同时添加多个标签,也可单击标签后的,删除该标签。 *安全认证 开启了“安全认证”的ServiceComb引擎专享版,通过微服务引擎控制台提供了基于RBAC(Role-Based Access Control,基于角色的访问控制)的系统管理功能。 选择“开启安全认证”: 根据业务需要确认是否需要开启“编程接口安全认证”。 开启编程接口安全认证后,需要在微服务的配置文件中添加对应用户的账号密码,否则服务无法注册到引擎。 关闭编程接口安全认证,微服务的配置文件中无需配置账号密码即可将服务注册到引擎,效率性能更高,建议用于VPC内访问时使用。 输入root账号的“密码”,并在“再次输入密码”输入框输入密码进行确认。 密码请妥善保管,以免遗失。 选择“关闭安全认证”: 关闭安全认证功能,可以在实例创建完成后再设置开启。 *购买时长 计费模式选择“包年/包月”时需要设置。可设置是否开通自动续费。 单击“立即购买”,进入引擎信息确认界面。 单击“提交”,等待引擎创建完毕。 微服务引擎创建完成,大约需要31分钟。 微服务引擎创建成功后,“状态”为“可用”。查看微服务引擎状态,请参考查看ServiceComb引擎信息。 如果微服务引擎创建失败,可在操作日志页面上查看失败原因并处理后可进行以下操作: 可在“微服务引擎信息”区域,单击“重试”重新创建。 如果重试失败,可删除创建失败的微服务引擎,删除微服务引擎,请参考删除ServiceComb引擎专享版。
  • OBS服务端错误码(Java SDK) 在向OBS服务端发出请求后,如果遇到错误,会在响应中包含响应的错误码描述错误信息。详细的错误码及其对应的描述和HTTP状态码见下表: HTTP状态码 错误码 错误信息 处理措施 301 Moved Permanently PermanentRedirect 尝试访问的桶必须使用指定的地址,请将以后的请求发送到这个地址。 按照返回的重定向地址发送请求。 301 Moved Permanently WebsiteRedirect Website请求缺少bucketName。 携带桶名后重试。 307 Moved Temporarily TemporaryRedirect 临时重定向,当DNS更新时,请求将被重定向到桶。 会自动重定向,也可以将请求发送到重定向地址。 400 Bad Request BadDigest 客户端指定的对象内容的MD5值与系统接收到的内容MD5值不一致。 检查头域中携带的MD5与消息体计算出来的MD5是否一致。 400 Bad Request BadDomainName 域名不合法。 使用合法的域名。 400 Bad Request BadRequest 请求参数不合法。 根据返回的错误消息体提示进行修改。 400 Bad Request CustomDomainAreadyExist 配置了已存在的域。 已经配置过了,不需要再配置。 400 Bad Request CustomDomainNotExist 删除不存在的域。 未配置或已经删除,无需删除。 400 Bad Request EntityTooLarge 用户POST上传的对象大小超过了条件允许的最大大小。 修改POST上传的policy中的条件或者减少对象大小。 400 Bad Request EntityTooSmall 用户POST上传的对象大小小于条件允许的最小大小。 修改POST上传的policy中的条件或者增加对象大小。 400 Bad Request IllegalLocationConstraintException 用户未带Location在非默认Region创桶。 请求发往默认Region创桶或带非默认Region的Location创桶。 400 Bad Request IncompleteBody 由于网络原因或其他问题导致请求体未接受完整。 重新上传对象。 400 Bad Request IncorrectNumberOfFilesInPost Request 每个POST请求都需要带一个上传的文件。 带上一个上传文件。 400 Bad Request InvalidArgument 无效的参数。 根据返回的错误消息体提示进行修改。 400 Bad Request InvalidBucket 请求访问的桶已不存在。 更换桶名。 400 Bad Request InvalidBucketName 请求中指定的桶名无效,超长或带不允许的特殊字符。 更换桶名。 400 Bad Request InvalidEncryptionAlgorithmError 错误的加密算法。下载SSE-C加密的对象,携带的加密头域错误,导致不能解密。 携带正确的加密头域下载对象。 400 Bad Request InvalidLocationConstraint 创建桶时,指定的Location不合法或不存在。 指定正确的Location创桶。 400 Bad Request InvalidPart 一个或多个指定的段无法找到。这些段可能没有上传,或者指定的entity tag与段的entity tag不一致。 按照正确的段和entity tag合并段。 400 Bad Request InvalidPartOrder 段列表的顺序不是升序,段列表必须按段号升序排列。 按段号升序排列后重新合并。 400 Bad Request InvalidPolicyDocument 表单中的内容与策略文档中指定的条件不一致。 根据返回的错误消息体提示修改构造表单的policy重试。 400 Bad Request InvalidRedirectLocation 无效的重定向地址。 指定正确的地址。 400 Bad Request InvalidRequest 无效请求。 根据返回的错误消息体提示进行修改。 400 Bad Request InvalidRequestBody 请求体无效,需要消息体的请求没有上传消息体。 按照正确的格式上传消息体。 400 Bad Request InvalidTargetBucketForLogging delivery group对目标桶无ACL权限。 对目标桶配置ACL权限后重试。 400 Bad Request KeyTooLongError 提供的Key过长。 使用较短的Key。 400 Bad Request KMS.DisabledException SSE-KMS加密方式下,主密钥被禁用。 更换密钥后重试,或联系技术支持。 400 Bad Request KMS.NotFoundException SSE-KMS加密方式下,主密钥不存在。 携带正确的主密钥重试。 400 Bad Request MalformedACLError 提供的XML格式错误,或者不符合我们要求的格式。 使用正确的XML格式重试。 400 Bad Request MalformedError 请求中携带的XML格式不正确。 使用正确的XML格式重试。 400 Bad Request MalformedLoggingStatus Logging的XML格式不正确。 使用正确的XML格式重试。 400 Bad Request MalformedPolicy Bucket policy检查不通过。 根据返回的错误消息体提示结合桶policy的要求进行修改。 400 Bad Request MalformedQuotaError Quota的XML格式不正确。 使用正确的XML格式重试。 400 Bad Request MalformedXML 当用户发送了一个配置项的错误格式的XML会出现这样的错误。 使用正确的XML格式重试。 400 Bad Request MaxMessageLengthExceeded 拷贝对象,带请求消息体。 拷贝对象不带消息体重试。 400 Bad Request MetadataTooLarge 元数据消息头超过了允许的最大元数据大小。 减少元数据消息头。 400 Bad Request MissingRegion 请求中缺少Region信息,且系统无默认Region。 请求中携带Region信息。 400 Bad Request MissingRequestBodyError 当用户发送一个空的XML文档作为请求时会发生。 提供正确的XML文档。 400 Bad Request MissingRequiredHeader 请求中缺少必要的头域。 提供必要的头域。 400 Bad Request MissingSecurityHeader 请求缺少一个必须的头。 提供必要的头域。 400 Bad Request TooManyBuckets 用户拥有的桶的数量达到了系统的上限,并且请求试图创建一个新桶。 删除部分桶后重试。 400 Bad Request TooManyCustomDomains 配置了过多的用户域 删除部分用户域后重试。 400 Bad Request TooManyWrongSignature 因高频错误请求被拒绝服务。 更换正确的Access Key后重试。 400 Bad Request UnexpectedContent 该请求需要消息体而客户端没带,或该请求不需要消息体而客户端带了。 根据说明重试。 400 Bad Request AZRedundancyTypeNotSupported 当前region不支持此AZRedundancy的桶 选择合适的AZ Redundancy创桶 400 Bad Request UserKeyMustBeSpecified 该操作只有特殊用户可使用。 请联系技术支持。 403 Forbidden AccessDenied 拒绝访问,请求没有携带日期头域或者头域格式错误。 请求携带正确的日期头域。 403 Forbidden AccessForbidden 权限不足,桶未配置CORS或者CORS规则不匹配。 修改桶的CORS配置,或者根据桶的CORS配置发送匹配的OPTIONS请求。 403 Forbidden AllAccessDisabled 用户无权限执行某操作。桶名为禁用关键字。 更换桶名。 403 Forbidden DeregisterUserId 用户已经注销。 充值或重新开户。 403 Forbidden InArrearOrInsufficientBalance 用户欠费或余额不足而没有权限进行某种操作。 充值。 403 Forbidden InsufficientStorageSpace 存储空间不足。 超过配额限制,增加配额或删除部分对象。 403 Forbidden InvalidAccessKeyId 系统记录中不存在客户提供的Access Key Id。 携带正确的Access Key Id。 403 Forbidden NotSignedUp 你的账户还没有在系统中注册,必须先在系统中注册了才能使用该账户。 先注册OBS服务。 403 Forbidden RequestTimeTooSkewed 请求的时间与服务器的时间相差太大。 检查客户端时间是否与当前时间相差太大。 403 Forbidden SignatureDoesNotMatch 请求中带的签名与系统计算得到的签名不一致。 检查你的Secret Access Key和签名计算方法。 403 Forbidden Unauthorized 用户未实名认证。 请实名认证后重试。 404 Not Found NoSuchBucket 指定的桶不存在。 先创桶再操作。 404 Not Found NoSuchBucketPolicy 桶policy不存在。 先配置桶policy。 404 Not Found NoSuchCORSConfiguration CORS配置不存在。 先配置CORS。 404 Not Found NoSuchCustomDomain 请求的用户域不存在。 先设置用户域。 404 Not Found NoSuchKey 指定的Key不存在。 先上传对象。 404 Not Found NoSuchLifecycleConfiguration 请求的LifeCycle不存在。 先配置LifeCycle。 404 Not Found NoSuchUpload 指定的多段上传不存在。Upload ID不存在,或者多段上传已经终止或完成。 使用存在的段或重新初始化段。 404 Not Found NoSuchVersion 请求中指定的version ID与现存的所有版本都不匹配。 使用正确的version ID。 404 Not Found NoSuchWebsiteConfiguration 请求的Website不存在。 先配置Website。 405 Method Not Allowed MethodNotAllowed 指定的方法不允许操作在请求的资源上。 对应返回的Message为:Specified method is not supported. 方法不允许。 408 Request Timeout RequestTimeout 用户与Server之间的socket连接在超时时间内没有进行读写操作。 检查网络后重试,或联系技术支持。 409 Conflict BucketAlreadyExists 请求的桶名已经存在。桶的命名空间是系统中所有用户共用的,选择一个不同的桶名再重试一次。 更换桶名。 409 Conflict BucketAlreadyOwnedByYou 发起该请求的用户已经创建过了这个名字的桶,并拥有这个桶。 不需要再创桶了。 409 Conflict BucketNotEmpty 用户尝试删除的桶不为空。 先删除桶中对象,然后再删桶。 409 Conflict FsObjectConflict 用户上传或创建文件失败 检查创建文件规则。例如是否在不允许覆盖的场景下覆盖文件、是否在POSIX语义下在文件下上传文件(将文件当作目录) 409 Conflict InvalidBucketState 无效的桶状态,配置跨Region复制后不允许关闭桶多版本。 不关闭桶的多版本或取消跨Region复制。 409 Conflict OperationAborted 另外一个冲突的操作当前正作用在这个资源上,请重试。 等待一段时间后重试。 409 Conflict ServiceNotSupported 请求的方法服务端不支持。 服务端不支持,请联系技术支持。 411 Length Required MissingContentLength 必须要提供HTTP消息头中的Content-Length字段。 提供Content-Length消息头。 412 Precondition Failed PreconditionFailed 用户指定的先决条件中至少有一项没有包含。 根据返回消息体中的Condition提示进行修改。 416 Client Requested Range Not Satisfiable InvalidRange 请求的range不可获得。 携带正确的range重试。 500 Internal Server Error InternalError 系统遇到内部错误,请重试。 请联系技术支持。 501 Not Implemented ServiceNotImplemented 请求的方法服务端没有实现。 当前不支持,请联系技术支持。 503 Service Unavailable ServiceUnavailable 服务器过载或者内部错误异常。 等待一段时间后重试,或联系技术支持。 503 Service Unavailable SlowDown 请降低请求频率。 请降低请求频率。 父主题: 异常处理(Java SDK)
  • SDK自定义异常(Java SDK) SDK自定义异常(ObsException)是由ObsClient统一抛出的异常,继承自java.lang.RuntimeException类。通常是OBS服务端错误,包含OBS错误码、错误信息等,便于用户定位问题,并做出适当的处理。 ObsException通常包含以下错误信息: ObsException.getResponseCode:HTTP状态码。 ObsException.getErrorCode:OBS服务端错误码。 ObsException.getErrorMessage:OBS服务端错误描述。 ObsException.getErrorRequestId:OBS服务端返回的请求ID。 ObsException.getErrorHostId:请求的服务端ID。 ObsException.getResponseHeaders:HTTP响应头信息。 父主题: 异常处理(Java SDK)
  • 功能说明 对于较大文件上传,可以切分成段上传。用户可以在如下的应用场景内(但不仅限于此),使用分段上传的模式: 上传超过100MB大小的文件。 网络条件较差,和OBS服务端之间的链接经常断开。 上传前无法确定将要上传文件的大小。 使用分段上传具有以下优势: 提高吞吐量——您可以使用并行上传段以提高吞吐量。 从任何网络问题中快速恢复——较小的段大小可以将由于网络错误而需重启失败的上传所产生的影响降至最低。 暂停和恢复对象上传——您可以随时上传对象段。启动多段上传后,不存在过期期限;您必须显式地完成或取消多段上传任务。 在得知最终对象大小之前开始上传——您可以在创建对象的同时上传对象。 分段上传分为如下3个步骤: 初始化分段上传任务(ObsClient.initiateMultipartUpload)。 逐个或并行上传段(ObsClient.uploadPart)。 合并段(ObsClient.completeMultipartUpload)或取消分段上传任务(ObsClient.abortMultipartUpload)。
  • 对象上传简介(Java SDK) 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。 在OBS中,用户操作的基本数据单元是对象。OBS Java SDK提供了丰富的对象上传接口,可以通过以下方式上传对象: 流式上传 文件上传 分段上传 追加上传 断点续传上传 基于表单上传 SDK支持上传0KB~5GB的对象。流式上传、文件上传和追加上传的内容大小不能超过5GB;当上传较大文件时,请使用分段上传,分段上传每段内容大小不能超过5GB;基于表单上传提供了基于浏览器表单上传对象的方式。 若上传的对象权限设置为匿名用户读取权限,对象上传成功后,匿名用户可通过链接地址访问该对象数据。对象链接地址格式为:https://桶名.域名/文件夹目录层级/对象名。如果该对象存在于桶的根目录下,则链接地址将不需要有文件夹目录层级。 父主题: 上传对象(Java SDK)
  • 初始化概述(Java SDK) 完成SDK安装之后,您还需要进行初始化工作,初始化工作主要包括两方面,一方面客户端的创建和配置,另一方面是SDK日志配置。 表1 初始化概述 初始化任务 子任务 是否必选 说明 创建并配置客户端 创建客户端 是 OBS客户端是使用Java SDK访问OBS服务的必备媒介,它为调用者提供一系列与OBS服务进行交互的接口,使用OBS Java SDK向OBS发起请求,您需要创建并初始化一个客户端,即一个ObsClient实例。 配置访问密钥 是 基于安全需要,您需要为客户端配置访问凭证以便服务端校验请求的合法性。 配置终端节点及其他选项 终端节点必选,其余配置项可选 为了快速创建和检索到您的资源,需要配置客户端的终端节点,即告知服务端资源所在的区域。 除了访问密钥和终端节点外,您可以根据自身使用场景,为客户端配置其他选项。 配置SDK日志 配置日志等级 否 OBS Java SDK基于Apache Log4j2开源库提供了日志功能,Log4j2框架按照优先级将日志进行了分级处理,您可以配置存储某个级别以上的日志,自行决定存储日志的范围。 OBS Java SDK默认将WARN及WARN以上级别的日志保存到本地。 配置日志存放路径 否 配置日志在本地的存储路径。 父主题: 初始化(Java SDK)
  • 加密说明(Java SDK) 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。 OBS Java SDK支持服务端加密的接口见下表: OBS Java SDK接口方法 说明 支持加密类型 ObsClient.putObject 上传对象时设置加密算法、密钥,对对象启用服务端加密。 SSE-KMS SSE-C SSE-OBS ObsClient.getObject 具有KMS Administrator权限的用户可直接下载KMS加密对象,后端解密后返回。(SSE-KMS) 下载对象时设置解密算法、密钥,用于解密对象。(SSE-C) SSE-KMS SSE-C SSE-OBS ObsClient.copyObject 复制对象时设置源对象的解密算法、密钥,用于解密源对象。 复制对象时设置目标对象的加密算法、密钥,对目标对象启用加密算法。 SSE-KMS SSE-C ObsClient.getObjectMetadata 获取对象元数据时设置解密算法、密钥,用于解密对象。 SSE-C SSE-OBS ObsClient.initiateMultipartUpload 初始化分段上传任务时设置加密算法、密钥,对分段上传任务最终生成的对象启用服务端加密。 SSE-KMS SSE-C ObsClient.uploadPart 上传段时设置加密算法、密钥,对分段数据启用服务端加密。 SSE-C ObsClient.copyPart 复制段时设置源对象的解密算法、密钥,用于解密源对象。 复制段时设置目标段的加密算法、密钥,对目标段启用加密算法。 SSE-C 父主题: 服务端加密(Java SDK)
  • HTTP状态码(Java SDK) OBS服务端遵照HTTP规范,在接口调用完成均会返回标准的HTTP状态码,HTTP状态码分类以及OBS中常见的HTTP状态码如下: HTTP状态码分类: 分类 分类描述 1XX 信息,服务器收到请求,需要请求者继续执行操作,一般对客户调用函数不可见。 2XX 成功,操作被成功接收并处理。 3XX 重定向,需要进一步的操作以完成请求,一般对客户调用函数不可见。 4XX 客户端错误,请求包含语法错误或无法完成请求。 5XX 服务器错误,服务器在处理请求的过程中发生了错误。 OBS中常见的HTTP状态码及其含义: HTTP状态码 描述 常见原因 400 Bad Request 请求参数错误 请求参数不合法; 客户端携带MD5请求后一致性校验失败; 无效的参数(使用SDK时传递了不合法的参数); 无效的桶名(使用了不合法的桶名)。 403 Forbidden 拒绝访问 客户端请求中携带的签名和服务端计算出的签名不匹配(一般是AK/SK错误); 权限不足(账号对请求的资源无权限); 账号欠费; 桶的空间不足(出现在对桶设置了配额的场景); 无效的AK; 客户端时间和服务端时间相差过大(客户端所在机器的时间与NTP服务不同步)。 404 Not Found 请求的资源不存在 桶不存在; 对象不存在; 桶的策略配置不存在(桶CORS配置不存在、桶Policy配置不存在等); 分段上传任务不存在。 405 Method Not Allowed 请求的方法不支持 请求的方法/特性未在该桶所在的区域上线。 408 Request Timeout 请求超时 服务端与客户端Socket连接超时。 409 Conflict 请求冲突 在不同区域重复创建同名桶; 尝试删除非空桶。 500 Internal Server Error 服务端内部错误 服务端内部错误。 503 Service Unavaliable 服务不可用 服务端暂时不可访问。 父主题: 异常处理(Java SDK)
  • 创建命名空间 当创建实例时,会自动生成一个默认的命名空间public(保留空间), 该命名空间不可编辑和删除。您可以直接使用此命名空间实现资源和服务的隔离。一共可以创建50个命名空间。 登录微服务引擎控制台。 在左侧导航栏选择“注册配置中心”。 单击待操作的Nacos引擎实例名称。 在左侧导航栏选择“命名空间”,单击“创建命名空间”。 在弹出的创建命名空间对话框中设置参数如下,其中带*的配置项为必填。 表1 命名空间参数 参数 说明 *命名空间名称 必填,可自定义填写命名空间名称,支持非@、#、$、%、^、&和*,且不超过128个字符。 命名空间ID 可选,仅支持大小写字母、数字、短划线(-)和下划线(_),且不超过128个字符。命名空间ID必须唯一。 单击“确定”,命名空间创建完成。
  • 操作步骤 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 单击“仪表盘”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 在“仪表盘”页面,在下拉列表框选择需要查看的应用,在搜索框输入微服务名称,查询微服务,页面将展示筛选出的微服务的运行指标。 单击“查看示例图”,可以查看运行指标参数含义。 选择排序方式,筛选出的微服务会按照指定方式进行排序。
  • 编辑角色 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的开启了安全认证的ServiceComb引擎。 单击“系统管理”。 在弹出的“安全认证”对话框输入该ServiceComb引擎下关联了admin角色权限的账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 在“角色管理”页签,单击待编辑角色“操作”列的“编辑”。 根据实际业务需求,修改服务组、配置组和“权限动作”。 单击“保存”,完成角色编辑。
  • 删除角色 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的开启了安全认证的ServiceComb引擎。 单击“系统管理”。 在弹出的“安全认证”对话框输入该ServiceComb引擎下关联了admin角色权限的账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 在“角色管理”页签,单击待删除角色“操作”列的“删除”。在弹出的对话框中输入“DELETE”,单击“确定”。 角色删除后无法恢复,请谨慎操作。 删除角色前要先确认该角色没有被账号关联。取消角色同账号之间的关联,请参考编辑账号。
  • 查看角色 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的开启了安全认证的ServiceComb引擎。 单击“系统管理”。 在弹出的“安全认证”对话框输入该ServiceComb引擎下关联了admin角色权限的账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 在“角色管理”页签,单击待查看角色名称前的,展开待查看角色的详细信息。 展开后可以查看角色的服务组、配置组和“权限动作”。
  • 创建角色 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的开启了安全认证的ServiceComb引擎。 单击“系统管理”。 在弹出的“安全认证”对话框输入该ServiceComb引擎下关联了admin角色权限的账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 在“角色管理”页签,单击“创建角色”。 输入新角色名称。 角色创建后,角色名称不可修改。 对权限进行配置。 设置“权限组”。 设置服务权限。 选择“全部服务”。 可以对该ServiceComb引擎的所有微服务资源实施相应的权限动作。 选择“自定义服务组”,可按照表2进行设置。 表2 自定义服务组操作 操作名称 操作说明 新增匹配规则 单击“添加服务组匹配规则”,根据实际业务需要,选择“应用”、“环境”、“服务”三个参数值来匹配规则过滤该角色可以实施权限动作的微服务。 说明: 应用名称、环境名称和服务名称是微服务的三个参数: 如果单条匹配规则只设置了一个参数,则角色对与该参数值相匹配的微服务有操作权限。 例如添加匹配规则“环境:production”,那么该角色只对环境名称是“production”的微服务有操作权限。 如果单条匹配规则设置了多于一个参数,则角色对与所有参数值都相匹配的微服务有操作权限。 例如添加匹配规则“环境:production”“应用:abc”,那么该角色对环境名称是“production”且应用名称是“abc”的微服务有操作权限。 在启用自动发现的情况下,微服务会通过注册中心查询注册中心、配置中心、仪表盘等服务的实例地址。对微服务授予查询权限时,需要包含应用default的权限,添加匹配规则“应用:default”。 设置微服务匹配规则后,单击“确定”。 编辑匹配规则 单击待编辑的匹配规则后的“”,即可根据实际业务需要,重新设置该条匹配规则的“服务组”和“权限动作”。 重新设置服务组匹配规则后,单击“确定”。 删除匹配规则 单击待删除的匹配规则后的“”,即可根据实际业务需要,删除该条服务组匹配规则。 自定义服务组最多可以同时设置20条微服务匹配规则。 当自定义服务组设置了多条匹配规则时,只要微服务满足其中任意一条匹配规则,角色就对该微服务有操作权限。 设置配置权限。 选择“全部配置”。 可以对该ServiceComb引擎的所有配置资源实施相应的权限动作。 选择“自定义配置组”,可按照表3进行设置。 表3 自定义配置组操作 操作名称 操作说明 新增匹配规则 单击“添加配置组匹配规则”,根据实际业务需要,选择“应用”、“环境”、“服务”三个参数值来匹配规则过滤该角色可以实施权限动作的配置。当应用级配置、微服务级配置不能满足使用需求时,也可以通过增加自定义匹配规则来匹配配置的自定义标签过滤该角色可以实施权限动作的配置。 说明: 应用名称、环境名称和服务名称是配置的三个参数: 如果单条匹配规则只设置了一个参数,则角色对与该参数值相匹配的配置有操作权限。 例如添加匹配规则“环境:production”,那么该角色只对环境名称是“production”的配置有操作权限。 如果单条匹配规则设置了多于一个参数,则角色对与所有参数值都相匹配的配置有操作权限。 例如添加匹配规则“环境:production”“应用:abc”,那么该角色对环境名称是“production”且应用名称是“abc”的配置有操作权限。 设置配置匹配规则后,单击“确定”。 编辑匹配规则 单击待编辑的匹配规则后的“”,即可根据实际业务需要,重新设置该条匹配规则的配置组和“权限动作”。 重新设置配置组匹配规则后,单击“确定”。 删除匹配规则 单击待删除的匹配规则后的“”,即可根据实际业务需要,删除该条配置组匹配规则。 自定义配置组最多可以同时设置20条配置匹配规则。 当自定义配置组设置了多条匹配规则时,只要配置满足其中任意一条匹配规则,角色就对该配置有操作权限。 设置“权限动作”。 按照实际的业务需求,设置角色对选择的服务组、配置组可实施的权限动作,可以勾选多个。 全选:对该服务组、配置组资源可实施增加、删除、修改和查询四种动作。 增加:对该服务组、配置组资源可实施增加的动作。 删除:对该服务组、配置组资源可实施删除的动作。 如果只勾选了删除,将无法通过界面对服务组、配置组资源进行删除,必须同时勾选查询。 修改:对该服务组资源可实施修改的动作。 如果只勾选了修改,将无法通过界面对服务组、配置组资源进行修改操作,必须同时勾选查询。 查询:对该服务组、配置组资源可实施查询的动作。 单击“创建”,创建角色。
  • 删除配置 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 单击“配置管理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 选中待操作的配置项,单击“删除”,也可单击待操作配置项“操作”列的“删除”。 在弹出框单击“确定”,删除配置项。
  • 编辑配置 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 单击“配置管理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击待操作配置项“操作”列的“编辑”,编辑配置项的值。 单击“确定”,配置项修改。
  • 导出配置 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 单击“配置管理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击“全部导出”,配置文件导出成功。
  • 导入配置 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 在页面上方“微服务引擎”下拉列表,选择待操作的微服务引擎。 单击“配置管理”。 未开启安全认证的ServiceComb引擎,请执行7。 开启安全认证的ServiceComb引擎,请执行6。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击“导入”。 选择微服务环境,单击“导入文件”,选择待导入配置文件。 每次导入的配置项条目数量最多为150条。 单击“关闭”完成配置文件导入。
  • 创建配置 配置管理提供微服务间的公共配置,如日志级别、运行参数等。配置添加以后,如果微服务没有自定义相同的配置项,会将该配置作为默认配置使用。 配置项使用明文存储,请勿附带敏感数据。 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 单击“配置管理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击“创建配置”。 在“创建配置”页面, 选择微服务环境,并输入“配置项”和“值”。 单击“确定”完成配置添加。
  • 治理策略说明 支持限流、熔断、重试和隔离仓等策略的配置,具体说明见下表。 治理策略名称 说明 限流 面对流量风暴,或可预知的流量冲击,对非重点业务场景进行限流,防止瞬时流量过大造成服务和数据崩溃,导致服务不可用。 重试 当服务遇到一些非致命性的错误(如偶尔超时)时,可以通过重试的方式来避免服务的最终失败。 隔离仓 面对大规模并发流量风暴,或可预知的流量冲击,对并发流量进行控制,防止瞬时并发流量过大造成服务和数据崩溃,导致服务不可用。 熔断 当某业务场景的错误率超过设定阈值时,为了保证整体业务系统的可用性,在此后的一分钟内该业务场景下的所有请求会被拒绝。然后再以50%的比率接受服务请求并统计业务的错误率,直至该业务场景下的错误率降低到设定阈值以下。
  • 创建治理策略 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“业务场景治理”。 当ServiceComb引擎版本为2.0.0及以上且小于2.4.0时,选择“微服务治理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 在“治理策略”页签,单击“创建治理策略”。 选择治理方式,单击“创建治理”,设置参数。 限流 参数名称 参数说明 治理策略名称 输入治理策略的名称。 业务场景 设置治理策略适用的业务场景: 单击“选择业务环境”,选择已创建好的业务场景名称。 单击“创建业务场景”,创建业务场景。 单位请求数 设定请求数及时间段的值。 当限流对象对当前服务实例的设定时间段内的请求数量超过设定的值,超过部分将会被限流,返回错误码429。 重试 参数名称 参数说明 治理策略名称 输入治理策略的名称。 业务场景 设置治理策略适用的业务场景: 单击“选择业务环境”,选择已创建好的业务场景名称。 单击“创建业务场景”,创建业务场景。 响应错误码 选择响应错误码,用于定义哪些错误类型会触发重试。 重试次数 设置重试次数。 重试策略 选择重试策略: 固定间隔重试:重试间隔时间固定。 指数间隔重试:采取指数退避算法确定重试间隔时间。 重试间隔时间 设置重试的间隔时间。 “重试策略”选择“固定间隔重试”:设置重试的固定间隔时间。 “重试策略”选择“指数间隔重试”:设置重试的基准时间、时间单位(s/ms)。 隔离仓 参数名称 参数说明 治理策略名称 输入治理策略的名称。 业务场景 设置治理策略适用的业务场景: 单击“选择业务环境”,选择已创建好的业务场景名称。 单击“创建业务场景”,创建业务场景。 最大并发数 根据实际系统的实际业务处理能力,设置业务的最大并发数。 阻塞计时 设置阻塞计时时间及单位(s/ms)。 当请求超出最大并发数时,超出阻塞计时时间范围后,该请求会被丢弃。 熔断 参数名称 参数说明 治理策略名称 输入治理策略的名称。 业务场景 设置治理策略适用的业务场景: 单击“选择业务环境”,选择已创建好的业务场景名称。 单击“创建业务场景”,创建业务场景。 熔断范围 滑动窗口类型 选择滑动窗口类型。 时间:时间窗口。 请求数:请求数量窗口。 滑动窗口大小 设置滑动窗口的大小。 “滑动窗口类型”为“时间”:最近n秒/分钟时间范围内的调用会被记录和统计。 “滑动窗口类型”为“基于计数”:最近n次的调用会被记录和统计。 其中,n为您设置的滑动窗口的大小。 调用次数基线 设置调用次数基线,即开启统计调用错误率至少需要达到的调用数量。 例如,设置“调用次数基线”为10,为统计错误率,则至少要记录10个调用。 熔断开启条件 错误率阈值熔断 勾选“错误率阈值熔断”时生效,设置“错误率阈值”,即调用错误的百分比。 当调用错误率不小于错误率阈值时,发生熔断,返回响应码429。 慢请求熔断 勾选“当慢请求达到您定义的比例时,开启熔断”时生效,设置以下参数: 慢请求定义:慢请求阈值定义,响应时间超过该阈值的请求都是慢请求。 慢请求比例:慢请求阈值,达到指定的慢请求比例时,发生熔断,返回响应码429。 单击“创建”,治理策略开始生效。 在治理策略列表,单击业务场景所在行的: 单击治理策略所在行“操作”列的“启用策略”,可启动已关闭的治理策略,使治理策略生效。 单击治理策略所在行“操作”列的“关闭策略”,可关闭已启动的治理策略。 单击治理策略所在行“操作”列的“编辑”,可对治理策略进行编辑。 单击治理策略所在行“操作”列的“删除”,可删除已关闭的治理策略。
  • 自动备份 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 在“备份与恢复”区域,单击“自动备份设置”,配置备份参数。 表1 自动备份参数说明 参数 说明 自动备份 关闭自动备份后将会删除之前设置的备份策略,需要重新设置。 备份周期 设置备份周期。 开启“自动备份”后生效。 触发时间 设置备份任务开启的时间,仅支持整点。 开启“自动备份”后生效。 单击“确定”,完成备份策略的配置。 设置备份策略后,将在预设时间之后1小时内触发备份任务。
  • 恢复备份数据 备份数据恢复会使用备份的历史数据(包括微服务、契约、配置、账号角色信息)覆盖ServiceComb引擎当前数据,可能导致微服务、服务实例错乱,动态配置丢失等问题,请谨慎操作! 若ServiceComb开启了安全认证,则备份数据中包含其账号信息,建议关闭安全认证后再进行恢复备份数据,否则恢复后可能存在访问ServiceComb引擎认证失败的问题。 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 在“备份与恢复”区域,单击指定备份数据后面“操作”列的“恢复备份”。 勾选“我已经阅读并充分了解该风险”。 单击“确定”,恢复备份数据。可在“备份与恢复”区域单击“恢复记录”,查看恢复状态。
  • 操作步骤 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待删除的引擎“操作”列的“删除”,也可单击待删除的引擎,在“ServiceComb引擎信息”区域,单击“删除”。 当引擎“计费模式”为“包年/包月”时,单击“退订”,在弹出的对话框中单击“确定”。进入费用中心退订资源页面,请根据页面提示完成退订操作。 在弹出的对话框中输入“DELETE”,单击“确定” 若删除失败,可执行“强制删除”。
共100000条