Power Automate - 超级连接器
Power Platform 上有很多可用的连接器(超过一千个),这就引出了一个简单的问题,哪一个是最好的,哪一个是最强大的,哪一个是超级的?
显然,这是主观的,取决于您的要求,但有一个连接器和一个特定的操作我认为非常强大,而您可能还没有使用过它。
最强大的连接器是......“带有 Microsoft Entra ID(预授权)的 HTTP”,特别是“调用 HTTP 请求”
让我们深入探讨一下:
- 它为何如此强大
- 如何使用
- 它的问题
1. 为什么它如此强大
它之所以如此强大,是因为理论上它是通用的 Microsoft 连接器。该连接器允许您使用您(或任何验证该 API 的人)可以使用的任何 Microsoft API。实际上,它允许您使用平台中已设置的任何 API,这意味着您可以使用连接器不支持的其他端点(包括未记录的端点)。
连接器分为两个级别:特定操作和 HTTP 操作。HTTP 版本更加开放和强大,而带有 Microsoft Entra ID(预授权)的 HTTP 操作则位于所有这些 HTTP 操作之上,是一种通用的 HTTP 操作。
这使得它非常适合没有 HTTP 版本的连接器。
是否曾经想要一个 HTTP 版本的管理连接器,那么您可以使用 Entra HTTP,下面您可以看到使用该api.flow.microsoft.com
版本列出环境。
为了证明这一点,如果您使用旧的管理流程 API,它会标记一个错误,认为您正在使用“以管理员身份列出流程”的版本 1。
https://api.flow.microsoft.com/Providers/Microsoft.ProcessSimple/scopes/admin/environments/{{environmentID}}/flows?api-version=2016-11-01-beta&$top=25
这里还有一些其他很酷的例子:
流程
是否曾经想获取流日志(无需使用新的 Dataverse 日志表)
https://api.flow.microsoft.com/providers/Microsoft.ProcessSimple/environments/{{environmentID}}/flows/{{resourceID}}/runs/{{flowRunID}}?api-version=2016-11-01
api.flow.microsoft.com
是的,您可以这样做,以及您在浏览器网络选项卡中看到的任何其他API 调用。
MS 表格
MS Forms 连接,怎么说呢,是有限的。
但是有很多 MS Forms API,简单的例子就是也许您想编辑表单上的问题,那么您可以使用 Entra HTTP 操作来做到这一点。
连接器设置
您是否曾经想检查被阻止的连接器,现在您可以使用api.bap.microsoft.com
。
https://api.bap.microsoft.com/providers/PowerPlatform.Governance/v1/connectors/metadata/unblockable
我知道这非常小众,但用 bap api 可以做很多很酷的事情
这是一个快速快照,选项几乎是无限的。
2. 如何使用
该连接器与其他连接器略有不同,因为您需要设置要使用的根 URL 和资源主体 URL。设置完成后,即可创建连接。
根 URL 很明显,它是您要使用的 API 的基本 URL,例如:
- https://api.flow.microsoft.com/
- https://forms.office.com/formapi/api/
- https://graph.microsoft.com/
- https://yourDynamics.crm4.dynamics.com/
资源主体 URL 是您想要的权限,大多数情况下您只需使用根 URL。
使用 Microsoft API 时,SPN 具有按范围设置的权限(例如读取电子邮件、删除文件等)。在 Power Platform 中,每个连接器都设置了一个具有特定范围的 SPN(这就是为什么 HTTP 操作无法始终调用每个端点的原因)。因此,使用 Entra 时,我们需要指向正确的资源主体(又称 SPN)才能获得正确的权限(又称范围)。
资源主体似乎正在使用 .default 范围,例如https://graph.microsoft.com/.default
,这就是为什么您可以使用根 url,但请注意。默认并不总是使用根,例如:
https://api.flow.microsoft.com/
用途https://service.flow.microsoft.com/
如果有人有 Power Platforms 资源主体的完整列表,请分享。
3. 问题
第一个问题比较小,你无法在新 UI 中创建连接,因为它没有显示范围,这似乎是一个简单的 bug。你可以切换到经典 UI,创建连接,然后切换回来使用。
其次,因为您必须设置权限的范围,所以任何手动流程/应用程序都要求用户添加 url 和范围,这对用户来说并不友好,并且当用户做错时注定会导致大量的支持票。
接下来,我们受限于设置的资源主体,因此并非每个 API 和范围都可用,并且我找不到列出它们的资源。
最后,这对管理员来说简直是一场噩梦。由于DLP策略中没有端点配置,这意味着如果你激活它,你就会在不知情的情况下打开更多连接器。
因此,尽管在大多数情况下超级连接器有点过度,并且您最好使用标准或 HTTP 版本的 API,但对我来说,它仍然位于所有连接器的首位,使其成为最强大的。
文章来源:https://dev.to/wyattdave/power-automate-the-super-connector-3gbe