摘要:本文使用了工作台的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 简单~~的更多相关文章

  1. 用MVVM做了一个保存网页的工具-上篇

    前言: 你是否有过收藏了别人博客或文章,当想用的时候却找不到?你是否有过收藏了别人博客或文章,却因为没有网络而打不开网页?OK,下面是我做的一个工具,有兴趣的同学们可以download 玩下,哈哈^. ...

  2. 做为一个前端工程师,是往node方面转,还是往HTML5方面转

    文章背景:问题本身来自于知乎,但是我感觉这个问题很典型,有必要把问题在整理一下,重新分享出来. 当看到这个问题之前,我也碰到过很多有同样疑惑的同学,他们都有一个共同的疑问该学php还是nodejs,包 ...

  3. 开着奥迪做Uber司机是什么心态?

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  4. 分享:在微信公众平台做HTML5游戏经验谈(转载与http://software.intel.com/zh-cn/blogs/2013/04/03/html5)

    分享:在微信公众平台做HTML5游戏经验谈 Dawei Cheng 程大伟... 于 星期三, 03/04/2013 - 03:19 提交 最近微信公众游戏平台讨论得如火如荼,大有HTML5游戏即将引 ...

  5. React Native技术做的一个项目“微笑阅读”

    最近用React Native做了一个APP应用,有点心得: React Native确实比Hybrid应用渲染快,响应快,用户体验更好: React Native比原生简单多了,会Js就可以了,开发 ...

  6. Windows 平台做 Python 开发的最佳组合

    在 Windows 上怎样做 Python 开发?是像大神那样使用纯文本编辑器,还是用更加完善的 IDE?到底是用自带的命令行工具,还是需要装新的 Terminal?本文将带你了解如何利用微软官方维护 ...

  7. 分享自己做的一个指定进程以及线程长时间cpu监控的工具

    前言: 前面给大家分享过一个工作中用到的编译拷贝脚本,其实工作中还有一些其他工具的使用,今天再来分享一个自己纯手工的CPU监控的脚本.大家可以结合上篇文章与本篇文章一起学习shell. 主要实现功能: ...

  8. 做了一个sublime text插件

    做了一个sublime text插件,可以方便地查看C++/python的调用图.插件的演示视频在这里: http://list.youku.com/albumlist/show?id=2820226 ...

  9. bootstrap做了一个表格

    花了一下午做了一个表格: 大致是这样: 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf ...

随机推荐

  1. 爬取豆瓣TOP250电影

    自己跟着视频学习的第一个爬虫小程序,里面有许多不太清楚的地方,不如怎么找到具体的电影名字的,那么多级关系,怎么以下就找到的是那个div呢? 诸如此类的,有许多,不过先做起来再说吧,后续再取去弄懂. i ...

  2. 在jupyter中配置c++内核

    安装 xeus-cling conda install xeus-cling -c conda-forg xeus-cling 是一个用于编译解释于C++的Jupyter内核目前,支持Mac与Linu ...

  3. javaweb_Http学习

    1. 什么是HTTP? HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上. 文本:html,字符串,~... 超文本:图片,音乐,视频,定位,地图..... 默认端口:80 ...

  4. Spring Data JPA系列3:JPA项目中核心场景与进阶用法介绍

    大家好,又见面了. 到这里呢,已经是本SpringData JPA系列文档的第三篇了,先来回顾下前面两篇: 在第1篇<Spring Data JPA系列1:JDBC.ORM.JPA.Spring ...

  5. 给妹子讲python-S01E01好用的列表

    1.python中的容器数据类型概述2.列表类型的异构性.有序性和本地可变性三大优势2.列表的基本操作(增.删.改.分片索引)3.列表的分片赋值与本地排序 [妹子说]今天开始学python啦,不过我们 ...

  6. MySql字段增删改语句

    新增表字段:alter table 表名 需要添加的字段信息; ALTER TABLE nation add seq VARCHAR(20) COMMENT '顺序' 字段名的修改:alter tab ...

  7. Docker部署jar包运行

    1.上传jar包到服务器 2.在该目录下创建Dockerfile 文件 vi Dockerfile 3.然后将下面的内容复制到Dockerfile文件中 FROM java:8 MAINTAINER ...

  8. Unity3D学习笔记8——GPU实例化(3)

    目录 1. 概述 2. 详论 2.1. 自动实例化 2.2. MaterialPropertyBlock 3. 参考 1. 概述 在前两篇文章<Unity3D学习笔记6--GPU实例化(1)&g ...

  9. 地址解析协议(ARP) 分析

    什么是ARP协议 ARP(A ddress R esolution P rotocol)- 地址解析协议 ,用于将IP地址解析为MAC地址.复杂来说,ARP用于32位IPv4地址和以太网的48位MAC ...

  10. (一)java基础篇-----认识java

    1.简单介绍java起源: 1995年,詹姆斯-高斯林在sun公司开发出java编程语言.到2010年,sun公司被Oracle公司收购,而詹姆斯-高斯林也离开了Oracle公司.所以,如今想要安转j ...