在环境之间移动触发器(触发器的 ALM 流程)
可以使用多个 Dynamics 365 环境支持应用程序生命周期管理流程的不同阶段。 例如,您可能建立一个用于创建和测试新功能的开发环境、一个用于生产前测试的过渡环境,以及一个用于最终部署应用程序的生产环境。 使用多个环境,您可以维护单独的配置,隔离更改以及避免可能影响系统稳定性的潜在冲突。
在环境之间迁移触发器是关键流程,可以确保团队使用最新版本的触发器。 Power Platform 解决方案 是一种用于实现 ALM 的机制,方法是定义如何打包代码和元数据,以便从一个环境传输到另一个环境。 解决方案包括实体、连接器、流和窗体等组件,但默认情况下不包括客户数据。
若要实现 ALM 支持,Dynamics 365 功能必须构建为“解决方案感知型”,并且将实体建模为 Dataverse 可以识别的解决方案组件和依赖项,以便导入期间可以解析。 解决方案中不包括环境特定的数据(包括使用数据),以便简化 ALM 流程和提高其效率。 通过利用解决方案,您可以更好地控制系统配置,减少错误,并确保环境之间的一致性。
使用 Power Platform 解决方案移动触发器
您可以在不同环境之间移动处于任何状态(草稿、已发布或已停止)的触发器。 为此,请按照以下步骤操作:
选择屏幕左上角的应用切换器,然后选择 Power Apps,为您的当前源环境打开 Power Platform 解决方案。
重要提示
确保 Power Apps 环境与您当前正在处理的环境相同(具有要迁移的触发器的环境)。
在左侧窗格上选择解决方案,然后在顶部栏中选择 + 新建解决方案。
为您的解决方案命名并选择发布者。 确保解决方案具有突出显示要添加的一个或多个触发器的唯一名称。
仅将“触发器”记录添加到解决方案中。 (组件类型:触发器)
- 按照以下步骤操作即可做到这一点:
- 在页面顶部窗格上选择添加现有项下拉列表。
- 选择更多>其他>触发器。
- 使用搜索功能搜索触发器,找到相关记录后选择添加。
- 按照以下步骤操作即可做到这一点:
添加触发器记录应该也会将以下记录添加到您的解决方案:
触发器状态 添加的组件 草稿 Trigger 记录、CustomerAPI 记录和 CatalogAssignment 记录 已发行 Trigger 记录、CustomAPI 记录、CatalogAssignment 记录和 customAPIrequestparameter 记录 完成后,即可将解决方案迁移到目标环境。
要迁移解决方案,您需要将其导出。 要进行导出,请按照以下步骤操作:
- 选择导出解决方案。
- 确保将解决方案导出为托管。
- 选择导出。 根据解决方案中触发器的数量,解决方案需要几分钟时间才能准备就绪,可供下载。
完成后,下载您的托管解决方案。
导航到要导入解决方案和触发器的目标环境。
进入此环境后,使用上述步骤 1、2 和 3 导航到 Power Apps 门户上可用于导入解决方案的解决方案页面。
要上传从源环境下载的托管解决方案,请选择导入解决方案。
导航到目标环境来检查导入的触发器。
- 系统保留了源环境中的触发器状态。 草稿触发器在草稿状态下导入,已发布的触发器在已发布状态下导入,已停止的触发器在草稿状态下导入。
解决方案升级体验
升级包含托管触发器的解决方案与首次在环境之间迁移解决方案略有不同。 根据触发器升级解决方案取决于用户在目标或源环境中使用触发器的方法。 如果目标环境中的触发器状态为草稿,则升级解决方案只会更改触发器的状态。 下表显示了升级解决方案时的状态转换:
目标的触发器状态 | 升级解决方案后的触发器状态 |
---|---|
已发行 | 不改变。 无论升级的解决方案中的触发器状态如何,触发器均保持已发布状态。 |
草稿 | 允许状态转换。 在解决方案升级期间,触发器的状态将更改为来自源环境的触发器状态。 |
已停止 | 不改变。 无论升级的解决方案中的触发器状态如何,触发器均保持已停止状态。 |
常见问题
我能否为每个解决方案导入多个触发器?
可以。 您可以为每个解决方案导入任意数量的触发器。 在目标中,在几分钟之后,以发布状态导入的触发器将会从“正在发布”状态转换为“已发布”状态。
在迁移时,解决方案内的所有触发器是否需要处于同一种状态?
否。 您可以选择要导入的触发器状态。 触发器状态到目标后保持不变。
我的触发器用于启动 Power Automate 流。 添加触发器后,Power Automate 流是否仍然会作为依赖项自动添加到解决方案中?
否。 如果您有基于触发器启动的 Power Automate 流,请确保将器与触发器记录一起添加到解决方案中,以确保目标中的一致性和易用性。
我希望移动我的网站上已集成的自定义触发器。 是否有一些需要了解的注意事项?
迁移自定义触发器与迁移其他触发器不同。 自定义触发器通常具有一个代码片段,需要添加到网站中,以便开始跟踪客户操作。 这些代码片段包含一个仅与创建触发器的环境关联的引入密钥。
因此,当您使用 Power Platform 解决方案通过 ALM 流程在环境之间迁移自定义触发器时,我们不需要迁移引入密钥,而是使用目标组织的引入密钥作为所导入触发器的密钥。
目标组织中的引入密钥将与源环境中的引入密钥不同。 因此,在触发器迁移完成后,必须根据需要重新编写代码片段。
我使用托管解决方案将一个触发器迁移到了目标组织。 现在我发现我不需要这个触发器,希望将其删除。 但删除按钮已呈灰色状态。我该怎么办?
托管触发器不能从用户界面删除。 这样做的原因是为了考虑依赖项,并确保在删除触发器后不会保留任何孤立依赖项。 因此,如果用户希望删除托管触发器,方法只能是在解决方案中的所有触发器均为草稿状态时删除托管解决方案。
如果解决方案中包含您不希望删除的其他组件,则可以通过升级到不包含托管触发器(及其相关记录,在触发器是添加到解决方案时),但仍包含其他组件的新解决方案版本来删除托管触发器, 希望通过此升级来删除的触发器必须为草稿状态。
我能否迁移同一解决方案中的触发器和 Power Automate 流组合?
可以。 您可以在源环境和目标环境之间移动同一个解决方案中的多个触发器。
我在我的解决方案中导入了大量已发布状态的触发器。 在目标环境中,我可以看到其中一部分为已发布状态,而另一些则显示为草稿状态。 这是出错了吗?
当一组触发器以已发布状态导入目标环境时,它们将经历发布流程(一次触发一个的顺序流程)。 在此期间,等待发布的触发器在初始导入时,在转换为“正在发布”状态,并且最终转换为“已发布/待使用”状态之前,会暂时显示为“草稿”状态,
如果触发器长时间处于“草稿”状态,则这可能表明存在问题。 您可以执行以下两项操作之一:
- 自助服务:一种方法是绕过导入的“已发布”触发器长时间处于“草稿”状态这一潜在问题,直接执行解决方案升级,然后重新导入触发器。
- 联系您的 Microsoft 代表:与 Microsoft 支持团队一起创建支持票证,让某位工程师研究问题并提供其他缓解解决方案。