创建 Azure SQL 数据库时的 Azure Automation 或 Azure Function

Azure Automation or Azure Function when creating an Azure SQL database

我们正在创建一个 SaaS 应用程序,其中每个客户端都有自己的数据库。我想自动创建客户端环境,这将从我们的网站触发。

我正在调查使用 Azure Automation 或 Azure Functions 来创建我们的客户端数据库。

如果有人对这些工具有一些经验,我将不胜感激。

问候 雷梅兹

您还没有指定任何限制,所以有很多方法可以做到这一点。一种情况可能是:

  1. 从您的网站向队列发送消息。

  2. 创建一个将侦听该队列的 Azure 函数,以及 运行 创建一个新数据库的脚本。

确保您的数据库创建时间少于 5 分钟(最多 10 分钟),否则您将无法使用 Function App 的消费计划。

如果数据库对所有客户都具有相同的架构,您可以使用一个空数据库作为模板,然后执行 CREATE DATABASE AS COPY 指定新数据库的层级。

CREATE DATABASE db_copy   
    AS COPY OF ozabzw7545.db_original ( SERVICE_OBJECTIVE = 'P2' )  ;

考虑使用具有弹性作业的弹性池,以后可以帮助您在所有客户数据库上自动执行常见任务。使用弹性池,您还可以创建数据库副本。

CREATE DATABASE db_copy   
    AS COPY OF ozabzw7545.db_original   
    (SERVICE_OBJECTIVE = ELASTIC_POOL( name = ep1 ) ) ;

您还可以使用 REST API 创建数据库或数据库的副本,如 here 所述。