在 Azure 门户中创建一个新的函数应用。为了完成这项工作,我们需要向函数应用程序添加 2 个模块。我们需要最新版本的 Az.Accounts 和 Az.Sql。您可以在此处查看最新版本:
https ://www.powershellgallery.com/packages/Az.Accounts
https://www.powershellgallery.com/packages/Az.Sql
在每个手动下载选项卡上下载 nuget 包以上页面。

返回 Azure 中的函数应用并选择“高级工具”并单击“Go”,从顶部菜单中选择“调试控制台”>“Powershell”

浏览到 \site\wwwroot 并编辑文件:requirements.psd1。添加对我们打算添加的 2 个模块的引用(如果需要,请不要忘记更新版本号),然后保存。

在 wwwroot 目录中创建一个名为 Modules 的新文件夹,在 Modules 文件夹中创建 2 个附加文件夹“Az.Sql”和“Az.Accounts”。在每个文件夹中拖放您之前下载的相应 nuget 包。你需要等待一分钟让 Kudu 解开它们。

现在单击主页按钮并运行以下 2 个 powershell 命令 Import-Module C:\home\site\wwwroot\Modules\Az.Accounts\Az.Accounts.psd1 Import-Module C:\home\site\wwwroot\Modules\ Az.Sql\Az.Sql.psd1 一个很好的解释在这里:https ://tech.nicolonsky.ch/azure-functions-powershell-modules/
现在已经安装了模块,所以回到函数应用程序并选择身份在菜单中并打开系统分配。现在浏览到您的 SQL Server(即托管弹性池)> 访问控制 > 添加 > 添加角色分配。选择合适的角色(所有者可以工作但不适合生产环境)。在成员中选择“分配访问权限”“托管身份”,选择成员并选择您的函数应用,然后分配角色。
回到 Function App,您现在可以创建一个函数来扩展您的弹性池。对于计时器函数,此网站对于生成 CRON 表达式非常有帮助https://ncrontab.swimburger.net/
在函数的代码和测试选项卡中添加以下行以根据您的要求扩展池:Set-AzSqlElasticPool -ResourceGroupName“ ResourceGroupName01" -ServerName "ServerName01" -ElasticPoolName "ElasticPoolName01" -Dtu 100 -DatabaseDtuMax 50 -DatabaseDtuMin 20