Terraform 自动化帐户安装 SqlServer PS 库

Terraform Automation Account install SqlServer PS Library

尝试在自动化帐户中安装模块时出现错误

这是代码

resource "azurerm_automation_module" "mod_sqlserver" {
  name                    = "xSqlServer"
  resource_group_name     = module.aut_resourcegroup.rg.name
  automation_account_name = azurerm_automation_account.aut.name
  module_link {
    uri = "https://devopsgallerystorage.blob.core.windows.net/packages/sqlserver.21.1.18256.nupkg"
  }
}

这是错误

│ Error: waiting for Module "xSqlServer" (Automation Account "aut-eu2-prd-edw-001" / Resource Group "rg-prd-edw-001") to finish provisioning: Orchestrator.Shared.AsyncModuleImport.ModuleImportException: Cannot import the module of name xSqlServer, as the module structure was invalid.
│    at Orchestrator.Activities.GetModuleMetadataAfterValidationActivity.ExecuteInternal(CodeActivityContext context, Byte[] moduleContent, String moduleName, ModuleLanguage moduleLanguage)
│    at Orchestrator.Activities.GetModuleMetadataAfterValidationActivity.Execute(CodeActivityContext context)
│    at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
│    at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)
│ 
│   with module.provision_aut[0].module.aut_create["aut-01"].azurerm_automation_module.mod_sqlserver,
│   on _modules/general/aut/aut_create/main.tf line 57, in resource "azurerm_automation_module" "mod_sqlserver":
│   57: resource "azurerm_automation_module" "mod_sqlserver" {
│ 
╵

##[error]Terraform command 'apply' failed with exit code '1'.
##[error]╷
│ Error: waiting for Module "xSqlServer" (Automation Account "aut-eu2-prd-edw-001" / Resource Group "rg-prd-edw-001") to finish provisioning: Orchestrator.Shared.AsyncModuleImport.ModuleImportException: Cannot import the module of name xSqlServer, as the module structure was invalid.
│    at Orchestrator.Activities.GetModuleMetadataAfterValidationActivity.ExecuteInternal(CodeActivityContext context, Byte[] moduleContent, String moduleName, ModuleLanguage moduleLanguage)
│    at Orchestrator.Activities.GetModuleMetadataAfterValidationActivity.Execute(CodeActivityContext context)
│    at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)

有什么问题吗?

我已经在我的环境中进行了测试。

我使用与上面相同的代码并得到以下错误:

由于您下载的是 xSqlServer 模块而不是 SqlServer 模块,您可以使用:

uri = "https://devopsgallerystorage.blob.core.windows.net/packages/xsqlserver.9.1.0.nupkg"

而不是:

uri = "https://devopsgallerystorage.blob.core.windows.net/packages/sqlserver.21.1.18256.nupkg"

所以代码应该是:

resource "azurerm_automation_module" "mod_sqlserver" {
  name                    = "xSqlServer"
  resource_group_name     = module.aut_resourcegroup.rg.name
  automation_account_name = azurerm_automation_account.aut.name
  module_link {
    uri = "https://devopsgallerystorage.blob.core.windows.net/packages/xsqlserver.9.1.0.nupkg"
  }
}

如果你想安装SqlServer模块,你可以使用下面的代码:

resource "azurerm_automation_module" "mod_sqlserver" {
  name                    = "SqlServer"
  resource_group_name     = module.aut_resourcegroup.rg.name
  automation_account_name = azurerm_automation_account.aut.name
  module_link {
    uri = "https://devopsgallerystorage.blob.core.windows.net/packages/sqlserver.21.1.18256.nupkg"
  }
}