华为云用户手册

  • 消费者增加用户认证信息 无论是普通消息、顺序消息、定时消息,还是事务消息,都参考如下代码。以下加粗内容需要替换为实例自有信息,请根据实际情况替换。 import time from rocketmq.client import PushConsumer, ConsumeStatus def callback(msg): print(msg.id, msg.body, msg.get_property('property')) return ConsumeStatus.CONSUME_SUCCESS def start_consume_message(): consumer = PushConsumer('consumer_group') consumer.set_name_server_address('192.168.0.1:8100') # 设置权限(角色名和密钥) consumer.set_session_credentials( "ROCKETMQ_AK", # 角色名称 "ROCKETMQ_SK", # 角色密钥 '' )#用户名和密钥直接硬编码到代码中或者明文存储都存在很大的风险,建议在配置文件或者环境变量中密文存放,使用时解密。 consumer.subscribe('TopicTest', callback) print('start consume message') consumer.start() while True: time.sleep(3600) if __name__ == '__main__': start_consume_message() 示例代码中的参数说明如下,请参考收集连接信息获取参数值。 consumer_group:表示消费组名称。 192.168.0.1:8100:表示实例连接地址和端口。 ROCKETMQ_AK:表示用户名。创建用户的步骤,请参见创建用户。 ROCKETMQ_SK:表示用户的密钥。 TopicTest:表示Topic名称。
  • 生产者增加用户认证信息 普通消息、顺序消息和定时消息,参考如下代码。以下加粗内容需要替换为实例自有信息,请根据实际情况替换。 from rocketmq.client import Producer, Message topic = 'TopicTest' gid = 'test' name_srv = '192.168.0.1:8100' def create_message(): msg = Message(topic) msg.set_keys('XXX') msg.set_tags('XXX') msg.set_property('property', 'test') msg.set_body('message body') return msg def send_message_sync(): producer = Producer(gid) producer.set_name_server_address(name_srv) # 设置权限(角色名和密钥) producer.set_session_credentials( "ROCKETMQ_AK", # 角色名称 "ROCKETMQ_SK", # 角色密钥 '' )#用户名和密钥直接硬编码到代码中或者明文存储都存在很大的风险,建议在配置文件或者环境变量中密文存放,使用时解密。 producer.start() msg = create_message() ret = producer.send_sync(msg) print('send message status: ' + str(ret.status) + ' msgId: ' + ret.msg_id) producer.shutdown() if __name__ == '__main__': send_message_sync() 示例代码中的参数说明如下,请参考收集连接信息获取参数值。 topic:表示Topic名称。 gid:表示生产者组名称,请根据业务实际情况输入生产者组名称。 name_srv:表示实例连接地址和端口。 ROCKETMQ_AK:表示用户名。创建用户的步骤,请参见创建用户。 ROCKETMQ_SK:表示用户的密钥。 事务消息,参考如下代码。以下加粗内容需要替换为实例自有信息,请根据实际情况替换。 import time from rocketmq.client import Message, TransactionMQProducer, TransactionStatus topic = 'TopicTest' gid = 'test' name_srv = '192.168.0.1:8100' def create_message(): msg = Message(topic) msg.set_keys('XXX') msg.set_tags('XXX') msg.set_property('property', 'test') msg.set_body('message body') return msg def check_callback(msg): print('check: ' + msg.body.decode('utf-8')) return TransactionStatus.COMMIT def local_execute(msg, user_args): print('local: ' + msg.body.decode('utf-8')) return TransactionStatus.UNKNOWN def send_transaction_message(count): producer = TransactionMQProducer(gid, check_callback) producer.set_name_server_address(name_srv) # 设置权限(角色名和密钥) producer.set_session_credentials( "ROCKETMQ_AK", # 角色名称 "ROCKETMQ_SK", # 角色密钥 '' )#用户名和密钥直接硬编码到代码中或者明文存储都存在很大的风险,建议在配置文件或者环境变量中密文存放,使用时解密。 producer.start() for n in range(count): msg = create_message() ret = producer.send_message_in_transaction(msg, local_execute, None) print('send message status: ' + str(ret.status) + ' msgId: ' + ret.msg_id) print('send transaction message done') while True: time.sleep(3600) if __name__ == '__main__': send_transaction_message(10) 示例代码中的参数说明如下,请参考收集连接信息获取参数值。 topic:表示Topic名称。 gid:表示生产者组名称,请根据业务实际情况输入生产者组名称。 name_srv:表示实例连接地址和端口。 ROCKETMQ_AK:表示用户名。创建用户的步骤,请参见创建用户。 ROCKETMQ_SK:表示用户的密钥。
  • 支持多少个消费组个数? 不同实例规格支持的消费组个数不同,具体参见表1、表2和表3。 表1 实例规格说明(分布式消息服务RocketMQ版4.8.0) 资源规格 代理(个) 存储容量(GB/代理) 单个代理TPS 单个代理Topic数上限 单个代理消费组数上限 rocketmq.4u8g.cluster.small 1 ~ 2 300 ~ 60000 15000 2000 2000 rocketmq.4u8g.cluster 1 ~ 10 300 ~ 600000 20000 4000 4000 rocketmq.8u16g.cluster 1 ~ 10 300 ~ 900000 25000 8000 8000 rocketmq.12u24g.cluster 1 ~ 10 300 ~ 900000 28000 12000 12000 rocketmq.16u32g.cluster 1 ~ 10 300 ~ 900000 30000 16000 16000 表2 实例规格说明(分布式消息服务RocketMQ版5.x基础版单机) 资源规格 存储容量(GB) 实例TPS 实例Topic数上限 实例消费组数上限 rocketmq.b1.large.1 100 ~ 30000 500 50 500 表3 实例规格说明(分布式消息服务RocketMQ版5.x基础版集群) 资源规格 存储容量(GB) 实例TPS 实例Topic数上限 实例消费组数上限 rocketmq.b2.large.4 200 ~ 60000 2000 100 1000 rocketmq.b2.large.8 200 ~ 60000 4000 100 1000 rocketmq.b2.large.12 200 ~ 60000 6000 100 1000 父主题: 消费组问题
  • Topic名称的命名规则是什么? 创建Topic时,请确保唯一性。Topic名称命名规则必须满足如下要求: 长度为3~64个字符。 只能由英文字母、数字、百分号、竖线、中划线、下划线组成。 不能以“rmq_sys_”开头。 不能和以下字符串相同: TBW102 SCHEDULE_TOPIC_XXXX BenchmarkTest RMQ_SYS_TRANS_HALF_TOPIC RMQ_SYS_TRACE_TOPIC RMQ_SYS_TRANS_OP_HALF_TOPIC TRANS_CHECK_MAX_TIME_TOPIC SELF_TEST_TOPIC OFFSET_MOVED_EVENT 父主题: Topic问题
  • 获取SDK 点此下载SDK与Demo。 解压后目录结构如下: 名称 说明 apigateway-signature\Signer.cs SDK代码 apigateway-signature\HttpEncoder.cs sdk-request\Program.cs 签名请求示例代码 csharp.sln 工程文件 licenses\license-referencesource 第三方库license文件
  • 请求签名与API调用 在工程中引入sdk。 1 2 3 4 5 6 using System; using System.Net; using System.IO; using System.Net.Http; using System.Threading; using APIGATEWAY_SDK; 生成一个新的Signer, 填入AK和SK。 1 2 3 4 5 Signer signer = new Signer(); // Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables. // In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK. signer.Key = Environment.GetEnvironmentVariable("HUAWEICLOUD_SDK_AK"); signer.Secret = Environment.GetEnvironmentVariable("HUAWEICLOUD_SDK_SK"); 生成一个新的Request,指定域名、方法名、请求uri和body。 1 2 3 4 //The following example shows how to set the request URL and parameters to query a VPC list. HttpRequest r = new HttpRequest("GET", new Uri("https://{service}.region.example.com/v1/77b6a44cba5**********9a8ff44fd/vpcs?limit=1")); //Add a body if you have specified the PUT or POST method. Special characters, such as the double quotation mark ("), contained in the body must be escaped. r.body = ""; 添加需要签名的其他头域,或者其他用途的头域,如多项目场景中添加X-Project-Id,或者全局服务场景中添加X-Domain-Id。 1 2 //Add header parameters, for example, X-Domain-Id for invoking a global service and X-Project-Id for invoking a project-level service. r.headers.Add("X-Project-Id", "xxx"); 进行签名,执行此函数会生成一个新的HttpWebRequest,并在请求参数中添加用于签名的X-Sdk-Date头和Authorization头。 如果您使用HTTP Client,可以从请求中获取头部信息使用。关于头部信息,请参考AK/SK签名认证算法详解。 1 HttpWebRequest req = signer.Sign(r); 访问API,查看访问结果。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 try { var writer = new StreamWriter(req.GetRequestStream()); writer.Write(r.body); writer.Flush(); HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); var reader = new StreamReader(resp.GetResponseStream()); Console.WriteLine(reader.ReadToEnd()); } catch (WebException e) { HttpWebResponse resp = (HttpWebResponse)e.Response; if (resp != null) { Console.WriteLine((int)resp.StatusCode + " " + resp.StatusDescription); var reader = new StreamReader(resp.GetResponseStream()); Console.WriteLine(reader.ReadToEnd()); } else { Console.WriteLine(e.Message); } } Console.WriteLine("----------------");
  • 准备环境 获取并安装IDEA 2022.2.1,可至IDEA官方网站下载可执行文件进行安装,或者下载全量压缩包并解压后直接使用。 JDK:Java Development Kit 1.8.111及以上版本,可至Oracle官方下载页面下载。暂不支持Java Development Kit 17或以上版本。 Maven仓地址:https://repo.huaweicloud.com/apache/maven/maven-3/。
  • API调用 示例代码修改调用环境信息后可直接调用。以下以新建工程为例,介绍如何在您的应用中调用SDK进行请求签名。 把API信息替换到HttpClientDemo.java中对应位置。 HttpClientDemo中引用以下类,可在“获取SDK”包中的“src”文件下查看: Constant:demo中用到的常量。 SSLCipherSuiteUtil:tls认证配置参数的工具类,比如配置客户端不校验证书。 UnsupportProtocolException:异常处理类。 public class HttpClientDemo { private static final Logger LOGGER = LoggerFactory.getLogger(HttpClientDemo.class); public static void main(String[] args) throws Exception { // Create a new request. Request httpClientRequest = new Request(); try { // Set the request parameters. // AppKey, AppSecrect, Method and Url are required parameters. // Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables. // In this example, the AK/SK are stored in environment variables for identity authentication. // Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK. httpClientRequest.setKey(System.getenv("HUAWEICLOUD_SDK_AK")); httpClientRequest.setSecret(System.getenv("HUAWEICLOUD_SDK_SK")); httpClientRequest.setMethod("POST"); // Set a request URL in the format of https://{Endpoint}/{URI}. httpClientRequest.setUrl("put your request url here"); httpClientRequest.addHeader("Content-Type", "text/plain"); // Set a body for http request. httpClientRequest.setBody("put your request body here"); } catch (Exception e) { LOGGER.error(e.getMessage()); return; } CloseableHttpClient client = null; try { // Sign the request. HttpRequestBase signedRequest = Client.sign(httpClientRequest, Constant.SIGNATURE_ALGORITHM_SDK_HMAC_SHA256); if (Constant.DO_VERIFY) { // creat httpClient and verify ssl certificate HostName.setUrlHostName(httpClientRequest.getHost()); client = (CloseableHttpClient) SSLCipherSuiteUtil.createHttpClientWithVerify(Constant.INTERNATIONAL_PROTOCOL); } else { // creat httpClient and do not verify ssl certificate client = (CloseableHttpClient) SSLCipherSuiteUtil.createHttpClient(Constant.INTERNATIONAL_PROTOCOL); } HttpResponse response = client.execute(signedRequest); // Print the body of the response. HttpEntity resEntity = response.getEntity(); if (resEntity != null) { LOGGER.info("Processing Body with name: {} and value: {}", System.getProperty("line.separator"), EntityUtils.toString(resEntity, "UTF-8")); } } catch (Exception e) { LOGGER.error(e.getMessage()); } finally { if (client != null) { client.close(); } } } } 运行HttpClientDemo.java,对请求进行签名、访问API并打印结果。 示例结果如下: [main] INFO com.huawei.apig.sdk.demo.HttpClientDemo - Print the authorization: [Authorization: SDK-HMAC-SHA256 Access=3afe0280a6e1466e9cb6f23bcccdba29, SignedHeaders=host;x-sdk-date, Signature=26b2abfa40a4acf3c38b286cb6cbd9f07c2c22d1285bf0d4f6cf1f02d3bfdbf6] [main] INFO com.huawei.apig.sdk.demo.HttpClientDemo - Print the status line of the response: HTTP/1.1 200 OK [main] INFO com.huawei.apig.sdk.demo.HttpClientDemo - Processing Header with name: Date and value: Fri, 26 Aug 2022 08:58:51 GMT [main] INFO com.huawei.apig.sdk.demo.HttpClientDemo - Processing Header with name: Content-Type and value: application/json [main] INFO com.huawei.apig.sdk.demo.HttpClientDemo - Processing Header with name: Transfer-Encoding and value: chunked [main] INFO com.huawei.apig.sdk.demo.HttpClientDemo - Processing Header with name: Connection and value: keep-alive [main] INFO com.huawei.apig.sdk.demo.HttpClientDemo - Processing Header with name: Server and value: api-gateway [main] INFO com.huawei.apig.sdk.demo.HttpClientDemo - Processing Header with name: X-Request-Id and value: 10955c5346b9512d23f3fd4c1bf2d181 [main] INFO com.huawei.apig.sdk.demo.HttpClientDemo - Processing Body with name: and value: {"200": "sdk success"} 显示{"200": "sdk success"},表示签名成功,API成功请求到后端。 如果改变AK或SK的值,API网关将返回的错误信息error_msg。
  • 准备环境 获取并安装IntelliJ IDEA 2018.3.5或以上版本,可至IntelliJ IDEA官方网站下载。 获取并安装Python安装包(可使用2.7.9+或3.X,包含2.7.9),可至Python官方下载页面下载。 Python安装完成后,在命令行中使用pip安装“requests”库。 pip install requests 如果pip安装requests遇到证书错误,请下载并使用Python执行此文件,升级pip,然后再执行以上命令安装。 在IDEA中安装Python插件,如下图所示。
  • 请求签名与API调用 在命令行中,使用pip安装“requests”库。 1 pip install requests 在工程中引入apig_sdk。 1 2 from apig_sdk import signer import requests 生成一个新的Signer,填入AK和SK。 1 2 3 4 5 6 sig = signer.Signer() # Set the AK/SK to sign and authenticate the request. # Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables. # In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK. sig.Key = os.getenv('HUAWEICLOUD_SDK_AK') sig.Secret = os.getenv('HUAWEICLOUD_SDK_SK') 生成一个新的Request,指定域名、方法名、请求uri和body。 以虚拟私有云服务的查询VPC列表接口为例,HTTP方法为GET,域名(Endpoint)为service.region.example.com,请求URI:/v1/77b6a44cba5143ab91d13ab9a8ff44fd/vpcs?limit=1 1 2 3 # The following example shows how to set the request URL and parameters to query a VPC list. r = signer.HttpRequest("GET", "https://{service}.region.example.com/v1/77b6a44cba5143ab91d13ab9a8ff44fd/vpcs?limit=1") # r.body = "{\"a\":1}" 添加需要签名的请求消息头,或者其他用途的头域,如多项目场景中添加X-Project-Id,或者全局服务场景中添加X-Domain-Id。如果添加多个请求消息头,使用英文逗号分隔。 1 r.headers = {"X-Project-Id": "xxx"} 进行签名,执行此函数会在请求参数中添加用于签名的X-Sdk-Date头和Authorization头。 1 sig.Sign(r) X-Sdk-Date是一个必须参与签名的请求消息头参数。 您无需关注哪些消息头参数参与了签名,由SDK自行完成。 访问API,查看访问结果。 1 2 3 resp = requests.request(r.method, r.scheme + "://" + r.host + r.uri, headers=r.headers, data=r.body) print(resp.status_code, resp.reason) print(resp.content)
  • Incorrect IAM authentication information: verify aksk signature fail { "error_msg": "Incorrect IAM authentication information: verify aksk signature fail, ...... "error_code": "APIGW.0301", "request_id": "******" }
  • Incorrect IAM authentication information: AK access failed to reach the limit, forbidden { "error_msg": "Incorrect IAM authentication information: AK access failed to reach the limit,forbidden." ...... "error_code": "APIGW.0301", "request_id": "******" }
  • Incorrect IAM authentication information: decrypt token fail { "error_msg": "Incorrect IAM authentication information: decrypt token fail", "error_code": "APIGW.0301", "request_id": "******" } 可能原因 用户的API所属IAM认证,TOKEN解析失败。 解决办法 检查获取token的方法,token是否正确。 检查获取token的环境与调用的环境是否一致。
  • Incorrect IAM authentication information: Get secretKey failed { "error_msg": "Incorrect IAM authentication information: Get secretKey failed,ak:******,err:ak not exist", "error_code": "APIGW.0301", "request_id": "******" } 可能原因 用户的API所属IAM认证,使用AK/SK签名方式访问,但是AK不存在。 解决方法 检查AK填写是否正确。
  • 准备环境 获取并安装IntelliJ IDEA 2018.3.5或以上版本,可至IntelliJ IDEA官方网站下载。 获取并安装PHP安装包8.0.3或以上版本,可至PHP官方下载页面下载。 将PHP安装目录中的“php.ini-production”文件复制到“C:\windows”,改名为“php.ini”,并在文件中增加如下内容。 1 2 3 extension_dir = "{php安装目录}/ext" extension=openssl extension=curl 在IDEA中安装PHP插件,如下图所示。
  • 请求签名与API调用 在工程中引入sdk(signer.go)。 import "./core" 生成一个新的Signer,分别输入AK和SK值。 s := core.Signer{ // Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables. // In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK. Key: os.Getenv("HUAWEICLOUD_SDK_AK"), Secret: os.Getenv("HUAWEICLOUD_SDK_SK"), } 生成一个新的Request,指定域名、方法名、请求url和body。 //The following example shows how to set the request URL and parameters to query a VPC list. //Add a body if you have specified the PUT or POST method. Special characters, such as the double quotation mark ("), contained in the body must be escaped. r, _ := http.NewRequest("GET", "https://service.region.example.com/v1/{project_id}/vpcs?a=1", ioutil.NopCloser(bytes.NewBuffer([]byte("")))) 添加需要签名的其他头域,或者其他用途的头域,如多项目场景中添加X-Project-Id,或者全局服务场景中添加X-Domain-Id。 /Add header parameters, for example, X-Domain-Id for invoking a global service and X-Project-Id for invoking a project-level service. r.Header.Add("X-Project-Id", "xxx") 进行签名,执行此函数会在请求中添加用于签名的X-Sdk-Date头和Authorization头。 s.Sign(r) 访问API,查看访问结果。 resp, err := http.DefaultClient.Do(r) body, err := ioutil.ReadAll(resp.Body)
  • 准备环境 获取并安装IntelliJ IDEA 2018.3.5或以上版本,可至IntelliJ IDEA官方网站下载。 获取并安装Nodejs安装包15.10.0或以上版本,可至Nodejs官方下载页面下载。 NodeJs安装后,在命令行中,用npm安装“moment”和“moment-timezone”模块。 npm install moment --save npm install moment-timezone --save 在IDEA中安装Nodejs插件,如下图所示。
  • API调用(Node.js) 在命令行中,用npm安装“moment”和“moment-timezone”模块。 1 2 npm install moment --save npm install moment-timezone --save 在工程中引入signer.js。 1 2 var signer = require('./signer') var http = require('http') 生成一个新的Signer,填入“Key”和“Secret”。 1 2 3 4 5 var sig = new signer.Signer() // Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables. // In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK. sig.Key = process.env.HUAWEICLOUD_SDK_AK sig.Secret = process.env.HUAWEICLOUD_SDK_SK 生成一个新的Request,指定域名、方法名、请求uri和body。 1 2 3 4 5 //The following example shows how to set the request URL and parameters to query a VPC list. var r = new signer.HttpRequest("GET", "service.region.example.com/v1/77b6a44cba5143ab91d13ab9a8ff44fd/vpcs?limie=1"); //Add a body if you have specified the PUT or POST method. Special characters, such as the double quotation mark ("), contained in the body must be escaped. r.body = ''; 添加需要签名的其他头域,或者其他用途的头域,如多项目场景中添加X-Project-Id,或者全局服务场景中添加X-Domain-Id。 1 2 //Add header parameters, for example, X-Domain-Id for invoking a global service and X-Project-Id for invoking a project-level service. r.headers = {"X-Project-Id": "xxx"}; 进行签名,执行此函数会生成请求参数,用于创建https请求,请求参数中添加了用于签名的X-Sdk-Date头和Authorization头。 1 var opt = sig.Sign(r) 访问API,查看访问结果。 1 2 3 4 5 6 7 8 9 10 11 var req = https.request(opt, function(res){ console.log(res.statusCode) res.on("data", function(chunk){ console.log(chunk.toString()) }) }) req.on("error",function(err){ console.log(err.message) }) req.write(r.body) req.end()
  • 请求签名与API调用 在Android工程中的“app/libs”目录下,加入SDK所需jar包。其中jar包必须包括: java-sdk-core-x.x.x.jar commons-logging-1.2.jar joda-time-2.9.9.jar 在“build.gradle”文件中加入okhttp库的依赖。 在“build.gradle”文件中的“dependencies”下加入“implementation 'com.squareup.okhttp3:okhttp:3.11.0'”。 1 2 3 4 5 dependencies { ... ... implementation 'com.squareup.okhttp3:okhttp:3.11.0' } 创建request,输入AK和SK,并指定域名、方法名、请求uri和body。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Request request = new Request(); try { // Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables. // In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK. request.setKey(System.getenv("HUAWEICLOUD_SDK_AK")); request.setSecret(System.getenv("HUAWEICLOUD_SDK_SK")); request.setMethod("GET"); request.setUrl("https://service.region.example.com3/v1/{project_id}/vpcs"); request.addQueryStringParam("name", "value"); request.addHeader("Content-Type", "text/plain"); //request.setBody("demo"); } catch (Exception e) { e.printStackTrace(); return; } 对请求进行签名,生成okhttp3.Request对象来访问API。 1 2 3 okhttp3.Request signedRequest = Client.signOkhttp(request); OkHttpClient client = new OkHttpClient.Builder().build(); Response response = client.newCall(signedRequest).execute();
  • 操作步骤 打开KooPhone移动客户端,单击“体验4.0”。 单击“同意”,您需要同意《华为云用户协议》与《华为云App隐私政策声明》才可继续使用云手机。 图1 用户协议与隐私政策声明 输入账号、密码并获取验证码验证身份登录。 首次登录会询问您“是否信任此浏览器?”,建议选择信任,当您下次登录时,系统将不再要求提供验证码。 图2 账号密码 登录成功后,图3右上角显示已绑定云手机数量,单击“进入云机”。 图3 云手机选择页
  • 入门流程 入门流程 首次使用云手机服务(KooPhone)的流程如入门流程所示,本文以在控制台上的操作为例进行介绍。 通过该手册您可以了解KooPhone的基本操作流程,帮助您更快上手操作。 图1 入门流程 表1 流程说明 流程 说明 购买云手机 根据实际业务需求,选择合适的云手机类型、规格等配置信息,确认价格并下单。 创建组织和用户 管理员通过控制台创建组织并配置成员、部门。 分配云手机 管理员在云手机实例管理页面为成员分配云手机。 下载客户端 用户参照短信通知或访问KooPhone客户端下载页下载Android手机客户端。 登录并使用 用户登录云手机App进入云机,即可使用。
  • 步骤1:购买云手机 登录KooPhone管理控制台,在总览页的通用云手机卡片中,单击“立即购买”。 根据页面提示,完成基础配置,如表1所示。 表1 参数说明 参数 参数说明 样例 计费方式 支持包年/包月、按需共两种计费模式供您灵活选择。详细介绍请参考计费说明。 包年/包月 区域 不同区域的云服务产品之间内网互不相通。建议您选择最靠近您业务的区域,这样可以减少网络时延、提高访问速度。 华南-广州 云手机类型 每个版本提供不同规格的云手机实例。详细版本类型介绍请参考实例规格。 说明: 当前仅提供云手机专业版,暂不支持云手机企业版。 专业版/企业版 云手机名称 名称可自定义,但需符合命名规则:只能由英文字母、数字、中文字符、短横线-和下划线_组成,可输入14个字符。 KooPhone 购买时长 最短为1个月,最长为3年。 1(个月) 阅读并勾选同意协议,确认无误后单击“去支付”,并根据页面提示完成支付。
  • 准备工作 注册华为账号并开通华为云 具体操作请参考注册华为账号并开通华为云。 完成实名认证 参考实名认证完成个人或企业账号实名认证。 申请公测 KooPhone公测期间,您需要申请公测权限,审核通过后方可使用服务。 详细操作请参见申请公测。 (可选)为账户充值 请为账户充值,也可当在线订单生成后,根据实际所需费用进行充值。充值方法请参见账户充值。 关于KooPhone的计费项和付费方式请参见计费说明。
  • 步骤2:创建组织和用户 首次购买云手机后,管理员需创建组织。创建完成后,该华为账号会自动成为组织创建者,即租户管理员,拥有该组织的所有管理权限。在“组织和用户管理”页面左上方可选择不同的组织。一个账号最多可以创建五个组织。 前提条件 已通过管理控制台购买云手机实例。 管理组织和用户需使用主账号登录,不支持IAM子账号操作。 操作步骤 登录KooPhone管理控制台,进入KooPhone云手机页面。 单击左侧导航栏“组织和用户管理”。 单击“创建组织”。根据页面提示完成创建组织并配置用户成员。具体操作请参考:创建组织、部门管理和成员管理。
  • 步骤5:登录并使用 打开KooPhone移动客户端,单击“体验4.0”。 单击“同意”,您需要同意《华为云用户协议》与《华为云App隐私政策声明》才可继续使用云手机。 图3 用户协议与隐私政策声明 输入账号、密码并获取验证码验证身份登录。 首次登录会询问您“是否信任此浏览器?”,建议选择信任,当您下次登录时,系统将不再要求提供验证码。 图4 账号密码 登录成功后,图6 云手机选择页右上角显示已绑定云手机数量,单击“进入云机”。 图5 云手机主页
  • 步骤2:购买云客服手机 登录KooPhone管理控制台,在总览页的行业云手机卡片中,单击“立即购买”。 根据页面提示以及下表参数说明,完成购买配置。 表1 参数说明 参数 参数说明 计费方式 云客服手机提供包年/包月计费模式。 区域 不同区域的云服务产品之间内网互不相通。建议您选择最靠近您业务的区域,这样可以减少网络时延、提高访问速度。 云手机类型 选择“云客服手机”。 购买数量 选择要为其配置云客服手机的组织。如还未创建组织请先创建组织。 选择要为该组织配置云客服手机的台数。 购买时长 最短为1个月,最长为3年。 阅读并勾选同意协议,确认无误后单击“去支付”,并根据页面提示完成支付。
  • 步骤3:为企业成员分配云手机实例 购买云办公手机实例后,需要具备实例管理角色权限的管理员将云手机实例配置给企业成员使用。 使用管理式华为账号登录云办公业务工作台。 云办公业务工作台网址请查看系统邮件或短信。(云办公业务管理员为企业成员设置账号和密码后,系统会自动发送邮件给企业用户。) 单击左侧导航栏“实例管理”,进入实例管理页面。 在实例列表选择需要绑定的云手机实例,在右侧“操作”列中选择“绑定”。 在绑定成员页选择员工,并单击“确定”。绑定成员页支持搜索功能,可输入员工姓名或工号搜索。 企业成员手机号码会接收到绑定成功通知短信,成员可参考短信内容下载和使用云办公APP。
  • 步骤4:配置管控策略 您可以为企业成员的云客服手机添加客户通讯录,也可以对企业成员的云办公手机设置安全管控策略,如开启设备管控包括防截屏、视频水印和数据流传加密。 使用管理式华为账号登录云办公业务工作台。 云办公业务工作台网址请查看系统邮件或短信。(云办公业务管理员为企业成员设置账号和密码后,系统会自动发送邮件给企业用户。) 单击左侧导航栏“管控策略配置”。 选择待配置管控策略的企业成员所在行,单击“操作”列的“策略配置”按钮。 在“策略配置”窗口,单击“客户通讯录”后的按钮,在下拉菜单中选择一个或多个要配置的客户。 如果在下拉菜单中未找到要添加的客户姓名和手机号,说明企业通讯录中暂未添加该客户。您可以单击“添加客户”按钮跳转到“客户通讯录”页面添加新客户。 在“设备安全管控”下方选择要开启或关闭的管控策略。 当前仅支持开启和关闭“位置管控”,“防截屏”、“视频水印”、“数据流传加密”和“操作管控”默认开启,暂时不支持关闭。 单击“确定”完成策略配置。
  • 准备工作 已注册华为账号并开通华为云,进行了实名认证。如果您已有一个华为账号,请跳到下一个任务。如果您还没有华为账号,请参考以下步骤创建。 已注册华为账号并开通华为云。 已实名认证华为账号。 已申请公测。 购买云办公手机。 登录KooPhone管理控制台,在总览页的行业云手机卡片中,单击“立即购买”。 根据页面提示以及下表参数说明,完成购买配置。 参数说明 参数 参数说明 计费方式 云客服手机提供包年/包月计费模式。 区域 不同区域的云服务产品之间内网互不相通。建议您选择最靠近您业务的区域,这样可以减少网络时延、提高访问速度。 云手机类型 选择云客服手机 购买数量 选择要为其配置购买云客服手机的组织。如还未创建组织请先创建组织。 选择要为该组织配置购买云客服手机的台数。 购买时长 最短为1个月,最长为3年。 阅读并勾选同意协议,确认无误后单击“去支付”,并根据页面提示完成支付。
  • 服务记录 服务记录页面统计了本部门所有企业客服人员的服务总次数和通话总时长,通过服务列表可查看每一个服务的详情信息。 单击左上角“最近7天”、“最近30天”、“最近半年”“自定义”可以按不同周期查看总对话条数的统计数据。 服务列表区可以选择查看“历史服务”的详细信息: 表1 服务信息列表 参数 参数说明 工单号 服务的工单号。 客户姓名 发起该服务的客户的账号。 产品名称 该服务使用的企业产品名称。 服务时间 服务的时间。 等待时长 客户发起同屏呼叫后,等待响应的总时长。 服务时长 服务的总时长。 操作 可进行“录像回放”操作。 单击服列表右上方设置按钮,可自定义服务列表展示参数。 单击右上角的,可刷新成员所在部门下所有服务的最新信息。
共100000条