ASP.NET OpenAPI 可以非常方便的将我们的Web API项目自动文档化,除了自动文档化以外,我们还可以利用Azure API Management将Open API自动文档化了的Web API整合到当下最火的低代码应用当中,在这篇文章中,我将向您展示如何使用Azure API Management将Azure Functions,Power Apps和Logic Apps等等Azure Service 串联在一起.Azure API Management能够利用已文档化的API定义来…
一,引言 上一篇有介绍到使用Azure Data Factory 复制数据,然后有集成 Azure DevOps 实现CI/CD,但是对于真正的项目来说,这些肯定是不够的,比如说在执行 Azure Pipeline 的过程中的监视,监视 Pipeline 的状态,想通过邮件的方式接受监视信息. --------------------我是分割线-------------------- 1,Azure Data Factory(一)入门简介 2,Azure Data Factory(二)复制数据…
API 管理 (APIM) 是一种为现有后端服务创建一致且现代化的 API 网关的方法. 问题描述 在设置了APIM客户端证书,用户保护后端API,让请求更安全. 但是,最近发现使用客户端证书的API全部出现错误,无法收到客户端证书,通过浏览器中查看,发现证书也是无效的. 在API请求的Trace中,错误消息为: { "source": "client-certificate-handler", "timestamp": "2021-0…
问题描述 在APIM中配置对传入的Token进行预验证,确保传入后端被保护的API的Authorization信息正确有效,可以使用validate-jwt策略.validate-jwt 策略强制要求从指定 HTTP 标头或指定查询参数提取的 JSON Web 令牌 (JWT) 必须存在且有效.validate-jwt 策略支持 HS256 和 RS256 签名算法. 对于 HS256,必须在策略中以 base64 编码形式提供内联方式的密钥. 对于 RS256,密钥可以通过 Open ID 配…
问题描述 根据文档 https://docs.azure.cn/zh-cn/api-management/api-management-howto-log-event-hubs, 可以将Azure API Management中的请求记录到Azure 事件中心.文档中有详细的步骤描述.但是在对于如何创建APIM的Logger, 如何在API中配置策略描述非常不清楚,所以本文就补充如何创建Logger及在APIM的API中添加log-to-eventhub 策略. 前提条件 创建 Azure 事件…
问题描述 使用微软API管理服务(Azure API Management),简称APIM. 因为公司策略要求只能内部网络访问,所以启用了VNET集成.集成方式见: (在内部模式下使用 Azure API 管理连接到虚拟网络:https://docs.azure.cn/zh-cn/api-management/api-management-using-with-internal-vnet?tabs=stv1) 当APIM配置好后,直接通过CURL命令访问APIM的网关接口(如:curl http…
通过本文你将了解: 什么是Azure Service Management REST API 如何获取微软Azure 订阅号 如何获取Azure管理证书 如何调用Azure Service Management REST API 什么是Azure Service Management REST API Azure Service Management REST API(之后简称为Azure REST API)是微软开放的一组REST API,它使得Azure用户不仅可以从Azure门户网站上对运…
问题描述 在通过REST API的方式来管理APIM资源,需要调用Azure提供的management接口.而这所有的接口,都是需要有Token并且还需要正确的Token.如若不然,就会获取到如下的错误: { "error": { "code": "AuthenticationFailed", "message": "Authentication failed. The 'Authorization' header…
问题描述 APIM中的内容(API, Policy)等内容,如果有需要更新时候,通常可以在Azure APIM门户上操作,通过一个接口一个设置的修改,也可以针对一个接口导入/导出的方式修改.当APIM中的API成数量级上升后,这样的操作方式就变得很慢很没有效率,是否有更高效得方式呢? 以上两种方式都适合少量修改的情况.如果是APIM中大量API都需要修改呢? 问题解答 有的,因为APIM可以使用 Git 管理服务实例配置,实现批量更改.参考的官方文档为:https://docs.azure.cn…
问题描述 为APIM添加AAD Group时候,等待很长很长的时间,结果添加失败.错误消息为: Write Groups ValidationError :Failed to query Azure Active Directory graph due to error: An error occurred while processing this request. 有什么办法可以成功为APIM添加AAD Group呢? 问题分析 查阅官方文档(https://docs.azure.cn/zh…
打开Azure portal,找到要操作的Api Management 实例,点击菜单Monitoring/Logs Schema Tab页搜索"diagnostics",选中LogManagement/AzureDiagnostics,点击该行右边的小图标(提示信息是:Show sample records from this table),生成查询语句,点击查询语句上方的Run按钮 编辑框支持语法验证,有错的地方会被标记出来 Azure protal里KQL语句对换行敏感(如下图)…
问题描述 使用微信小程序调用APIM(API Management)中的接口,发现POST和PUT请求被拦截,返回的状态码为200,但是无消息内容. 在小程序中的调用JS代码如: 通过浏览器测试得到的响应体为: 如上图所见,微信小程序中发出的POST请求Status Code为200 OK,但Response Length为0.由于在模拟器(Chrome浏览器模拟)并没有如正常的CORS域名一样报错消息,所以无法明确知道是什么情况导致这一问题. 附:正常的CORS报错信息为: Access to…
在文章"从微信小程序访问APIM出现200空响应的问题中发现CORS的属性[terminate-unmatched-request]功能"中分析了CORS返回空200的问题后,进一步对APIM的CORS策略进行验证,深入学习<CORS 跨域资源共享>. 首先,我们已经学习到CORS需要浏览器和服务器同时支持.目前,所有浏览器都支持该功能,整个CORS通信过程,都是浏览器自动完成,不需要用户参与.而服务端则不同,它是实现CORS通信的关键.只要服务器实现了CORS接口,就可以…
问题描述 使用 Azure 虚拟网络,Azure APIM 可以管理无法通过 Internet 访问的 API,达到以保护企业内部的后端API的目的.在虚拟网络中,启用网络安全组(NSG:Network Security Group)来控制出站,入站的端口,我们可以形象的把它比喻成一道门,需要满足条件的流量才能通过这道安全的大门. 通过安全大门以后,我们就需要有路,才能达到目的.而默认的网络路径由Azure的骨干网络控制,如果需要通过公司自己的防火墙(Azure Firewall或企业自己的防火…
问题描述 使用APIM,在 Inbound 中对请求的Body内容进行解析.客户端请求所传递的Request Body为XML格式,需要从Request Body中解析出多个(Element)节点值,然后设置通过(set-variable)为参数在后续使用. 但是验证发现,当且只当使用一个set-variable 从 Request Body中读取数据时候,是可以成功的.如果要读取第二个,第三个时,始终会遇见一个诡异的错误 Expression evaluation failed. Object…
Kong/Tyk/Zuul/strongloop/Ambassador/Gravitee IBM Reference Architecture for API Management: https://developer.ibm.com/apiconnect/documentation/api-101/ibm-reference-architecture-api-management/Rethinking API Management Architecture: https://www.infoq…
http://apievangelist.com/2014/10/05/taking-a-fresh-look-at-what-open-source-api-management-architecture-is-available/ 05 Oct 2014 I’ve been a outspoken advocate for more open source API management tooling, for some time now. I'm sensitive to the fact…
低代码简介 上世纪八十年代,美国就有一些公司和实验室开始了可视化编程的研究,做出了4GL"第四代编程语言",到后来衍生成VPL"Visual Programming Language可视化编程语言" 2014年,"低代码(Low-Code)"的概念被Forrester Research研究机构正式提出,关于"低代码"的定义是:利用很少或几乎不需要写代码就可以快速开发应用,并可以快速配置和部署的一种技术和工具 2017年,Gar…
低代码简介 上世纪八十年代,美国就有一些公司和实验室开始了可视化编程的研究,做出了4GL"第四代编程语言",到后来衍生成VPL"Visual Programming Language可视化编程语言" 2014年,"低代码(Low-Code)"的概念被Forrester Research研究机构正式提出,关于"低代码"的定义是:利用很少或几乎不需要写代码就可以快速开发应用,并可以快速配置和部署的一种技术和工具 2017年,Gar…
本文介绍: Power Apps 中的委派函数和非可委派函数. 现象: 在Power Apps中显示某些数据源时,如果数据量超过 500,则可能遇到现实不全的情况,实际上大部分是由于 委派函数 和 非可委派函数 使用不合适导致的. 所谓委派函数,是指实际的数据查询是由数据源完成的,比如 power apps 调用 filter 函数 查询了 SQL数据库或者 Share Point,实际的查询是在数据源侧也就是SQL或Share Point 执行的.这时候的返回值可以是超过500条数据的. 为什…
问题描述 在APIM中,通过门户上的 Test 功能,可以非常容易的查看请求的Trace信息,帮助调试 API 对各种Policy,在Inbound,Backend, Outbound部分的耗时问题,对其进行错误消息的排查. 但是,当调用APIM 请求遇见错误,且不容易通过门户Test复现,需要在真实的请求中添加Trace,如何实现呢? 问题解答 问题的关键在于调用APIM请求时,Request Header 中必须包含的参数 Ocp-Apim-Trace, 并设置值为True.需要注意的是Oc…
前言 我们都知道Power Apps作为低代码平台,最大的优势就是各个设备之间的兼容性,尤其是自带的响应式布局,非常好用. 这不,我们就为大家分享一下,如何使用Power Apps画布应用,创建响应式布局. 正文 1.创建响应式布局之前,先要了解一个概念,就是屏幕尺寸和断点,我们看一眼下面的图片: Tips:这个应该不需要太多解释,我们看值和后面的描述,一看就懂,后面我们为大家介绍如何使用 2.设置Power Apps的显示,默认如下图: Tips:这个要说一下,就是调整为合适页面需要关闭,允许…
Editor’s Note: The following is a guest post from Mustafa Mahmutović, a Microsoft Student Partner who attends the Faculty of Electrical Engineering at the University of Sarajevo where he is a Computer Science Major. In this tutorial, you will learn h…
原文:[百度地图API]如何利用PhoneGap制作地图APP 摘要:百度地图API是一套由javascript编写的地图程序接口,按说它应该运行在浏览器上.现在,只要利用PhoneGap,我们就能开发出移动平台上能使用的APP了! --------------------------------------------- 一.安装平台 PhoneGap支持5种平台,IOS,安卓,黑莓,WebOS,塞班. 我们下面以IOS为例,开发一个定位的APP. 1.下载xCode 注意看清楚,狮子系统和雪…
什么是Logic App? Azure Logic App 是微软发布的集成平台的产品,有助于生成,计划和自动完成工作流形式的流程,适合跨企业或组织集成,数据,系统和服务.与此同时,Logic App可简化缩放解决方案的设计和创建方式,适用于应用集成,数据集成,系统集成,企业应用程序集成和B2B之间的通讯. Logic App的工作原理 每个Logic App的工作流都从触发器开始,在发生特定的事件或新的可用数据符合特定条件的情况下触发.许多触发器包括基本的计划功能,用于指定工作的运行频率.通过…
AndroidS Studio打包APK时出现问题:org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:lintVitalRelease'. 什么意思?任务':app:lintVitalRelease的执行失败. 关于lint是个什么东西看官网:https://developer.android.com/studio/write/lint?hl=zh-CN 或者:https://blog.csd…
一,引言 前两天看一个azure相关的题,接触到一个叫 “Azure Logic App” 的服务,刚好,今天抽空学习以下,顺便结合它做一篇入门的分析文章. 首先,我们得对它有个大概的认识,了解以下Azure Logic App 究竟是什么东西? --------------------我是分割线-------------------- 1,什么是Azure Logic App?它可以用来干什么 答:(一)简单理解,Azure Logic 是Azure 提供的一项 Pass 服务,它有一个可视化…
问题描述 通过Azure Logic App(逻辑应用)实现无代码的处理JSON数据.但是如何获取Request Body中的一个属性值呢? 例如:如何来获取以下JSON结构中的 ObjectName 值? Request对象中所含的Body内容(黄色高亮部分): { "headers": { "Connection": "close", "Accept": "*/*", "Accept-Enco…
http://www.windowsazure.com/en-us/develop/net/fundamentals/cloud-storage/ Managing and analyzing data in the cloud is just as important as it is anywhere else. To let you do this, Windows Azure provides a range of technologies for working with relati…
简介 刚学习go几天,尝试调用Azure的SDK进行管理API的操作,基本思路是基于注册的AD Application信息生成token,然后再使用Token生成serviceClient,然后再进行资源的创建等操作.因为对go并不是特别熟悉,如有使用不当之处还请批评指正. 环境搭建 go 安装(版本:1.10.2) IDE:LiteIDE 依赖安装: go get -u github.com/Azure/azure-sdk-for-go/... go get -u github.com/Azu…