我用开天平台做了一个字符串检查API,hin 简单~~
摘要:本文使用了工作台的API全生命周期管理和函数管理功能,编写字符串检查的函数,实现了API的快速创建和发布。
本文分享自华为云社区《【我用开天平台做了一个字符串检查API》,作者:人类群星闪耀时。
1 开天集成工作台概述
根据华为官方文档的介绍,所谓的华为云开天集成工作台是基于华为在数字化转型中积累的丰富经验,为企业开发者提供基于元数据的可扩展的集成框架,降低了应用间集成工作量,并沉淀多种集成资产如连接器、业务模型、行业API等。它可以帮助客户快速建立SaaS应用之间的连接通道,打破信息孤岛与“烟囱式”架构,从而实现应用的快速构建和上线,持续提升用户体验。
产品官方网址为 : https://www.huaweicloud.com/product/mssi.html . 开天集成工作台总体架构示意图如下图所示:

开天集成工作台使能伙伴的SaaS高效上云,与伙伴共建行业方案,共同沉淀和分享行业经验。开天集成工作台提供如下核心能力特征:
01)标准的数据模型管理:领域信息模型的采集、定义、管理能力,支撑在行业建立标准的领域信息模型库,行业内各厂家应用依托标准的领域信息模型进行互联互通。
02)灵活的API生命周期管理:支持合作伙伴的API设计、实施、测试、发布、运维、消费和运营,并可封装为便于编排的连接器和流。
03)可扩展的连接器管理:它是集成工作台流编排能力扩展的唯一方式,提供了丰富的预置连接器,用户还可以基于API自定义连接器。
04)可视化流管理:基于连接器,通过可视化的方式进行流式组合,实现集成流编排。扩展支持多种形式编排如流程编排,事件编排等。
开天集成工作台产品优势如下:
01)丰富的行业经验:面向行业的业务模型库,拉通管理者、业务人员和IT人员。行业能力API化,覆盖工业、城市治理、教育、办公、Message、Map、移动应用等领域。SaaS应用间集成资产多样化,开箱即用,降低交付复杂度。
02)灵活易用地集成:基于标准业务模型的集成模式,每个应用只需集成一次,实现XYZ变成X+Y+Z。开放的连接框架,可灵活定义各种连接器和流,适配企业的业务逻辑。
2 开天集成工作台用户和应用场景
开天集成工作台是一个“开放、共生、智能、协同”的平台,它是搭建开发者、系统集成商、客户之间的“桥梁”和“纽带” 。具体来说,用户可以分为如下几种类型:
01)面向行业API开发者:一站式完成行业API设计、编排、测试、发布和消费,打造API商业经济。
02)面向行业应用开发者:以低代码或者零代码的方式,轻松构建面向行业的SaaS应用,加速业务创新。
03)面向系统集成商:和客户无缝对接,进行集成开发,交付项目和运维支持。同时,沉淀云上项目的集成资产,提升交付效率。
04)面向客户:企业集成资产的使用和管理,并联合生态资源如系统集成商等,完成企业数字平台建设。
开天集成工作台的应用场景也非常丰富,主要可以分为三类应用场景:
01)行业能力开放场景,企业把自身能力以API服务的形式开放出来,通过API连接应用开发者、系统集成商等,服务更多的商业场景,快速形成产业链,从而让企业以最小代价满足客户碎片化且日益增长的需求
02)使能行业应用创新场景,合作伙伴通过集成工作台提供的低代码/零代码的方式,可以方便使用各种资产如行业API、业务模型、连接器等,完成应用的开发和部署;它使能不同层级的开发者,极大增强企业应用的供给能力。
03)SaaS应用互联场景,企业应用建设随着业务发展逐步展开,势必要解决企业存量应用与新应用之间的协同,通过建立应用间的水管,让价值信息在企业内部及企业间流动。通过集成工作台,实现云上应用间、云上应用与企业内部应用间集成。具体可以用如下几张图来说明:



3 字符串检查API快速构建
先进入集成工作台的API生命周期管理的API分组,点击右上角新建分组,输入名称,描述。创建分组完成之后,点击API管理,进入我们刚才新建的分组下的API管理页面。



进入API管理页面之后,我们可以先在右上角新建API,进入API创建页面。

输入各项信息,按自己需要来。
这里的认证模式可以按照自己需求来,这里为了简便选择了无认证(并不推荐),.

之后点击下一步,自定义访问API的路径,以及请求方法,是否支持跨域,最底部的参数定义也非常重要,根据需要选择参数位置,名称,类型,可选项等。


定义完参数之后如下图类似。

点击下一步,定义后端服务,这里有三种选项,一种是后端服务也就是API接口,一种是在华为云定义的函数流图,一种是mock(本人并不太了解),这里我使用了华为云的函数流图。

可以看到这里需要选择函数,但我们此时还没有函数可以选择,所以这里需要先创建函数。点击添加选项的弹出页的左上角创建函数,进入到函数创建页面。

这里我们选择相关信息,选择事件函数,这里暂时使用不到委托,所以选择不使用任何委托,以及python3.x的环境运行时。当然这里我们可以看到按用量收费的提示,根据华为云的规则,在月请求次数在百万以上在进行收费,所以这里只是我们个人开发尝鲜使用还是不需要担心收费问题的。

创建之后进入函数管理页面,
在下方我们可以进行函数的编写,可以写上一个简单的字符串检查的函数。

`# -- coding:utf-8 --
import json
from collections import Counter
#自定义函数
def is_anagram(s1, s2):
return Counter(s1) == Counter(s2)
def handler (event, context):
query=event.get(“queryStringParameters”)
s1 = str(query[“word1”])
s2 = str(query[“word2”])
res = ‘%s and %s is an anagram of %s’ % (s1, s2, is_anagram(s1, s2))
return {
“statusCode”: 200,
“isBase64Encoded”: False,
“body”: res,
“headers”: {
“Content-Type”: “application/json”
}
}`
在这个handler这个预定义的函数中,以及它的两个定义形参,其中event是表示请求的各项信息,如body,headers等。(context暂时了解不多)。而至于其中的 queryStringParameters 这个键名,是根据华为云的文档中找到的,这个地方也是琢磨了许久,之前一直拿不到之前定义的query中的数据。可参看这里
之后点击,设置,选择触发器,新建触发器。

根据需要定义,只不过为了简便依旧选择了无认证。创建完成之后,可以得到一个调用url 的地址。
复制该url,在浏览器中测试。


得到结果。

和我们定义的预料结果一致。
此时函数工作流创建完成,我们回到之前的API创建页面。
在urn选择页我们选择刚刚定义的函数流。

并且在底部定义前后端函数映射。

点击下一步,我们定义API相应成功还是失败的示例。

到这里,API就创建完成了,我们可以直接点击发布API,并进入API的管理页面,可以查看到API的url,同理,我们可以在浏览器中测试使用。

我用开天平台做了一个字符串检查API,hin 简单~~的更多相关文章
- 用MVVM做了一个保存网页的工具-上篇
前言: 你是否有过收藏了别人博客或文章,当想用的时候却找不到?你是否有过收藏了别人博客或文章,却因为没有网络而打不开网页?OK,下面是我做的一个工具,有兴趣的同学们可以download 玩下,哈哈^. ...
- 做为一个前端工程师,是往node方面转,还是往HTML5方面转
文章背景:问题本身来自于知乎,但是我感觉这个问题很典型,有必要把问题在整理一下,重新分享出来. 当看到这个问题之前,我也碰到过很多有同样疑惑的同学,他们都有一个共同的疑问该学php还是nodejs,包 ...
- 开着奥迪做Uber司机是什么心态?
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 分享:在微信公众平台做HTML5游戏经验谈(转载与http://software.intel.com/zh-cn/blogs/2013/04/03/html5)
分享:在微信公众平台做HTML5游戏经验谈 Dawei Cheng 程大伟... 于 星期三, 03/04/2013 - 03:19 提交 最近微信公众游戏平台讨论得如火如荼,大有HTML5游戏即将引 ...
- React Native技术做的一个项目“微笑阅读”
最近用React Native做了一个APP应用,有点心得: React Native确实比Hybrid应用渲染快,响应快,用户体验更好: React Native比原生简单多了,会Js就可以了,开发 ...
- Windows 平台做 Python 开发的最佳组合
在 Windows 上怎样做 Python 开发?是像大神那样使用纯文本编辑器,还是用更加完善的 IDE?到底是用自带的命令行工具,还是需要装新的 Terminal?本文将带你了解如何利用微软官方维护 ...
- 分享自己做的一个指定进程以及线程长时间cpu监控的工具
前言: 前面给大家分享过一个工作中用到的编译拷贝脚本,其实工作中还有一些其他工具的使用,今天再来分享一个自己纯手工的CPU监控的脚本.大家可以结合上篇文章与本篇文章一起学习shell. 主要实现功能: ...
- 做了一个sublime text插件
做了一个sublime text插件,可以方便地查看C++/python的调用图.插件的演示视频在这里: http://list.youku.com/albumlist/show?id=2820226 ...
- bootstrap做了一个表格
花了一下午做了一个表格: 大致是这样: 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf ...
随机推荐
- python基础学习10
python基础学习 内容概要 文件内光标的移动 文件数据修改 函数简介 函数语法结构 内容详情 文件内光标的移动 with open(r'路径','r',encoding='utf8') as f: ...
- 【Java面试】Mybatis中#{}和${}的区别是什么?
一个工作2年的粉丝,被问到一个Mybatis里面的基础问题. 他跑过来调戏我,说Mic老师,你要是能把这个问题回答到一定高度,请我和一个月奶茶. 这个问题是: "Mybatis里面#{}和$ ...
- SAP Web Dynpro - 教程
SAP Web Dynpro是一种标准的SAP UI技术,用于使用图形工具和与ABAP工作台集成的开发环境来开发Web应用程序. 图形工具的使用减少了实施工作,并有助于维护ABAP工作台中的组件. 本 ...
- Linux远程连接工具和运行级别
常用的Linux远程连接工具: xshell MobaXterm windows的命令行工具 Linux的运行级别 linux有七个运行级别 0----所有的服务都不开启,代表的式关机 1---代表的 ...
- 【python基础】第05回 数据类型,交互,格式化输出,运算符
上节内容回顾 1.python的注释 # 单行注释 pycharm快捷键:ctrl+? '''多行注释''' """多行注释""" 2.py ...
- NC15979 小q的数列
NC15979 小q的数列 题目 题目描述 小q最近迷上了各种好玩的数列,这天,他发现了一个有趣的数列,其递推公式如下: \[f[i] = \left\{ \begin{array}{l} 0 ,&a ...
- JDBC:获取自增长键值的序号
1.改变的地方 实践: package com.dgd.test; import java.io.FileInputStream; import java.io.FileNotFoundExcept ...
- VS无线振弦采集仪的常见问题
1 无法开机( 1)检查电源连接是否正确,电压范围应为 DC10~24V,输出能力不低于 2A, 正负极连接正确.若电池极性接反,即便未进行过开机操作也会导致设备永久性损坏.( 2)若使用电池供电,则 ...
- 博客从 CloudBase 迁移至云主机
迁移起因 原来的博客 其实从很久以前就想要写博客,但总是断断续续的,一直都没有认真地开始. 最终,决定使用静态博客工具作为自己博客的承载体.在多种工具的比较下,最终选择了 Hugo 并部署到 Gith ...
- Vue中关于this指向的问题
由Vue管理的函数 例如: computed 计算属性 watch 监视属性 filters (Vue3中已弃用且不再支持) 过滤器 .... 上述属性里配置的函数不要采用箭头函数写法,因为箭头函数没 ...