azure - 使用 az 模板在 Azure Function 上运行 Powershell 命令

标签 azure powershell azure-devops azure-sql-database az

我想编写一个脚本,将 Azure SQL 数据库拉入 Azure SQL 弹性池。但这应该从 Azure Function 运行

但出现此错误: 错误:未加载指定的模块“AzureRM.Compute”,因为在任何模块目录中均未找到有效的模块文件。

当我包含 Azure RM 时,我收到一个新错误,因为我无法使用 AzureRM 和 Az 命令。

我可以仅使用 AZ 命令来连接到我所需的订阅吗?

以下是我正在尝试的代码:

$resourceGroupName = "<VALUE>"
$location = "<VALUE>"
$PoolName = "<VALUE>"
$adminSqlLogin = "<VALUE>"
$password = "<VALUE>"
$serverName = "<VALUE>.database.windows.net,1433"
$DatabaseName = "<VALUE>"

Set-ExecutionPolicy Unrestricted -Scope CurrentUser


Import-Module Az.Sql

$azureAccountName ="<VALUE>"
$azurePassword = "<VALUE>" | ConvertTo-SecureString -AsPlainText -Force

$psCred = New-Object System.Management.Automation.PSCredential($azureAccountName, $azurePassword)

Login-AzureRmAccount -Credential $psCred -SubscriptionId $subscriptionId

Set-AzSqlDatabase -ResourceGroupName $resourceGroupName `
    -ServerName $serverName `
    -DatabaseName $DatabaseName `
    -ElasticPoolName $PoolName

但在 Azure Function 中出现以下错误:

Login-AzureRmAccount:程序集中类型“Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient”中的方法“get_SerializationSettings” “Microsoft.Azure.Commands.ResourceManager.Common,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”没有实现。

最佳答案

不应混合使用 AZ 和 ARM cmdlet。我建议您仅使用新的 AZ cmdlet。如果您在 Azure 函数中使用托管身份,您甚至无需手动连接到您的 Azure 帐户,因为这已在配置文件中为您完成。ps1:

if ($env:MSI_SECRET -and (Get-Module -ListAvailable Az.Accounts)) {
    Connect-AzAccount -Identity
}

只需确保将 Az 添加到 requirements.psd1 中即可:

@{
    Az = '1.*'
}

关于azure - 使用 az 模板在 Azure Function 上运行 Powershell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57265383/

相关文章:

Azure Bicep 不会删除存储容器

powershell - 从字符串而不是从文件导入-Csv?

powershell - 调用-AzureRmResourceAction : The pipeline has been stopped

azure-devops - 如何在 VSTS 构建上设置 myget 凭据?

javascript - 我需要通过 gulp linting 过程使 Visual Studio Online (VSTS) 中的构建失败

tfs - 将测试用例连同参数和附件从 TFS 迁移到 VSTS

javascript - 添加新页面后无法设置未定义的属性 'login'?

Azure 存储表 - 无法添加用户定义的属性/字段

sql-server - Azure SQL 监控高 DTU

Git 和 PowerShell 以及德语变音符号