当前位置: 首页 > article >正文

Microsoft Fabric - 尝试一下在pipeline中发送请求给web api(获取数据和更新数据)

1.简单介绍

Microsoft Fabric中的Pipeline支持很多种activity,分成数据转换和控制流两种类型的activitly。

这边将尝试一下发送web请求的activity,要做成的pipeline大概如下图所示,

上图中有4个Activity,作用如下

Web - 从一个Web Api中获取数据

Office 365 Outlook - 将获取到的数据发送给特定用户

ForEach - 遍历从Web Api获取的数据,然后调用另外一个Web Api接口逐条更新数据

Teams - 数据更新完成,发送信息到Teams Channel中

感觉有点像Power Automate或者Logic Apps

2.具体说明

这个pipeline要实现的功能是从web api中获取所有的TodoItem,然后更新Todoitem的状态为已完成,并发送信息到outlook和Microsoft Teams中。 

下面是大概的过程说明

2.1 制作Web Api

假定有一个TodoItem的WebApi,支持对TodoItem进行增删改查的操作

        

        

TodoItem WebApi 是.NET9 Minimal Api,使用别的语言也可以的。这个Web Api是需要公网可以访问的,因此Microsoft Farbic是要访问到这个Web Api的。如果本地开发的项目,也可以使用一些工具(比如花生壳)来映射到公网中,从而Microsoft Fabric能正常访问的。

2.2 制作Data Pipeline

1) 在workspace中,创建一个Data Pipeline

        

2)点击Pipeline界面右侧的...,然后搜索并选择Web Activity

        

        

3) 配置Web Activity,创建与Web Api的connection,如下图

        

        

4) 添加Office 365 Outlook activity并连接Web activity与Outlook activity

         

note, Web activity的On success接口与Office 365 Outlook进行连接。表示Web activity执行成功了才开始执行Office 365 Outlook activity。 

         

note, Office 365 Outlook acitivity的 Body可以使用Pipeline中的expression和function进行定制的  

5)添加ForEach activity并连接Web activity与ForEach activity

        

6) 创建好连接后,配置ForEach的Items,这个也可以使用Pipeline特有的expression进行。公式的具体使用与Power Automate有点像。 

        

        7)  

7) ForEach activity的内部可以添加子activity

通过上面的步骤, ForEach activity获取到了Web Api的数据了(Items),接着就可以遍历数据进行后续的操作了。 

        

点击上图中edit图标,可以进去到ForEach activity的内部,在内部还可以添加Web activity如下图,

        

8) 配置子Web activity,如下图

        

Http Method选择PUT, 根据接口的不同,还可以选择别的Http Method. Web Request的Body内容也可以进行定制的

        

9)退出ForEach activity,然后连接ForEach activity与 Teams activity

        

10) 设定Teams activity

可以配置信息往哪个Team的哪个Channel进行发送,信息的内容也可以定制的。 

        

2.3 验证和运行

2.3.1 验证一下

先点击Pipeline界面中的Validate按钮验证一下有没有错误,

        

验证好后,会在Pipeline界面的右侧显示如下panel,表示验证通过了

        

2.3.2 运行一下

 点击Pipeline界面上面的Run按钮开始运行,

        

等待一些时间后,发现特定的outlook已经有邮件出现了 

同时Pipeline的运行结果也显示成功

Teams中的特定的Channel也有信息出现,

        

 最后再次查询一下Web Api中的TodoItem的状态,确实已经变更为Completed

        

初始的TodoItem数据IsComplete如下

        

3.总结

本文简单记录了一下在Microsoft Fabric Data Pipeline中使用Web activity进行TodoItem的数据获取和更新的过程。制作过程中,具体的细节相对多一些, Data Pipeline中还可以使用Dataflow, Notebook等,功能很强大的。Microsoft Fabric平台的知识体量很大,后续还需继续跟着微软的老师们学习一下。

本文如果哪里有错误,麻烦告之,谢谢谢谢!

相关文章:

Microsoft Fabric - 尝试一下在pipeline中发送请求给web api(获取数据和更新数据)

1.简单介绍 Microsoft Fabric中的Pipeline支持很多种activity,分成数据转换和控制流两种类型的activitly。 这边将尝试一下发送web请求的activity,要做成的pipeline大概如下图所示, 上图中有4个Activity,作用如下 Web - 从一个…...

Ruby:从宝石到编程语言的奇妙联系(中英双语)

Ruby:从宝石到编程语言的奇妙联系 在珠宝世界中,红宝石(Ruby)是一种象征热情、力量和高贵的珍贵宝石;而在编程世界中,Ruby则是一门灵活、优雅且富有创造力的编程语言。那么,这两者究竟有何联系…...

如何对java 源码进行分析, 统计出每个方法被引用的次数

使用 JavaParser 统计源码中每个方法的引用次数是一个可行且有效的方法。JavaParser 是一个用于解析 Java 源代码并生成抽象语法树(AST)的库,它提供了丰富的 API 来遍历和操作 AST。下面是一个详细的指南,说明如何使用 JavaParser…...

数据完整性与约束的分类

一、引言 为什么需要约束?为了保证数据的完整性。 (1)数据完整性 数据完整性指的是数据的精确性和可靠性。 为了保证数据的完整性,SQL对表数据进行额外的条件限制,从以下四方面考虑: ①实体完整性&…...

docker安装nacos2.x

本文为单机模式,非集群教程,埋坑 nacos2.x官方强制条件 64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。 64 bit JDK 1.8 Maven 3.2.x 环境介绍 centos 7 maven 3.9.9 jdk 17 nacos 2.3.1 1. 拉取docker镜像 d…...

git代理设置

在 Git 中,可以通过以下命令查看当前设置的代理配置: 查看 HTTP 代理 git config --get http.proxy查看 HTTPS 代理 git config --get https.proxy查看全局代理设置 如果你设置了全局代理,可以通过以下命令查看: git config …...

python编程-内置函数bin(),bool(),abs() ,all(),any(),ascii(),max(),min() 详解

1、bin()函数用于将整数转换为其二进制字符串表示。并返回一个以0b开头的字符串,表示该整数的二进制形式。 # 十进制数转换为二进制字符串 decimal_number 42 binary_string bin(decimal_number) print(f"Decimal {decimal_number} is {binary_string} in b…...

GB/T28181 开源日记[8]:国标开发速知速会

服务端源代码 github.com/gowvp/gb28181 前端源代码 github.com/gowvp/gb28181_web 介绍 go wvp 是 Go 语言实现的开源 GB28181 解决方案,基于GB28181-2022标准实现的网络视频平台,支持 rtmp/rtsp,客户端支持网页版本和安卓 App。支持rts…...

6 maven工具的使用、maven项目中使用日志

文章目录 前言一、maven:一款管理和构建java项目的工具1 基本概念2 maven的安装与配置(1)maven的安装(2)IDEA集成Maven配置当前项目工程设置 maven全局设置 (3)创建一个maven项目 3 pom.xml文件…...

js滚动到页面最底部

setTimeout(()> { //延后执行,等页面渲染结束let container document.querySelector(.raise-flag-content); //找到当前divif (container) {container.scrollTop container.scrollHeight - (container.clientHeight - 400 );}})container.scrollTop container…...

Node.js包管理工具npm

目录 什么是 npm npm 主要功能 安装配置 npm 环境 package.json 版本范围规则 使用 npm npm 版本和帮助命令 npm 包相关命令 安装包 卸载包 升级第三方包 升级自己开发的包 查看已安装的包 清除缓存和修复 package.json 相关 运行命令脚本 全局配置 npm 包发布…...

基本数据结构--平衡二叉搜索树之红黑树示例代码

红黑树的规则。红黑树的每个节点有颜色(红或黑),满足以下性质: 每个节点是红或黑。根节点是黑的。叶子节点(NIL节点)是黑的。红节点的子节点必须是黑的。从任一节点到其所有后代叶子节点的路径包含相同数量…...

GB/T 43698-2024 《网络安全技术 软件供应链安全要求》标准解读

一、43698-2024标准图解 https://mmbiz.qpic.cn/sz_mmbiz_png/rwcfRwCticvgeBPR8TWIPywUP8nGp4IMFwwrxAHMZ9Enfp3wibNxnfichT5zs7rh2FxTZWMxz0je9TZSqQ0lNZ7lQ/640?wx_fmtpng&fromappmsg 标准在线预览: 国家标准|GB/T 43698-2024 相关标准: &a…...

Python内置函数map(), list(), len(), iter(), hex(), hash()的详细解析,包括功能、语法、示例及注意事项

1. map(function, iterable, ...) 功能:对可迭代对象中的每个元素应用指定函数,返回一个迭代器。 参数: function:要执行的函数(可以是lambda表达式)。 iterable:一个或多个可迭代对象&#x…...

CF 278A.Circle Line

题目分析 输入n个数据作为路径,求从a到b的最短距离,需要将其相成一个圆圈,既可以从小往大走又可以从大往小走 思路分析 依然将数据存为数组,通过下标进行操作,既然说了有两种方式那就计算两种方式哪个更快就输出谁 代…...

DeepSeek模型构建与训练

在完成数据预处理之后,下一步就是构建和训练深度学习模型。DeepSeek提供了简洁而强大的API,使得模型构建和训练变得非常直观。无论是简单的全连接网络,还是复杂的卷积神经网络(CNN)或循环神经网络(RNN),DeepSeek都能轻松应对。本文将带你一步步构建一个深度学习模型,并…...

本地部署deepseek简单教程

部署deepseek,首先需要知道deepseek官网地址:DeepSeek 第一步:Ollama 去ollama下载对应的版本,我的电脑是window 在这里可以看到关于deepseek相关 第二步,下载完ollama无脑下一步就可以 这样属于安装成功 第三步&…...

3.1 可视化算子编程语言

HuggingFists的VO编程语言与常见的其它编程语言有一定的区别。其语言由两种不同的语法特征构成。一部分以可视化算子作为语法基础(简称:VO-O),辅助使用者可视化的完成数据处理/分析流程的编写;一部分采用表达式语法(简称:VO-E)&am…...

UnityShader学习笔记——多种光源

——内容源自唐老狮的shader课程 目录 1.光源类型 2.判断光源类型 2.1.在哪判断 2.2.如何判断 3.光照衰减 3.1.基本概念 3.2.unity中的光照衰减 3.3.光源空间变换矩阵 4.点光源衰减计算 5.聚光灯衰减计算 5.1.聚光灯的cookie(灯光遮罩) 5.2.聚…...

电脑右下角小喇叭没反应怎么回事,快速解决方案

当电脑右下角的小喇叭(音量图标)没有反应时,可以尝试以下快速解决方案: 一、基础检查与操作 检查键盘音量键: 按下键盘上的音量增加或减少键,或尝试Fn音量键(部分笔记本需组合键)&a…...

chrome-base 如何实现一个BindOnce

考虑一个问题: worker_thread.task_runner()->PostDelayedTask(FROM_HERE, base::BindOnce(&Ref::Foo, ref, 1), base::Milliseconds(1000)); BindOnce 是如何实现的呢? 翻看源码:base\functional\bind.h 写的 非常简洁 // Bind a…...

HTML学习之CSS三种引入方式

HTML学习之CSS三种引入方式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>…...

Mysql基于binlog主从同步配置

主配置&#xff1a; 修改配置文件&#xff1a;/etc/my.cnf 添加server-id1 重启MySQL服务&#xff1a;systemctl restart mysqld 创建用户并授权&#xff1a; mysql> create user rep192.168.79.% identified with mysql_native_password by 123456; Query OK, 0 rows aff…...

Docker Desktop安装到其他盘

Docker Desktop 默认安装到c盘&#xff0c;占用空间太大了&#xff0c;想给安装到其他盘&#xff0c;网上找了半天的都不对 正确安装命令&#xff1a; start /w "" "Docker Desktop Installer.exe" install --installation-dirF:\docker命令执行成功&am…...

NetCore Consul动态伸缩+Ocelot 网关 缓存 自定义缓存 + 限流、熔断、超时 等服务治理

网关 OcelotGeteway 网关 Ocelot配置文件 {//单地址多实例负载均衡Consul 实现动态伸缩"Routes": [{// 上游 》》 接受的请求//上游请求方法,可以设置特定的 HTTP 方法列表或设置空列表以允许其中任何方法"UpstreamHttpMethod": [ "Get", &quo…...

ubuntu 本地部署deepseek r1 蒸馏模型

本文中的文件路径或网络代理需要根据自身环境自行删改 一、交互式chat页面 1.1 open-webui 交互窗口部署&#xff1a;基于docker安装&#xff0c;且支持联网搜索 Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 AI 平台&#xff0c;旨在完全离线操作。它支持各种 LLM…...

go语言中的反射

为什么会引入反射 有时我们需要写一个函数&#xff0c;这个函数有能力统一处理各种值类型&#xff0c;而这些类型可能无法共享同一个接口&#xff0c;也可能布局未知&#xff0c;也有可能这个类型在我们设计函数时还不存在&#xff0c;这个时候我们就可以用到反射。 空接口可…...

旅行社项目展示微信小程序功能模块和开发流程

旅行社当前旅游线路的程序(微信小程序),旨在帮助旅行社更高效地管理线下活动预订,同时为客户提供便捷的报名和查看功能。适用于短途游、团队建设等活动,支持在线预订、缴费及订单管理,可根据用户需求定制更多个性化服务,为公司提升品牌知名度与客户体验。通过简洁明了的…...

JUC学习笔记02

文章目录 JUC笔记2练习题&#xff1a;手写线程池代码解释&#xff1a;AdvancedThreadPool 类&#xff1a;WorkerThread 内部类&#xff1a;AdvancedThreadPoolExample 类&#xff1a; 线程池的思考CPU密集型IO密集型 练习题&#xff1a;手写自动重试机练习题&#xff1a;手写定…...

【论文翻译】DeepSeek-V3论文翻译——DeepSeek-V3 Technical Report——第一部分:引言与模型架构

论文原文链接&#xff1a;DeepSeek-V3/DeepSeek_V3.pdf at main deepseek-ai/DeepSeek-V3 GitHub 特别声明&#xff0c;本文不做任何商业用途&#xff0c;仅作为个人学习相关论文的翻译记录。本文对原文内容直译&#xff0c;一切以论文原文内容为准&#xff0c;对原文作者表示…...