0

我对 PowerApps 相当陌生,所以请原谅我可能是业余爱好者的描述。

我们正在尝试将完成的解决方案移动到我们的生产环境中。该解决方案包括 Canvas PowerApp、Choices、五个云流、连接引用和自定义连接器。所有这些组件的所有者都是一个帐户。我们将其作为非托管解决方案导出。

其中两个流程包括使用我们的自定义连接器的操作步骤。但是,我们没有直接使用连接器,而是在开发环境的解决方案中创建了连接引用。

第一个问题出现在导入期间:我们被要求为所有流程中使用的不同连接器选择连接。我们有 Dataverse、Word Online、Office 365 Outlook、Sharepoint,它列出了以“666ca”结尾的自定义连接器的名称。

导入时选择连接

在“选择连接”下,唯一的选择是创建一个新连接(此时我被要求再次提供该连接的凭据),我可以这样做,但从长远来看无济于事。我会回到这个。

然后导入工作正常,但 5 个流中的 3 个被停用(即使解决方案导入体验的“关键优势”之一是“流被激活”......)。

当我转到使用自定义连接器的流程之一的详细信息屏幕时,我看到了来自开发环境的连接引用,并且它有一个小复选标记,据说表明它一切正常且已连接。

流详细信息中的连接引用

但是一旦我单击“打开”,我会收到以下错误消息:

流客户端错误返回状态代码“Forbidden”和详细信息“{“error”:{“code”:“ConnectionAuthorizationFailed”,“message”:“对象ID为'removed'的调用者没有连接'/providers/的权限Microsoft.PowerApps/apis/shared_mvv-5fnodejsserver-5fe6a8a622590…/connections/f751f15e47a940daafee92d32…..' 在 Api 'shared_mvv-5fnodejsserver-5fe6a8a6225902…'下。"}}"。对象 ID 属于用于导入的帐户 - 与所有解决方案组件的所有者相同。

在编辑时,流打开,但与 NodeJSServer 连接引用关联的流操作显示没有连接引用。单击“新连接引用”时,再次需要连接名称和密钥。所以我被迫再次输入凭据,甚至无法选择在导入期间创建的连接。进入后,将创建一个新的连接引用,这次称为“DocAuto”。返回详细信息屏幕时,之前看到的导入连接引用被新的替换:

更新后流详细信息中的连接引用

保存后即可开启Flow。相同的过程适用于使用自定义连接器的第二个流程。

关闭的第三个流仅使用 Dataverse 和 Sharepoint,但在尝试打开它时,它会给出错误消息“由于缺少连接而无法启动流。验证流连接并在开始前重新保存。”。为此,我需要对其进行编辑并确认连接,然后才能正常工作。

我的理解是,在使用连接引用导入自定义连接器和流时,流应该在目标环境中使用相同的连接引用。在导入期间创建的连接似乎没用,因为 a) 我无法将流连接到它,并且 b) 没有与其他用户共享它的选项。到目前为止,与用户共享连接是绝对必要的,否则应用程序对他们不起作用(在开发中)。

重新验证流程后,我播放了应用程序并测试了应该触发其中一个流程的按钮,并且还收到了一条错误消息:

[流名称]。运行失败:未为此服务配置连接。

所以我进入了应用程序,不得不用按钮重新连接流程。如果流程一开始就正常工作,我认为这不是必需的。

重新连接按钮后,该应用程序似乎工作正常,我能够与其他用户共享 -44911 连接以及该应用程序并且他们能够播放它。

现在是真正令人兴奋的地方——我需要导入更新。完成导入后,使用自定义连接器的流程停止工作,或者更确切地说,流程中的特定操作引发错误:“未通过身份验证”。它不适用于进口商帐户,也不适用于其他任何人。没有其他信息,并且阅读连接参考(甚至是新的参考)并没有解决它。

所以,我的问题是:

  • 有没有办法先导入自定义连接器,创建一个连接(参考)并将其显示在导入下拉列表中?我尝试将自定义连接器单独导入单独的解决方案并将其从主解决方案中删除,但它显示出相同的行为。

  • 有没有办法以打开流程和/或不必重新验证连接的方式导入解决方案?

  • 是否有一种完全不同且更好/更简单的方式来进行我不知道的导入?

  • 如何确保流程与按钮保持连接?

  • 是否有“最佳”方式来处理包含自定义连接器的解决方案的更新?

非常感谢任何帮助!如果有任何不清楚的地方,请询问,我会尽力给出更好的解释。

非常感谢,一切顺利,珍妮

4

1 回答 1

0

Azure 开发运维。您可以构建管道来提取您的解决方案、存储在 Git 中并发送到您的 acc/prod 环境。需要一些工作,但这是一种更强大的方式。

然而,最佳实践是在每个环境中创建一个自定义连接器,作为手动步骤。在那之后。服务连接应该能够在您的环境中获取自定义连接器。它要求为您的自定义连接器创建新连接的事实是正常的。第一次导入后,它应该创建与您的自定义连接器的连接,以便它至少能够看到连接器并使用它。

在评论您的评论时,我创建了一个引用自定义连接器的解决方案。下一步,在您的测试/生产环境中创建自定义连接器。

导出解决方案并将其导入下一个解决方案后,它应显示此屏幕:

导入画面

单击连接并创建一个新连接(仅限第一次!) 添加连接

在此初始步骤之后,它将识别您的“共享连接”,并在下次更新期间将其拾取,这应该可以覆盖您。

于 2022-02-18T19:50:41.670 回答