gpt4 book ai didi

azure - 如何参数化azure逻辑应用标准项目的workflow.json和connections.json文件中的值

转载 作者:行者123 更新时间:2023-12-05 02:39:54 26 4
gpt4 key购买 nike

我已经按照 this 使用 Visual Studio 代码创建了 Azure 逻辑应用单租户项目。文档。然后根据我的要求创建工作流程,其中包含数据工厂管道和发送网格操作。

工作流包含创建管道运行数据工厂操作中的硬编码值。

"Create_a_pipeline_run": {
"inputs": {
"host": {
"connection": {
"referenceName": "azuredatafactory_5"
}
},
"method": "post",
"path": "/subscriptions/@{encodeURIComponent('xxxxxxx-xxxx-xxxx-xxxx-xxxxxx')}/resourcegroups/@{encodeURIComponent('xxxxx')}/providers/Microsoft.DataFactory/factories/@{encodeURIComponent('xxxxxx')}/pipelines/@{encodeURIComponent('xxxxxxx')}/CreateRun",
"queries": {
"x-ms-api-version": "2017-09-01-preview"
}
},
"runAfter": {},
"type": "ApiConnection"
},

connections.json 文件看起来如下:

"managedApiConnections": {
"sendgrid": {
"api": {
"id": "/subscriptions/@appsetting('WORKFLOWS_SUBSCRIPTION_ID')/providers/Microsoft.Web/locations/centralus/managedApis/sendgrid"
},
"authentication": {
"type": "ManagedServiceIdentity"
}
},
"azuredatafactory_5": {
"api": {
"id": "/subscriptions/@appsetting('WORKFLOWS_SUBSCRIPTION_ID')/providers/Microsoft.Web/locations/centralus/managedApis/azuredatafactory"
},
"authentication": {
"type": "ManagedServiceIdentity"
}
}

}

上述托管 API 连接是指来自 azure 的现有 API 连接。但我想为每个环境创建新的托管 API 连接(意味着根据环境参数化 connections.json 文件中的值)。

任何人都可以建议我如何参数化每个环境 workflow.json 文件中的值以及参数化每个环境 connections.json 文件中的值。

最佳答案

逻辑应用标准只是一种 workflowApp 类型的应用服务。您可以在此处大量使用应用程序设置。

  1. 逻辑应用参数。

    在您的 workflow.json 中,您可以使用如下参数:

    "Create_a_pipeline_run": {
    "inputs": {
    "host": {
    "connection": {
    "referenceName": "azuredatafactory_5"
    }
    },
    "method": "post",
    "path": "/subscriptions/@{encodeURIComponent(parameters('subscription_id'))}/resourcegroups/...",
    "queries": {
    "x-ms-api-version": "2017-09-01-preview"
    }
    },
    "runAfter": {},
    "type": "ApiConnection"
    }

    然后在您的 parameters.json 文件中,引用如下应用设置:

    {
    "subscription_id": {
    "type": "String",
    "value": "@appsetting('WORKFLOWS_SUBSCRIPTION_ID')"
    }
    }

    subscription_id 必须定义为应用服务中的应用设置。

  2. 逻辑应用连接。以同样的方式,您可以在 connections.json 文件中使用应用设置和参数来获取连接信息:

    {
    "managedApiConnections": {
    "sendgrid": {
    "api": {
    "id": "/subscriptions/@appsetting('WORKFLOWS_SUBSCRIPTION_ID')/providers/Microsoft.Web/locations/centralus/managedApis/sendgrid"
    },
    ...
    "authentication": "@parameters('azure_authentication')"
    }
    }
    }

    然后在您的 parameters.json 文件中:

    {
    "azure_authentication": {
    "type": "object",
    "value": {
    "type": "ManagedServiceIdentity"
    }
    }
    ...
    }

这样您就可以轻松地将所有环境特定参数卸载到应用设置

关于azure - 如何参数化azure逻辑应用标准项目的workflow.json和connections.json文件中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68888469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com