小编nmc*_*a70的帖子

Azure DevOps CI/CD 部署 Web 或 Function App 更改 YAML 管道中 appsettings 中的值

最近,在我们的一些部署中,关于如何自动化功能应用程序和 Web 应用程序的应用程序设置,内部存在一些混乱,并且检查周围似乎有大量令人眼花缭乱的选项,看起来它们在做大致相同的事情,但在不同的地方脚步。

我们的开发人员通常有一个提交到存储库的 appsettings.json 文件,对于他们的测试来说可能看起来像这样......

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
    }
  },
  "Values": {
    "ThingToPointTo": "http://localhost",
  }
}
Run Code Online (Sandbox Code Playgroud)

当我们将其带到其他环境(例如 PROD)时,我们将ThingToPointTo更改为“https://productservice”之类的内容

我们一直在使用 Azure DevOps YAML 管道以这种方式部署和更改 AppSettings...

- task: AzureFunctionApp@1
  inputs:
    azureSubscription: 'OurAzureSubServiceConnection'
    appType: functionApp
    appName: $(azfuncappname)
    package: '$(Pipeline.Workspace)/drop/$(Build.BuildId).zip'
    AppSettings: '-Values:ThingToPointTo "https://productionservice"'
Run Code Online (Sandbox Code Playgroud)

我的问题有两个

  1. Values :ThingToPointTo是否正确枚举到正确的设置,或者应该只是ThingToPointTo(省略Values:)?

  2. 这是这样做的方法吗?我注意到您可以在部署之前使用 JSON 转换步骤来更改实际文件,并且还有一个名为“Azure 应用服务设置”的任务可以在部署后使用它来执行此操作?

关于这个主题的文章有很多,但似乎没有一篇适合。

提前致谢!

azure azure-web-app-service azure-devops azure-pipelines azure-function-app

3
推荐指数
1
解决办法
2300
查看次数

Azure Kusto 查询用于修剪完整 Azure 资源 ID 的名称

我有一个查询,该查询取自 Azure 应用服务的诊断日志输出,并推送到 Log Analytics 工作区中。

AppServiceAppLogs
| where TimeGenerated >= now(-1h) and Level == "Error"
| project TimeGenerated , _ResourceId , Source, ResultDescription
| summarize ErrorsLogged = count() by _ResourceId
| order by ErrorsLogged
| render piechart 
Run Code Online (Sandbox Code Playgroud)

当图表(任何图表)呈现时,它会显示正确的完整_ResourceId表格内容,例如...

/subscriptions/00000-000000-000000-00000000/resourcegroups/my-resource-group/providers/microsoft.web/sites/my-webapp
Run Code Online (Sandbox Code Playgroud)

这些最终会因为太长而无法显示。无论如何,有没有办法修剪/subscriptions/00000-000000-000000-00000000/resourcegroups/my-resource-group/providers/microsoft.web/sites/结果中的内容?

提前致谢

azure azure-log-analytics azure-data-explorer

2
推荐指数
1
解决办法
4026
查看次数