我们计划使用逻辑应用程序构建SFTP连接器,该应用程序将基本上将一个文件上传到azure blob并将其上传到sftp位置。 我们是SaaS产品,正在与多个客户打交道。此外,我们还有每个客户或租户的存储帐户。
我的问题是该逻辑应用程序应如何部署 1.它应该是一个可以监听多个存储帐户并上传文件的逻辑应用程序。现在我无法弄清楚该怎么做。 2.如果它是一个逻辑应用程序/租户,并且使用该租户的存储帐户一对一配置
我想知道在多租户环境中遵循的通常模式是什么,以及它们在部署逻辑应用程序/租户方面的利弊。
答案 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