云服务器内容精选

  • 前提条件 使用OBS前,需要拥有一个华为账号或一个可用于访问OBS的 IAM 用户,即先注册华为云并实名认证、创建IAM用户、充值以及购买资源包,具体操作请参见使用OBS前需要做的准备工作。 获取AK(Access Key ID)、SK(Secret Access Key),即访问密钥对,具体操作请参见获取AK/SK。 已在华为OBS上,创建存储桶(例如“bing.testonly.1”),用于后续存储对象使用,具体操作请参见如何创建桶,请记录创建桶时选择的区域。
  • 通过REST接口调用连接器 可以通过调用REST接口,完成表1中功能。如何调用接口,请参见连接器API。 表1 调用连接器 接口 说明 上传文件 将本地文件上传到存储中。使用该API上传文件,默认只会上传到连接器下配置的第一个桶中。待上传的文件可以是任何类型,如文本文件、图片、视频等。 下载文件 从存储中下载文件。 删除文件 从存储中删除无用的文件。 删除目录 从存储中删除某目录。如果目录下不为空,删除目录的同时也会删除该目录下文件。 列举目录下文件 列举存储中某目录下文件。 分段上传 对于较大文件上传,可以切分成段上传。用户可以在如下的应用场景内(但不仅限于此),使用分段上传的模式: 上传超过100MB大小的文件。 网络条件较差,和OBS等存储服务端之间的链接经常断开。 上传前无法确定将要上传文件的大小。 获取endpoint,即文件存储地址的前缀 endpoint为文件存储地址的前缀,该前缀加上传对象的路径,是实际访问对象的全路径。 分享Token 获取临时Token,用户只要使用该临时Token即可访问文件,不用再使用access-token进行鉴权。
  • 在脚本中调用连接器 在脚本中,调用已创建的连接器,实现与Message& SMS 的对接。 参考开发一个简单脚本实例中操作,创建一个空白脚本。 图3 新建空白脚本 在脚本编辑器中,输入如下代码。 //导入该脚本所依赖的标准库文件。msgsms是系统预置的标准库。 import * as sms from 'msgsms'; @action.object({type: "method"}) export class ActionDemo { @action.method({ label: 'greeting something', description: 'greeting something.', input: 'ActionInput', output: 'ActionOutput' }) public greet(){ console.log('`````````````````````test new sms`````````````````````') let client = sms.newClient("MSGSMS_Test") let res = client.sendByName("Test1","130XXXXXXXX","[\"6612\"]") console.log(res) console.log('`````````````````````test new sms end`````````````````````') } } 其中,sms.newClient("MSGSMS_Test")中“MSGSMS_Test”为连接器的名称。client.sendByName("Test1","130XXXXXXXX","[\"6612\"]")中携带的是模板名称、接收者号码和模板参数。 单击脚本编辑器页面上方的,保存脚本。 保存成功后,单击,运行脚本。 在页面底部,单击测试窗口右上角的。 检查接收者是否收到短信,收到短信表示成功调用连接器。 单击编辑器页面上方的,启用脚本。
  • 在脚本中调用连接器 在脚本中,调用已创建的连接器,实现与SMTP的对接。 参考开发一个简单脚本实例中操作,创建一个空白脚本。 图6 新建一个空白脚本 在脚本编辑器中,输入如下代码。 // 导入连接器 import * as connector from 'connector'; //新建SMTP邮件连接器,第一个参数固定是emailsmtp,第二个参数是连接器的名称 let client = connector.newClient("emailsmtp","命名空间__smtp01"); //构建请求消息头,包括收件人地址、邮件主题、邮件正文(主题和正文不能同时为空) //按内容发送 let req ={"address":"test@example.com","subject":"SMTP功能验证-脚本","body":"使用SMTP发送邮件"}; //按模板发送,如果有template模板参数,则主题和正文配置无效,按邮件模板中的内容发送 //let req={"address":"test@example.com","template":"smtptt1."} //发送邮件,其中第一个参数不用填写,第二个参数为消息体 let resp = client.invoke("",req); 其中,connector.newClient中“命名空间__smtp01”为连接器的名称,“address”为收件人,“subject”为主题,“body”为邮件内容。 单击脚本编辑器页面上方的,保存脚本。 保存成功后,单击,执行脚本。 2中已设置入参,故此处不需要再设置,直接单击测试窗口右上角的。 检查收件人是否收到邮件。 收到邮件,表示成功调用连接器,如图7。 图7 接收邮件内容 单击脚本编辑器页面上方的,启用脚本。
  • 前提条件 AstroZero对接 ModelArts Pro ,使用ModelArts Pro提供的 文字识别 套件、 自然语言处理 套件提供的能力。因此需要先申请文字识别套件和自然语言处理套件,具体操作请参见申请行业套件。 已参考获取AK/SK中操作,获取AK(Access Key ID)、SK(Secret Access Key),即访问密钥对。 本节场景是对行程码图片进行识别,需要在ModelArts Pro上创建并部署上线用于对行程码进行识别的模型。由于各省份行程码可能不一致,所以部署的为多模板,具体操作请参见使用多模板工作流开发应用。
  • 背景信息 ModelArts Pro是为企业级AI应用打造的专业开发套件。基于华为云的先进算法和快速训练能力,提供预置工作流和模型,提升企业AI应用的开发效率,降低开发难度。同时,支持客户自主进行工作流编排,快速实现应用的开发、共享和发布,共建开放生态,实现普惠行业AI落地。ModelArts Pro包括自然语言处理套件、文字识别套件、视觉套件等,能够快速响应不同行业、不同场景的AI落地需求。更多关于ModelArts Pro的介绍,请参见ModelArts Pro官方网站。 在AstroZero中,通过配置ModelArts Pro连接器,可实现AstroZero与华为ModelArts Pro对接。对接后可使用ModelArts Pro提供的文字识别套件、自然语言处理套件提供的能力。
  • 在脚本中调用连接器 在脚本中,通过调用连接器,实现调用ModelArts Pro的接口。 参考开发一个简单脚本实例中操作,创建一个空白脚本。 图6 新建空白脚本 在脚本编辑器中,输入如下代码。 import * as modelartspro from 'modelartspro'; export class Input { @action.param({ type: "String", required: false, description: "the image url" }) url: string; @action.param({ type: "String", required: false, description: "the base64 coded image" }) image: string; @action.param({ type: "Boolean", required: false, description: "" }) isMultiTemplate: boolean @action.param({ type: "String", required: false, description: "" }) modelId: string } export class Output { @action.param({ type: "string" }) result: string; } export class testModelartsPro { @action.method({ input: "Input", output: "Output", description: "modelartspro test case" }) run(input: Input): void { // 填写实例化的modelartspro连接器名称 let client = modelartspro.newClient("custom_defined_ocr") let result = null result = client.customOCRWithURL(input.url, input.isMultiTemplate, input.modelId); console.log(result) } } 代码modelartspro.newClient("custom_defined_ocr")中“custom_defined_ocr”为连接器的名称,如果连接器名称带有命名空间前缀,代码中也要携带。 单击脚本编辑器页面上方的,保存脚本。 保存成功后,单击,运行脚本。 在页面底部“输入参数”中,设置输入请求参数,单击测试窗口右上角的。 { "url": "https://XXXXXXXX/testModelArtsPro.jpg", "isMultiTemplate": true, "modelId": "0b7f0f28-27e2-11ec-8f30-0255ac100057" } 其中,“url”为图片的URL。 在日志页签,可查看到识别结果,表示执行脚本成功。 单击脚本编辑器页面上方的,启用脚本。
  • 在脚本中调用连接器 在脚本中,调用连接器实现与OCR的对接。 参考开发一个简单脚本实例中操作,创建一个空白脚本。 图5 新建一个空白脚本 在脚本编辑器中,输入如下代码。 //导入该脚本所依赖的标准库文件,ocr是系统预置的标准库。 import * as ocr from 'ocr'; let cli = ocr.newClient("OCR_Test"); try { let url = "https://obs.example.com:443/1.PNG?AccessKeyId=ZK87UUIONJF5ZHWBINUO&Expires=1556001233&Signature=DOwO6djb4Q3EBvCieQFaO3T2GKU%3D&x-obs-security-token=gQpjbi1ub3J0aC0xipYOeC2mcbefHh5I_aMr6DEWQ8-iFyxqatavdiFtYowH-lpJCcxeTynsV_4PTJe9QIx85mlDIDo3sU9PUv3hFtRjQORjGE2PqA4hEtozvMuWxXb5b6RKiFT37-z7NoI4R85XmlTmZGQ6OUZ92bercG5DWEBTDVd3I_UYuNGzF20q6S2COP__Z-uqkhhw8nATd3k6GaIfCqxjcOih_juHBBoM1ON74vpKxCl1sJxnEYbZfkf6FO_xuGaJD7-J7OzD8tsSmFf4jR1TqZFZzrPEc9bkd2bPr8pwOCdDp8Yy0EVauKDvtIXsvzFollOR0rUvZol1sIsQU0gVpFpZyIqYqG6C_qQfXmr5DQwXTsQyifKjXLSj2MbPs6FKLYqu7mj0NhxUVcK5EQh5Vl5x5VHvYGRwgWJL078oXVBKGnQnr05EDHcCiW-6Gris2mHBYdcNmuhJ1UwNekeumBc0S6_33yK-U8OGYLMpR6HnLooyFmtmnOBIIQIkzWfWUNM7nIdWWcPmozJcBZ8iyawE0Cxgz5Xf56hPi-YZda0d1Xu387GA8PBkEPVct1yo5nh2bmVfRH6z0zWzhN-vbFcIHsfYv776DDLKQdSH0Sn-8bHdvPLPd2QieBkgS6wfvTcKMeBA6PwwNBl0Xqds6vQPpSZe6cYyplNuJoY05VLd8tLZMy_bR8Dmf1kArQaSquBzw2eDCfJAazjA4wTnkbccr38k7eM%3D" let resp = cli.idCardWithURL(url, "front"); console.log(resp); } catch (e) { console.log("error: ", e) } 其其中,ocr.newClient("OCR_Test")中,“OCR_Test”为连接器的名称,“url”取值是图片的URL, “front”表示识别的是身份证正面。 单击脚本编辑器页面上方的,保存脚本。 保存成功后,单击,运行脚本。 不用设置输入参数,直接单击测试窗口右上角的。 在输出参数页签,检查是否识别出身份证上文字信息。 识别出身份证上的文字信息,表明成功调用连接器。 单击脚本编辑器页面上方的,启用脚本。
  • 背景信息 文字识别(Optical Character Recognition,简称OCR)以开放API的方式提供给用户,用户使用Python、Java等编程语言调用OCR服务API将图片识别成文字,帮助用户自动采集关键数据,打造智能化业务系统,提升业务效率。 在AstroZero中,通过应用与华为OCR(Optical Character Recognition)对接,可实现图片或扫描件中文字识别功能。
  • 背景信息 智能边缘平台(Intelligent EdgeFabric,简称IEF )满足客户对边缘计算资源的远程管控、数据处理、分析决策、智能化的诉求, 为企业提供边、云协同的一体化边缘计算解决方案。更多介绍,请参见智能边缘平台。 在AstroZero中,通过应用与华为IEF(Intelligent EdgeFabric)对接,实现在5G智慧加油站解决方案中,通过华为云IEF服务来纳管边缘节点,并通过IEF云边通信能力来向边缘节点发送业务命令。
  • 在脚本中调用连接器 在脚本中,调用连接器实现调用IEF的接口。 参考开发一个简单脚本实例中操作,创建一个空白脚本。 图5 新建空白脚本 在脚本编辑器中,输入如下代码。 import { Decimal } from 'decimal'; import { Error } from 'error'; import * as ief from 'ief'; export class Input { @action.param({ type: "String", required: true, description: "type" }) project_id: string; // @action.param({ type: "String", required: true, description: "the operation value 2" }) // node_id: string; } export class Output { @action.param({ type: "Object", required: true }) result: Object; } export class Calculator { @action.method({ input: "Input", output: "Output", description: "do a operation" }) run(input: Input): Output { let output = new Output(); let cli = ief.newClient("ief_test"); output.result = cli.getProjectNode(input.project_id); //console.log(output.result); return output; } } 其中,ief.newClient("ief_test")中的“ief_test”为连接器的名称。 单击脚本编辑器页面上方的,保存脚本。 保存成功后,单击,运行脚本。 在输入参数页签,输入请求参数的项目ID,单击测试窗口右上角的。 { "project_id":"XXXXXXXXXXX" } 在输出参数页签,显示出边缘节点列表,表示执行脚本成功。 单击脚本编辑器页面上方的,启用脚本。
  • 脚本中调用连接器 您可以在脚本中调用连接器实现调用ModelArts Pro的接口,这里以新建一个脚本实现识别行程码为例进行举例说明。 鼠标放在App下的Logic文件夹旁会出现加号,单击加号,选择“脚本”。 选择“创建一个新脚本”,输入基本信息,单击“添加”。 编辑代码如下: import * as modelartspro from 'modelartspro';export class Input { @action.param({ type: "String", required: false, description: "the image url" }) url: string; @action.param({ type: "String", required: false, description: "the base64 coded image" }) image: string; @action.param({ type: "Boolean", required: false, description: "" }) isMultiTemplate: boolean @action.param({ type: "String", required: false, description: "" }) modelId: string}export class Output { @action.param({ type: "string" }) result: string;}export class testModelartsPro { @action.method({ input: "Input", output: "Output", description: "modelartspro test case" }) run(input: Input): void { // 填写实例化的modelartspro连接器名称 let client = modelartspro.newClient("custom_defined_ocr") let result = null result = client.customOCRWithURL(input.url, input.isMultiTemplate, input.modelId); console.log(result) }} 代码modelartspro.newClient("custom_defined_ocr")中“custom_defined_ocr”为2中创建的连接器的名称,如果连接器名称带有命名空间前缀,代码中也要携带。 单击代码编辑页面上方保存图标,保存脚本。 运行测试脚本。 单击编辑器上方执行图标。 在页面底部“输入参数”页签输入请求参数,参数说明参考表2,其中“url”填写图片的URL,单击测试窗口右上角图标。 { "url": "https://XXXXXXXX/testModelArtsPro.jpg", "isMultiTemplate": true, "modelId": "0b7f0f28-27e2-11ec-8f30-0255ac100057"} 检查日志,有识别结果,表示执行脚本成功。 单击代码编辑页面上方图标,启用脚本。
  • 前提条件 使用ModelArts Pro过程中,ModelArts Pro需要访问ModelArts服务的云资源。因此需要先申请开通华为云ModelArts服务,具体操作请参考准备工作。 AppCube对接ModelArts Pro,使用ModelArts Pro提供的文字识别套件、自然语言处理套件提供的能力。因此需要先申请文字识别套件和自然语言处理套件。具体操作请参考申请行业套件。 参考获取AK/SK获取AK(Access Key ID)、SK(Secret Access Key),即访问密钥对。 本节场景是对行程码图片进行识别,需要在ModelArts Pro上创建并部署上线用于对行程码进行识别的模型,由于各省份行程码可能不一致,所以部署的为多模板。具体操作请参考使用多模板工作流开发应用。