多租户环境中的逻辑应用

时间:2018-07-24 08:58:00

标签: azure azure-logic-apps

我们计划使用逻辑应用程序构建SFTP连接器,该应用程序将基本上将一个文件上传到azure blob并将其上传到sftp位置。 我们是SaaS产品,正在与多个客户打交道。此外,我们还有每个客户或租户的存储帐户。

我的问题是该逻辑应用程序应如何部署 1.它应该是一个可以监听多个存储帐户并上传文件的逻辑应用程序。现在我无法弄清楚该怎么做。 2.如果它是一个逻辑应用程序/租户,并且使用该租户的存储帐户一对一配置

我想知道在多租户环境中遵循的通常模式是什么,以及它们在部署逻辑应用程序/租户方面的利弊。

1 个答案:

答案 0 :(得分:1)

您无需为每个租户创建一个Logic App。您可以做的是为每个存储帐户(每个租户)创建一个API连接。您可以使用ARM Templates和Azure CLI进行操作。您可以根据您的tenantId为API连接指定一个ID

然后,在Logic App工作流中,您可以在运行时根据租户ID动态选择API连接。

例如

"Get_blob_content": {
    "inputs": {
        "host": {
            "connection": {
                "name": "/subscriptions/<id>/resourceGroups/<id>/providers/Microsoft.Web/connections/@{variables('tenantId')}"
            }
        },
        "method": "get",
        "path": "/datasets/default/files/.../content",
        "queries": {
            "inferContentType": true
        }
    },
    "metadata": {
        "...": "..."
    },
    "runAfter": {},
    "type": "ApiConnection"
}

由您决定如何命名API连接,如何在运行时获取它以及如何在运行时获取完整的connectionId。但希望您对上面的代码有什么想法。

HTH