使用Azure DevOps YAML增量部署后,Standard Logic App运行历史如何恢复?
关于Standard Logic App ARM部署与运行历史恢复的问题
我通过ARM模板部署Standard Logic App,使用以下两个Azure DevOps任务:
- task: AzureResourceManagerTemplateDeployment@3 displayName: "Create Standard Logic Application" inputs: deploymentScope: 'Resource Group' azureResourceManagerConnection: $(TestSubscription) subscriptionId: $(IDTestSubscription) action: 'Create Or Update Resource Group' resourceGroupName: $(ResourceGroup) location: 'West Europe' templateLocation: 'Linked artifact' csmFile: '$(Pipeline.Workspace)/drop/armtemplates/logicapp_deployment.json' csmParametersFile: '$(Pipeline.Workspace)/drop/armtemplates/logicapp_parameters.json' deploymentMode: 'Incremental' deploymentOutputs: 'ArmOutputsLA' continueOnError: true - task: AzureFunctionApp@2 displayName: Deploy Logic App Workflows inputs: azureSubscription: $(IDTestSubscription) appType: functionapp appName: $(LaAppName) package: '$(Pipeline.Workspace)/drop/workflow.zip' deploymentMethod: 'zipDeploy' ResourceGroupName: $(ResourceGroup) continueOnError: true
当前存在两个问题:
Website_Rum_From_Package应用设置未被部署- 增量部署完成后,如何恢复Standard Logic App的运行历史?
解决Website_Rum_From_Package未部署的问题
有两种可行方式:
- 通过ARM模板添加配置:检查你的
logicapp_deployment.json,确保包含应用设置的资源节点。Standard Logic App的应用设置需要定义在Microsoft.Web/sites/config类型的资源中,示例如下:
{ "type": "Microsoft.Web/sites/config", "apiVersion": "2022-03-01", "name": "[concat(parameters('logicAppName'), '/appsettings')]", "dependsOn": ["[resourceId('Microsoft.Web/sites', parameters('logicAppName'))]"], "properties": { "Website_Rum_From_Package": "1" // 替换为你需要的实际值 } }
如果模板已有该配置,检查参数文件是否正确传递了对应值,或是否有条件判断逻辑导致该设置被跳过。
- 通过AzureFunctionApp任务直接指定:在部署工作流的任务中,添加
appSettings输入项直接设置该参数,示例修改后的任务:
- task: AzureFunctionApp@2 displayName: Deploy Logic App Workflows inputs: azureSubscription: $(IDTestSubscription) appType: functionapp appName: $(LaAppName) package: '$(Pipeline.Workspace)/drop/workflow.zip' deploymentMethod: 'zipDeploy' ResourceGroupName: $(ResourceGroup) appSettings: '-Website_Rum_From_Package "1"' // 新增应用设置配置 continueOnError: true
增量部署后恢复运行历史的方法
Standard Logic App的运行历史默认存储在关联的存储账户(或指定的Cosmos DB)中,只要存储资源未被删除或替换,历史数据不会丢失。按以下步骤排查恢复:
- 确认存储资源是否未变更:
进入Azure门户的Logic App页面,点击「配置」→「应用设置」,查看AzureWebJobsStorage(默认存储运行历史的存储账户)或WORKFLOWS_DOCUMENTDB_CONNECTION(使用Cosmos DB时)的值,确认是否与部署前一致。 - 若存储资源被修改:
如果部署过程中更换了关联的存储账户/Cosmos DB,需要将Logic App重新关联回原存储资源——可以通过ARM模板更新对应应用设置,或在Azure门户手动修改配置。 - 检查配置是否被覆盖:
对比部署前后的Logic App配置,查看是否有runtimeConfiguration等与运行历史相关的设置被修改,若有则恢复为部署前的状态。 - 确认保留期未过期:
Logic App运行历史默认保留30天,若数据已超过保留期则无法恢复。
内容的提问来源于stack exchange,提问作者Sergio
相关产品推荐
相关产品推荐

