华为云用户手册

  • 初始化Rainbow SDK 代码如下: package com.huawei.demo.serviceb.config; import javax.sql.DataSource; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.mapper.MapperScannerConfigurer; import org.springframework.context.EnvironmentAware; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.DependsOn; import org.springframework.context.annotation.Import; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.core.env.Environment; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.transaction.support.TransactionTemplate; import com.huawei.nuwa.map.client.NuwaMapClient; import com.huawei.nuwa.map.spring.boot.autoconfigure.NuwaCloudMapAutoConfiguration; import com.huawei.rainbow.jdbc.DbGroupDataSource; import com.huawei.wisesecurity.sts.springboot.security.configuration.StsEncryptablePropertiesConfiguration; /** * Rainbow启动 */ @Configuration @Order(Ordered.HIGHEST_PRECEDENCE) @Import(value = {NuwaCloudMapAutoConfiguration.class, StsEncryptablePropertiesConfiguration.class}) public class ApplicationAutoConfig implements EnvironmentAware { private Environment environment; /** * Rainbow需要依赖STS和Cloud Map启动,创建dataSource * * @param client NuwaMapClient值对象 * @return DataSource 初始化完成的数据源数据源 */ @Bean @DependsOn({"stsBootStrap"}) public DataSource createDataSource(NuwaMapClient client) { DbGroupDataSource dataSource = new DbGroupDataSource(); dataSource.setUseSts(true); dataSource.setAppName(environment.getProperty("wiseDba.appName")); dataSource.setDbGroupKey(environment.getProperty("wiseDba.groupKey")); dataSource.setDbName(environment.getProperty("wiseDba.dbName")); dataSource.init(); return dataSource; } /** * 事务管理创建 * * @param dataSource 数据源 * @return DataSourceTransactionManager 事务管理 */ @Bean public DataSourceTransactionManager createTransaction(DataSource dataSource) { DataSourceTransactionManager transaction = new DataSourceTransactionManager(); transaction.setDataSource(dataSource); return transaction; } @Bean public JdbcTemplate createJdbcTemplate(DataSource dataSource) { return new JdbcTemplate(dataSource); } @Bean("sqlSessionFactoryBean") public SqlSessionFactoryBean createMybatisSqlSessionFactoryBean(DataSource dataSource) { SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean(); sessionFactoryBean.setDataSource(dataSource); // 数据源配置项 org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration(); // 允许jdbc自动生成主键 configuration.setUseGeneratedKeys(true); // 使用列标签代替列名 configuration.setUseColumnLabel(true); // 打开下划线命名自动转换为驼峰命名开关 configuration.setMapUnderscoreToCamelCase(true); sessionFactoryBean.setConfiguration(configuration); return sessionFactoryBean; } @Bean public TransactionTemplate createTransactionTemplate(DataSourceTransactionManager dataSourceTransactionManager) { TransactionTemplate template = new TransactionTemplate(); template.setTransactionManager(dataSourceTransactionManager); return template; } @Bean public MapperScannerConfigurer createMapperScannerConfigurer() { MapperScannerConfigurer configurer = new MapperScannerConfigurer(); configurer.setBasePackage("com.huawei.demo"); configurer.setSqlSessionFactoryBeanName("sqlSessionFactoryBean"); return configurer; } @Override public void setEnvironment(Environment environment) { this.environment = environment;
  • 配置Rainbow 修改Rainbow SDK配置,切换SDK数据源,新增Cloud Map配置、STS配置,配置如下: nuwa: sts: serverDomain: 10.33.102.162:8080 configPath: certs/WiseCloudNuwaService/WiseCloudNuwaCloudMapAdminService/WiseCloudNuwaCloudMapAdminService.ini enable: true cloudmap: serverAddr: http://10.33.113.125:8080 namespaceName: cn_dev_default rainbow: db0: datasource: beanName: rainbowDs dataSourceName: xxxx //与运维中心WiseDBA服务SDK配置界面的值保持一致 appName: xxx //业务的服务名 dbGroupKey: xxx //实例名称 dbName: xxxxx //Schema名称 connectionProperties: characterEncoding=utf8;connectTimeout=10000;socketTimeout=10000;autoReconnect=true;useUnicode=true;serverTimezone=Asia/Shanghai useSts: true mybatis: base-package: com.huawei.nuwa.map.demo.consumer.middleware.dao mapper-locations: classpath:mapper/rainbow/*.xml
  • 实践概述 代码开发完成后,每次上线前都需要先在Jenkins上打包成镜像包或Jar包,再将镜像包上传到SWR镜像仓库或者将Jar包上传到OBS对象存储,然后再使用ServiceStage升级组件版本配置。该流程较为繁琐,频繁发版本测试导致开发和运维效率低、用户体验差。 如果您的代码在GitLab上管理,使用ServiceStage进行应用托管并且已经部署了组件,则可以通过使用GitLab对接Jenkins自动构建打包,升级已经部署在ServiceStage上的组件版本配置。 本实践通过输出在Jenkins构建打包完成之后自动升级组件的shell脚本,实现了代码合入后自动构建打包并在ServiceStage上滚动升级组件。 父主题: 使用GitLab对接Jenkins自动构建并滚动升级部署到ServiceStage的组件
  • 脚本参数说明 参数 是否必须 参数类型 描述 region 是 String Region名称。获取方法,请参考参数值获取。 project_id 是 String 项目ID。获取方法,请参考参数值获取。 application_id 是 String 应用ID。获取方法,请参考参数值获取。 component_id 是 String 组件ID。获取方法,请参考参数值获取。 rolling_release_batches 是 int 分批部署批次。 deploy_type 是 String 部署类型。 package表示软件包部署。 image表示镜像部署。 obsutil 否 String 当使用软件包部署如jar包部署时为必选参数,上传jar包到obs的工具安装的绝对路径。例如:/root/tools/obsutil/obsutil_linux_amd64_5.4.6/obsutil。 bucket 否 String 当使用软件包部署时为必选参数,上传到obs的桶路径,格式为obs://{桶名称},例如:obs://obs-mzc。 obs_jar_url 否 String 当使用软件包部署时为必选参数。软件包上传obs后的链接,格式为obs://{桶名}/{软件包名}。例如,obs://obs-mzc/spring-demo-0.0.1-SNAPSHOT.jar。 machine_image_name 否 String 当使用镜像部署时为必选参数,Jenkins打包构建后生成的镜像,格式为:{镜像名称}:{版本},例如:java-test:v1。 swr_image_url 否 String 当使用镜像部署时为必选参数,上传到SWR镜像仓库的镜像包路径,格式为:{镜像仓库地址}/{组织名称}/{镜像包名称}:{版本},其中SWR镜像仓库地址格式为:swr.{区域所属项目名称}.myhuaweicloud.com。 AK 否 String 当使用镜像部署时为必选参数。访问密钥ID,即AK,用于登录SWR镜像仓库。获取方法,请参考访问密钥。 SK 否 String 当使用镜像部署时为必选参数。与访问密钥ID(AK)结合使用的密钥,即SK,用于登录SWR镜像仓库。获取方法,请参考访问密钥。 login_secret 否 String 当使用镜像部署时为必选参数。SWR镜像仓库的登录密钥,用于登录SWR镜像仓库。执行如下命令,返回的结果就是登录密钥: printf "{AK}" | openssl dgst -binary -sha256 -hmac "{SK}" | od -An -vtx1 | sed 's/[ \n]//g' | sed 'N;s/\n//' {AK}、{SK}请替换为已获取到的AK、SK的值。 swr_url 否 String 当使用镜像部署时为必选参数。SWR镜像仓库地址,格式为:swr.{区域所属项目名称}.myhuaweicloud.com
  • 配置构建触发器 配置Jenkins构建触发器。 勾选“Build when a change is pushed to GitLab”,保存GitLab webhook URL(配置Gitlab webhook时需使用),然后单击右下角“高级”。 选择“Filter branches by regex ”,配置指定分支变更后触发构建任务,示例中的分支名称为main,单击右下角“Generate”生成Secret token并保存,在配置GitLab webhook时需使用。 配置GitLab webhook。 登录GitLab,进入代码仓库,示例中的仓库名称是“test”,选择settings中的“Webhooks”,URL和Secret token填写1获取到的GitLab webhook URL和Secret token。 取消勾选SSL verification的“Enable SSL verification”,单击“Add webhook”。
  • 配置流水线脚本 流水线脚本是构建时运行的构建命令。 选择“流水线”页签,在下拉框选择“Pipeline script”。 配置如下所示流水线脚本,示例中使用的是构建jar包场景。 请使用您环境下的实际参数替换脚本中的参数变量。脚本参数说明,请参考表1。 流水线脚本运行时会调用upgrade.sh。脚本详细说明,请参考upgrade.sh脚本。 需要设置脚本文件upgrade.sh为可执行文件。 node { // 定义代码仓库地址,例如:http://10.95.156.58:8090/zmg/test.git def git_url = '{代码仓库地址}' // GitLab凭据id def credentials_id = '{GitLab凭据id}' // git代码仓库分支名称,例如:main def branch_name = '{git代码仓库分支名称}' // maven安装的可执行文件路径,例如 :/root/app/maven/apache-maven-3.8.6/bin/mvn def maven = '{maven安装的可执行文件路径}' // upgrade.sh脚本存放路径,例如:/root/jar/upgrade.sh def upgrade_shell = '{upgrade.sh脚本存放路径}' stage('Clone sources') { git branch: branch_name, credentialsId: credentials_id, url: git_url } stage('Build') { // 构建jar包 sh "'$maven' clean package -Dmaven.test.failure.ignore=true -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true" } stage('upgrade') { // 执行脚本,使用构建上传到obs的jar包升级ServiceStage组件,超时时间5分钟 sh "timeout 300s '$upgrade_shell'" } } 表1 流水线脚本参数说明 参数 是否必须 参数类型 描述 git_url 是 String GitLab代码仓库地址。 credentials_id 是 String 使用账号密码配置的GitLab凭据id,请参考创建GitLab凭证。 branch_name 是 String GitLab代码仓库分支名称。 maven 是 String maven安装的可执行文件路径,例如:/root/app/maven/apache-maven-3.8.6/bin/mvn。 upgrade_shell 是 String upgrade.sh脚本在Jenkins所在虚拟机上存放的路径,例如:/root/jar/upgrade.sh。脚本内容,请参考upgrade.sh脚本。 执行构建并验证构建结果,请参考构建验证。
  • ServiceStage最佳实践汇总 本文汇总了基于应用管理与运维平台(ServiceStage)常见应用场景的操作实践,为每个实践提供详细的方案描述和操作指导,帮助您轻松掌握不同应用场景下ServiceStage的使用方法。 表1 ServiceStage最佳实践一览表 最佳实践 说明 使用ServiceStage托管和治理天气预报微服务应用 通过天气预报应用,展示了微服务架构设计理念的应用场景,以及使用ServiceStage管理运行环境、构建应用和治理微服务的最佳实践。 开启ServiceComb引擎专享版安全认证 ServiceComb引擎专享版支持基于RBAC(Role-Based Access Control,基于角色的访问控制)策略的安全认证,并支持开启/关闭安全认证。 引擎开启了安全认证之后,要求所有连接该引擎的微服务都要配置安全认证账号和密码。否则,微服务将注册失败,导致业务受损。 本章节介绍未开启安全认证的ServiceComb引擎专享版,开启安全认证并确保已接入引擎的微服务组件业务不受影响,即如何平滑开启安全认证。 ServiceComb引擎仪表盘中的数据通过ServiceStage对接到 AOM 接入ServiceComb引擎的Java Chassis应用,在ServiceComb引擎仪表盘上的实时监控数据默认保留5分钟。如果需要持久化存储历史监控数据用于后续查询分析,可以使用ServiceStage的自定义指标监控功能,将微服务显示到ServiceComb引擎仪表盘中的数据对接到AOM。 本章节以软件包部署应用为例,指导您完成将ServiceComb引擎仪表盘中的数据通过ServiceStage对接到AOM。 使用ServiceStage零代码修改实现微服务注册引擎迁移 本章节指导您将使用Java Chassis微服务框架开发并注册在ServiceComb引擎专业版上的微服务应用组件,零代码修改迁移注册到ServiceComb引擎专享版。 使用ServiceStage托管Spring Boot应用 Spring Boot是一个基于Spring框架的开源应用程序开发框架,可以帮助您快速构建可独立运行的、生产级别的应用程序。 本最佳实践使用Spring官方提供的样例代码,帮助您快速在ServiceStage上快速部署、访问和升级Spring应用。 使用GitLab对接Jenkins自动构建并滚动升级部署到ServiceStage的组件 代码开发完成后,每次上线前都需要先在Jenkins上打包成镜像包或Jar包,再将镜像包上传到SWR镜像仓库或者将Jar包上传到OBS对象存储,然后再使用ServiceStage升级组件版本配置。该流程较为繁琐,频繁发版本测试导致开发和运维效率低、用户体验差。 如果您的代码在GitLab上管理,使用ServiceStage进行应用托管并且已经部署了组件,则可以通过使用GitLab对接Jenkins自动构建打包,升级已经部署在ServiceStage上的组件版本配置。 本实践通过输出在Jenkins构建打包完成之后自动升级组件的shell脚本,实现了代码合入后自动构建打包并在ServiceStage上升级部署。 使用ServiceStage全链路流量控制实现Spring Cloud应用全链路灰度 在一个存在多个微服务组件的应用体系中,对其中一个微服务组件进行版本升级发布时,会涉及到其他微服务组件版本的变动升级。所以要求在灰度验证时能够使得灰度流量同时经过涉及到的所有微服务组件灰度版本。 但是在真实业务场景中,由于业务的微服务组件规模和数量很大,一条请求链路可能会经过很多个微服务组件。新功能发布时也可能会涉及到多个微服务组件同时变更,并且业务的微服务组件之间依赖错综复杂。频繁的组件版本发布、以及组件多版本并行开发导致流量治理规则日益膨胀,给整个系统的可维护性和稳定性带来了严重挑战。 对于以上问题和挑战,通过全链路流量控制功能将应用组件的相关版本隔离成一个独立的运行环境(即泳道),通过设置流控路由规则,可以将满足规则的请求流量路由到目标版本应用。 使用ServiceStage基于发布管理实现组件跨可用区搬迁和顺序升级 在实际业务中,考虑到机房故障问题,需要将服务部署在不同的可用区中以提高可用性。 但是,在不同可用区部署组件时每个组件都必须按需配置一遍,存在操作复杂、容易出错的问题。而且需要在组件创建完成后立即部署运行,并不支持创建后按需部署的需求。如果组件配置错误,会导致部署失败,需要删除后重新创建并部署。 使用ServiceStage的发布管理功能可以更好的实施组件跨可用区搬迁和顺序升级: 基于ServiceStage发布管理的批量克隆发布单实现组件的跨可用区搬迁。 基于ServiceStage发布管理的批量升级发布单实现组件跨可用区的升级,并指定在不同可用区组件的升级顺序。
  • 资源准备 创建一个 虚拟私有云VPC ,请参考创建虚拟私有云和子网。 创建两个处于不同可用区(例如:az1、az2)的CCE集群(例如:cce-az1、cce-az2)。如果只是试用场景,“集群规模”选择“50节点”,“集群master实例数”选择“单实例”即可。 请参考购买集群。 每个集群中至少包含1个规格为8vCPUs、16GB内存或者2个规格为4vCPUs、8GB内存的E CS 节点。 为CCE集群添加节点,请参考创建节点。 集群所在VPC为1创建的VPC。 创建集群时,需在“集群master实例数”下选择“指定集群master实例分布策略”,选择“自定义分配”将两个集群的master节点分配到不同的可用区。 集群中的ECS节点的可用区需要和其所在CCE集群master节点的可用区保持一致。 创建用于存储软件包的桶,请参考创建桶。
  • 使用ServiceStage托管天气预报微服务应用概述 天气预报微服务应用提供天气预报、紫外线和天气湿度展示等功能。本文通过天气预报应用,展示了微服务架构设计理念的应用场景,以及使用ServiceStage管理运行环境、构建应用和治理微服务的最佳实践。 天气预报应用由前端应用和后端应用组成。前端应用组件weathermapweb采用Node.js进行开发,实现前端应用发现后端应用。后端应用分别采用Java Chassis、Spring Cloud微服务开发框架实现,包括weather、forecast、fusionweather、weather-beta、edge-service等微服务组件。 其中: weathermapweb是一个基于Node.js语言开发的界面微服务。 weather是提供指定城市当前的天气情况的微服务。 forecast是提供指定城市未来几天天气情况预测的微服务。 fusionweather是一个聚合微服务,通过访问weather和forecast服务,提供全方位的天气预报功能。 weather-beta是weather微服务的新版本,新增了查询指定城市紫外线情况的功能。 edge-service为所有其它微服务的统一入口。 天气预报各个后端应用组件详细说明,请参考表1。 表1 天气预报组件说明 微服务开发框架 组件名称 Java Chassis weather forecast fusionweather weather-beta edge-service weathermapweb Spring Cloud weather forecast fusionweather weather-beta edge-service weathermapweb 天气预报的逻辑组网和调用关系图如下: ServiceStage支持通过源码、软件包方式部署并接入Java Chassis、Spring Cloud微服务开发框架开发的微服务应用。 本最佳实践使用基于Java Chassis微服务开发框架开发的天气预报应用,提供了使用源码部署天气预报微服务和使用软件包部署天气预报微服务两种微服务应用部署方法,为您展示使用ServiceStage托管和治理微服务应用的能力。 父主题: 使用ServiceStage托管和治理天气预报微服务应用
  • 生成GitLab访问令牌 登录GitLab。 鼠标移动到右上角的账号名上,单击“Edit profile”。 单击“Access Tokens”,输入“Token name”,勾选“api”,单击“Create personal access token”创建访问令牌。 完成后在页面上方的“Personal Access Tokens”右侧显示token令牌。 令牌仅在初次生成时显示,否则下次需要重新创建。该令牌仅用于GitLab对接测试。
  • 概述 内容审核 Content Moderation ),是基于图像、文本、音频、视频、音频流档的检测技术,可自动检测涉黄、广告、涉暴等内容,对用户上传的图片、文字、音频、视频、音频流进行内容审核,帮助客户降低业务违规风险。 内容审核以开放API(Application Programming Interface,应用程序编程接口)的方式提供给用户,用户通过调用API获取推理结果,帮助用户自动采集关键数据,打造智能化业务系统,提升业务效率。 您可以使用本文档提供的内容审核服务API的描述、语法、参数说明及样例等内容,进行相关操作,所支持的全部操作请参见API概览。 在调用内容审核API之前,请确保已经充分了解内容审核相关概念,详细信息请参见产品介绍。 父主题: 使用前必读
  • 常见问题 文档内容审核接口涉及哪些API?涉及到哪些Region? 表1 文档内容审核接口详情 API名称 URI Region 创建文档审核任务 /v3/{project_id}/moderation/document/jobs 华北-北京四、华东-上海一 查询文档审核结果 /v3/{project_id}/moderation/document/jobs/{job_id} 华北-北京四、华东-上海一 文档内容审核接口停止服务后,正在使用该版本的用户有哪些影响? 新用户与历史存量用户将不再支持调用文档审核接口。
  • 常见问题 内容审核(V2)版本包含哪些服务?哪些API?涉及到哪些Region? 表1 内容审核(V2)版本服务详情 服务名 API名称 URI Region 文本审核 (V2) 文本内容审核 (V2) POST /v1.0/moderation/text POST /v2/{project_id}/moderation/text 华北-北京一、华北-北京四、华东-上海一 图像审核 (V2) 图像内容审核(V2) POST /v1.0/moderation/image POST /v2/{project_id}/moderation/image 华北-北京一、华北-北京四、华东-上海一 图像内容审核(批量)(V2) POST /v1.0/moderation/image/batch POST /v2/{project_id}/moderation/image/batch 华北-北京一、华北-北京四、华东-上海一 图像内容审核(异步批量)(V2)- 任务提交 POST /v1.0/moderation/image/batch/jobs POST /v2/{project_id}/moderation/image/batch/jobs 华北-北京一、华北-北京四、华东-上海一 图像内容审核(异步批量)(V2)- 处理结果查询 GET /v1.0/moderation/image/batch GET /v2/{project_id}/moderation/image/batch 华北-北京一、华北-北京四、华东-上海一 图像内容审核(异步批量)(V2)- 任务列表查询 GET /v1.0/moderation/image/batch/jobs GET /v2/{project_id}/moderation/image/batch/jobs 华北-北京一、华北-北京四、华东-上海一 短语音内容审核 语音内容审核(V2) POST /v1.0/moderation/voice POST /v2/{project_id}/moderation/voice 华北-北京四 扭曲矫正 扭曲矫正 POST /v1.0/moderation/image/distortion-correct 华北-北京一、华北-北京四 清晰度检测 清晰度检测 POST /v1.0/moderation/image/clarity-detect 华北-北京一、华北-北京四 内容审核(V2)版本停止服务后,正在使用该版本的用户有哪些影响? 在内容审核(V2)版本 EOS时间后: 新用户不再支持开通内容审核(V2)服务。 历史存量用户仍然可以使用内容审核(V2)版本,但我们将停止内容审核(V2)版本的后续演进与更新,内容审核(V2)版本服务运行过程中出现错误,不再提供该版本的任何技术服务支持,请您尽快切换至新版本内容审核(V3)服务。 切换至内容审核(V3)版本产品价格是否有影响? 内容审核(V3)版本共包含文本审核、图像审核、音频审核、 视频审核 、音频流审核、视频流审核、文档内容审核7个服务,其中文本审核和图像审核与V2版本的文本审核、图像审核计费一致,其余服务均为V3版本的新服务,不涉及。 如何对接内容审核(V3)版本? 在内容审核资料页,根据内容审核(V3)版本的《API参考》资料适配对接。
  • 内容审核概述 内容审核(Content Moderation),是基于图像、文本、音频、视频、音频流的检测技术,可自动检测涉黄、广告等内容,对用户上传的图片、文字进行内容审核,帮助客户降低业务违规风险。 内容审核以开放API(Application Programming Interface,应用程序编程接口)的方式提供给用户,用户通过实时访问和调用API获取推理结果,帮助用户自动采集关键数据,打造智能化业务系统,提升业务效率。
  • 步骤六:调用服务 在Postman左侧导航栏的“Collections”目录下单击“Moderation_text”配置文件。 单击“Headers”配置项,将获取的Token复制到“X-Auth-Token”值中。 图3 填入Token 单击“Body”配置项,将待检测的文本填入到“text”参数中。 关于body体中其他参数说明,请参考文本内容审核API。 图4 修改参数 单击“Send”,发送请求,获取调用结果。 { "request_id": "065561ff4bba1af6dd63a27c5c1371de", "result": { "details": [], "label": "normal", "suggestion": "pass" } }
  • 步骤五:Token认证鉴权 Token是用户的访问令牌,承载了用户的身份、权限等信息,用户调用API接口时,需要使用Token进行鉴权。 在Postman左侧导航栏的“Collections”目录下,单击“get-token”配置文件。 单击“Body”配置项。填写用户名、密码、账号名。 用户名、密码、账号名的获取方法: 登录管理控制台。 鼠标移动至页面右上角的用户名,在下拉列表中单击“我的凭证”。复制 IAM 用户名、主账号至username、domainname参数处,并填写该IAM用户密码。 图1 Token认证鉴权 单击“Send”,发送请求,来获取并复制Token。 获取返回结果“Headers”中的“X-Subject-Token”即为Token。Token有效期为24小时。 图2 获取Token
  • 步骤六:调用服务 在Postman左侧导航栏的“Collections”目录下单击“Moderation_image”配置文件。 单击“Headers”配置项,将获取的Token复制到“X-Auth-Token”值中。 图3 填入Token 单击“Body”配置项,将获取的图片url填写到“url”参数中。 关于body体中其他参数说明,请参考图像内容审核API。 图4 修改参数 单击“Send”,发送请求,获取调用结果。 { "request_id": "bcacaef5367b525620ec92531246af71", "result": { "details": [], "suggestion": "pass" } }
  • 步骤五:Token认证鉴权 Token是用户的访问令牌,承载了用户的身份、权限等信息,用户调用API接口时,需要使用Token进行鉴权。 在Postman左侧导航栏的“Collections”目录下,单击“get-token”配置文件。 单击“Body”配置项。填写用户名、密码、账号名。 用户名、密码、账号名的获取方法: 登录管理控制台。 鼠标移动至页面右上角的用户名,在下拉列表中单击“我的凭证”。复制IAM用户名、主账号至username、domainname参数处,并填写该IAM用户密码。 图1 Token认证鉴权 单击“Send”,发送请求,来获取并复制Token。 获取返回结果“Headers”中的“X-Subject-Token”即为Token。Token有效期为24小时。 图2 获取Token
  • 步骤七:调用服务 选择本地图片或者使用Demo默认图片,参考如下示例代码修改“ModerationImageContentDemo.java”文件中图片文件路径(“data/moderation-demo-1.jpg”)。 1 2 3 4 5 public static void main(String[] args) throws IOException { ModerationImageContentDemo tool = new ModerationImageContentDemo(); tool.imageContentCheck("https://sdk-obs-source-save.obs.cn-north-4.myhuaweicloud.com/terrorism.jpg"); byte[] imageBytes = FileUtils.readFileToByteArray(new File("data/moderation-demo-1.jpg")); tool.imageContentCheck(imageBytes); } 执行“ModerationImageContentDemo.java”文件,控制台输出200即表示程序执行成功,图像内容审核结果输出到控制台,如图4所示。 图4 运行结果 查看调用次数。您可以在“服务列表”,“图像审核”页查看调用详情和调用次数统计。如图5所示。 图5 识别统计 识别结果统计:显示一段时间范围,内容审核的调用总数,拒绝数,疑似数和通过数,帮助您更好了解服务的调用情况和审核情况。 总数:指的是审核调用总次数。 拒绝数:指的是block总数,即文本中包含敏感信息,审核不通过的次数。 疑似数:指的是review总数,即人工复查审核的次数。 通过数:指的是pass总数,即通过审核的次数。 数据趋势:显示您设置的这段时间范围内,总数,拒绝数,疑似数和通过数的变化趋势。 图6 原因分布 拒绝数据原因分布:显示您设置的这段时间范围内,审核不通过的检测场景占比数。 疑似数据原因分布:显示您设置的这段时间范围内,需要人工复查的检测场景占比数。
  • 内容审核-视频 内容审核-视频有以下应用场景: 视频平台/社区:精准识别平台上的违规视频内容,帮助平台规避内容风险: 360度全方位检测:提供多模态综合审核方案,对视频内容中的画面、声音、文字进行全方位解析。 支持类型广:支持多种视频文件格式:AVI、FLV、MP4、MPG、WMV、MOV、RMVB、M3U8等 视频聊天:精准识别和拦截社交/即时通讯场景下的色情、辱骂、暴恐、广告导流等违规内容: 360度全方位检测:提供多模态综合审核方案,对视频内容中的画面、声音、文字进行全方位解析。 支持类型广:支持多种视频文件格式:AVI、FLV、MP4、MPG、WMV、MOV、RMVB、M3U8等 在线教育:精准识别和拦截线上教学、互动、录播课程中的违规内容,保障用户尤其是未成年人的身心健康: 360度全方位检测:提供多模态综合审核方案,对视频内容中的画面、声音、文字进行全方位解析。 支持类型广:支持多种视频文件格式:AVI、FLV、MP4、MPG、WMV、MOV、RMVB、M3U8等。
  • 内容审核-音频 内容审核-音频有以下应用场景: 在线教育 监测在线教育中有声教学内容,智能审核音频中的涉黄、涉暴、辱骂、广告等违规场景。 场景优势如下: 准确率高:基于改进的深度学习算法,基于复杂环境语音审核准确率高。 支持特殊声音识别:支持特殊声音识别模型,如娇喘、呻吟、敏感声纹等。 游戏/社交语音 监测游戏APP / 社交APP中的聊天内容以及语音动态,降低业务违规风险。 场景优势如下: 准确率高:基于改进的深度学习算法,基于复杂环境语音审核准确率高。 支持特殊声音识别:支持特殊声音识别模型,如娇喘、呻吟、敏感声纹等。 录播/电台语音 监测内容传播类 / FM电台类音频数据,降低业务违规风险。 场景优势如下: 准确率高:基于改进的深度学习算法,基于复杂环境语音审核准确率高。 支持特殊声音识别:支持特殊声音识别模型,如娇喘、呻吟、敏感声纹等。
  • 内容审核-音频流 语音直播间 语音直播间通过语音进行实时交流和互动,把音频流审核集成到语音直播平台以实现实时审核功能,实时判断出不合规的语音内容。 场景优势: 实时性:可以实时监测和分析直播间中的语音内容,保障直播间的秩序和安全。 支持特殊声音识别:支持特殊声音识别模型,如娇喘、呻吟、敏感声纹等。 社交语音消息 在社交语音消息平台上实时对用户发送的语音消息进行审核,及时判断出包含不良内容的语音消息,帮助您根据审核结果进行相应的处理,如删除消息、禁言用户等。 场景优势: 准确率高:全面场景覆盖,避免误杀漏杀,实时防御风险。 支持特殊声音识别:支持特殊声音识别模型,如娇喘、呻吟、敏感声纹等。 在线教育 根据教育内容和要求,您可以设置适当的审核规则,帮助您识别出含有敏感词、不当内容的音频,及时发现并处理不合规的内容。 场景优势: 审核效率高:减少人工审核的工作量,提高教学内容的准确性,避免出现错误或不当的言论。 准确率高:过滤掉不良信息和不当言论,保证教学内容安全。
  • 内容审核-图像 内容审核-图像有以下应用场景: 视频直播 在互动直播场景中,成千上万个房间并发直播,人工审核直播内容几乎不可能。基于图像审核能力,可对所有房间内容实时监控,识别可疑房间并进行预警。 场景优势如下: 准确率高:基于改进的深度学习算法,检测准确率高。 响应速度快:视频直播响应速度小于0.1秒。 在线商城 智能审核商家/用户上传图像,高效识别并预警不合规图片,防止涉黄、涉暴类图像发布,降低人工审核成本和业务违规风险。 场景优势如下: 准确率高:基于改进的深度学习算法,检测准确率高。 响应速度快:单张图像识别速度小于0.1秒。 网站论坛 不合规图片的识别和处理是用户原创内容(UGC)类网站的重点工作,基于内容审核,可以识别并预警用户上传的不合规图片,帮助客户快速定位处理,降低业务违规风险。 场景优势如下: 准确率高:基于改进的深度学习算法,检测准确率高。 响应速度快:单张图像识别速度小于0.1秒。
  • 内容审核-文本 内容审核-文本有以下应用场景: 电商评论筛查 审核电商网站产品评论,智能识别有色情等违规评论,保证良好用户体验。 场景优势如下: 准确率高:基于改进的深度学习算法,检测准确率高。 响应速度快:响应速度小于0.1秒。 注册昵称审核 对网站的用户注册信息进行智能审核,过滤包含广告、反动、色情等内容的用户昵称。 场景优势如下: 准确率高:基于改进的深度学习算法,检测准确率高。 响应速度快:响应速度小于0.1秒。 媒资内容审核 自动识别媒资中可能存在的违禁品等信息,避免已发布的文章存在违规风险。 场景优势如下: 快速迭代:持续快速的迭代文本词库,及时识别新型不合规内容。 处理速度快:处理速度小于0.1秒。 弹幕审核 实时检测弹幕文本、保证网络直播间内容安全,降低业务违规风险。 场景优势如下: 海量词库:内置海量词库,支持各种匹配规则。 快速迭代:持续快速的迭代文本词库,及时识别新型不合规内容。 聊天内容实时审核 实时检测游戏等文本聊天内容中可能出现的违规信息,避免辱骂、色情、反动等文本内容,净化网络环境。 场景优势如下: 海量词库:内置海量词库,支持各种匹配规则。 响应速度快:响应速度小于0.1秒。
  • 图像内容审核(V3) 支持“华北-北京一、华北-北京四、华东-上海一”区域,新用户建议使用“华北-北京四”。 支持识别处理JPG、PNG、JPEG、WEBP、GIF、TIFF、TIF、HEIF格式的图片。 只支持中文图像内容审核。 图像各边的像素大小在20到6000px之间。 图片如果传base64字符串时,编码后大小不超过10MB(原图像不超过7.5MB);如果传url时,图片大小不超过10MB。 目前支持暴恐元素、涉黄内容检测、广告检测。 默认API调用最大并发为10(表示1秒内最多请求10次),如需调整更高并发限制请通过工单联系专业工程师为您服务。
  • 背景信息 ROMA Exchange是基于AstroZero开发的应用,部署依赖AstroZero Runtime运行环境。 ROMA Exchange上的用户总数受AstroZero规格里显示的用户数限制,用户的说明请参见AstroZero配套文档的“用户与权限的基本概念”里的相关说明。 用户总数包括部署ROMA Exchange的租户、该租户下创建的用户以及自行在ROMA Exchange资产中心前台上注册的用户、通过第三方接入ROMA Exchange的用户。 因此,购买ROMA Exchange时,会同步订购AstroZero服务创建实例申请部署AstroZero Runtime运行实例。 ROMA Exchange提供了专业版规格,您可以根据需要选择按月购买或按年购买。
  • 配置说明 参考进入租户管理员配置界面进入租户管理员配置界面,在租户管理员界面上,单击“连接器配置”下的“OBS”,跳转到OBS列表页。 单击“新建”。 参考界面和表1配置必选参数。 表1 OBS存储配置参数说明 字段 说明 如何配置 基本信息 名称 OBS连接器的名称,用户自定义。 单击文本框,填入名称。 账号地区 前提条件里创建桶时,选择的区域。 下拉框里选择,请根据实际情况配置。 访问密钥 前提条件里获取的访问密钥ID(Access Key Id)。 单击文本框,填入访问密钥。 密钥 前提条件里获取的秘密访问密钥(Secret Access Key)。 单击文本框,填入密钥。 桶(一个OBS连接器只支持配置一个桶。) 区域 前提条件里创建桶时,选择的区域。 下拉框里选择,请根据实际情况配置。 桶名称 前提条件里创建桶时,配置的名称。 单击文本框,填入桶名称。 文件类型 上传到桶里的文件类型。 必须填写文件类型,配置后在后台限制上传的类型,防止修改拦截报文绕过后台文件类型检测。 取值:pdf,png,jpg,jpeg,doc,docx,zip,mp4,ppt,pptx,bmp。 文件大小 上传到桶里的文件大小。 必须填写文件大小,配置后在后台限制上传的大小,防止修改拦截报文绕过后台文件大小检测。 取值:209715200字节
  • 评价敏感词及敏感词处理方式管理 租户管理员可以对评价时涉及到的敏感词进行管理包括新增、修改、删除敏感词;租户管理员也可以设置当用户提交的评价内容中包括敏感词时的处理策略。 参考进入租户管理员配置界面进入租户管理员配置界面,在租户管理员配置界面上,在“应用配置”下选择“评价敏感词配置”。 配置敏感词。 选择“SensitiveWords”。 根据敏感词的名称和状态(ACTIVE和INACTIVE)查询已有的敏感词。 单击“新增”,填写敏感词的名称和敏感词,然后单击“保存”。 敏感词可以有多个,以英文逗号分隔。 单击某类敏感词所在行的“查看详情”,在详情页面修改敏感词的信息,如名称、状态、敏感词汇,然后单击“保存”完成修改或单击“删除”删掉这个敏感词类。 配置用户提交评价中含敏感词的处理策略。 选择“System Param”。 单击参数名称列的“CA_EVAL__SensitiveWordStrategy”。 单击“值”字段值后面的,修改敏感词处理策略。 敏感词过滤策略: one:不允许提交,而是给提交评价人提示匹配到的第一个敏感词语。 all:不允许提交,而是给提交评价人提示匹配到的所有敏感词语。 none:允许提交,但是会将敏感词汇处理成代替符号,比如*。 父主题: 配置ROMA Exchange实例
  • 产品初始化配置 租户部署ROMA Exchange后,需要进行一些初始化配置。 参考进入租户管理员配置界面进入配置界面,在租户管理员配置界面上,单击“安装升级配置”。 单击每个参数后的了解参数说明,并请参考下图和表1进行配置。 表1 产品初始化配置说明 字段 说明 如何配置 登录配置 登录账号类型 登录ROMA Exchange的账号类型。 在下拉框里选择。 公共配置 主题风格 ROMA Exchange的界面风格。 选中需要的风格。 信任 域名 链接跳转时,信任域名不会有风险提示。 直接在文本框里输入,不同域名间用“;”隔离。 门户网站访问域名 门户网站的访问域名。 直接在文本框里输入。 通知管理 是否发送邮件 是否在业务相关操作给用户发送邮件。 单选。 如果配置为“是”,需要参考邮件的配置配置。 是否发送短信 是否在业务相关操作给用户发送短信。 单选。 如果配置为“是”,需要参考短信的配置配置。 存储服务 系统存储连接器类型 资产提供方上传资产时,需要保存资产的相关文件,因此需要用到存储。 直接在文本框里输入类型: OBS:OBS需要单独部署。推荐使用OBS。 MINIO:AstroZero内置的存储服务。 系统存储连接器名称 系统存储连接器的名称。 请参考配置OBS存储功能里配置。 系统存储连接器桶名 系统存储连接器桶的名称。 请参考配置OBS存储功能里配置。 云搜索服务 配置 配置 云搜索 地址 操作日志、资产的文档,如果同步到ES,查询性能更高。也可以不配置,内容存在本地。 公有云场景下,ROMA Exchange使用的云搜索服务的地址不能与AstroZero相同。 请参考AstroZero指导在里配置后,在这里配置。 直接单击字段后的文本框,填入云搜索服务的地址。还需要参考搜索服务配置配置。 用户管理 是否需要实名认证 用户是否需要实名认证才能拥有更高权限的功能。 说明: 该参数初始配置后,不建议中途修改,避免引发功能问题。 是:如果用户想订阅资产,需要认证为个人实名认证用户;如果用户想发布资产,需要认证为企业实名认证用户。 否:不需要认证即可订阅或发布资产。 如果是初次安装后配置,则配置完后,单击“一键配置”;如果是升级后配置,则配置完后,单击“一键升级”,增量更新。 父主题: 配置ROMA Exchange实例
  • 前提条件 已在华为云的 消息通知 服务 SMN 注册账号并获取关键信息。获取方法如下。 登录控制台华为云官网。 如果您没有华为云账号,请立即注册,相关操作请参见账号注册。注册后参考企业账号如何完成实名认证完成企业账号实名认证。 为防止个人用户发送垃圾短信,SMN服务暂只向通过认证的企业用户提供短信功能。 单击右上角的“控制台”,进入“管理控制台”界面。 鼠标移动至用户名处,在下拉列表中单击“我的凭证”,进入“我的凭证”页面。 在“API凭证”页签下,请获取“IAM用户名”、“账号名”、所用SMN资源对应的“项目ID”、“项目”、“所属的区域”取值。 图1 获取关键信息 获取AK(Access Key ID)、SK(Secret Access Key),即访问密钥对。 在“我的凭证”页面选择“访问密钥”页签,单击“新增访问密钥”按钮。 输入当前用户的登录密码。通过邮箱或者手机进行验证,输入对应的验证码。 单击“确定”,在下载的文件中获取AK、SK,请妥善保管AK、SK信息。 从SMN获取短信签名的“签名ID”,用于在短信内容中携带签发内容。
共100000条
提示

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