Error: "Make sure to create your workspace using a client which support MSI" when deploying Azure ARM template for Machine Learning Services Workpsace
Error: "Make sure to create your workspace using a client which support MSI" when deploying Azure ARM template for Machine Learning Services Workpsace
我目前正在尝试使用 ARM 模板和 运行ning 通过 Terraform 编写我们的 Azure 机器学习基础架构的脚本。为了确保模板有效,我首先 运行 使用 Az CLI 从文件中编译它。
我在 Ubuntu 上 运行 使用以下版本的 Az CLI:-
azure-cli 2.0.78
command-modules-nspkg 2.0.3
core 2.0.78
nspkg 3.0.4
telemetry 1.0.4
Python location '/opt/az/bin/python3'
Extensions directory '/home/blah/.azure/cliextensions'
Python (Linux) 3.6.5 (default, Dec 12 2019, 11:11:33)
[GCC 8.3.0]
我已经使用 terraform 创建了存储帐户、App Insights 和 Key Vault。
尝试使用 Az CLI 和命令 运行 模板时:-
az group deployment create --name MachineLearning --resource-group data-science --template-file ML_ARM.json --parameters appInsightsName=machine-learning-dev storageAccountName=machinelearningdev keyVaultName=data-science-dev mlApiVersion=2018-11-19 mlWorkspaceName=machine-learning-dev location=uksouth
我收到以下错误:-
Make sure to create your workspace using a client which support MSI
ARM模板如下:-
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountName": {
"type": "string",
"metadata": {
"description": "The name of the storage account"
}
},
"appInsightsName" : {
"type": "string",
"metadata": {
"description": "The name of the app insights account"
}
},
"keyVaultName": {
"type": "string",
"metadata": {
"description": "The name of the keyvault resource"
}
},
"mlApiVersion": {
"type": "string",
"metadata": {
"description": "The api version of the ML workspace"
}
},
"mlWorkspaceName": {
"type": "string",
"metadata": {
"description": "The name of the Machine Learning Workspace"
}
},
"location": {
"type": "string",
"metadata": {
"description": "Resource location"
}
}
},
"resources": [
{
"apiVersion": "[parameters('mlApiVersion')]",
"type": "Microsoft.MachineLearningServices/workspaces",
"name": "[parameters('mlWorkspaceName')]",
"location": "[parameters('location')]",
"sku": {
"tier": "enterprise",
"name": "enterprise"
},
"properties": {
"storageAccount": "[resourceId('Microsoft.Storage/storageAccounts',parameters('storageAccountName'))]",
"applicationInsights": "[resourceId('Microsoft.Insights/components',parameters('appInsightsName'))]",
"keyVault": "[resourceId('Microsoft.KeyVault/vaults',parameters('keyVaultName'))]"
}
}
]
}
一些基本的谷歌搜索并没有真正说明这可能是什么问题;机器学习服务的文档和指南模板链接如下:-
https://docs.microsoft.com/en-us/azure/machine-learning/service/how-to-create-workspace-template
https://docs.microsoft.com/en-us/azure/templates/microsoft.machinelearningservices/2019-11-01/workspaces
知道问题出在哪里吗?在此先感谢您的指点!
我不熟悉 Terraform 或 ML Services 的强大功能;但是,您提供的错误本身需要配置 MSI 身份验证,这是在您提供的 link 中配置的。
尝试更新您的 ARM 以包括像这样的标识部分:
... },
"identity": {
"type": "systemAssigned"
},
"properties": {
"storageAccount": "[resourceId('Microsoft.Storage/storageAccounts',parameters('storageAccountName'))]",
"applicationInsights": "[resourceId('Microsoft.Insights/components',parameters('appInsightsName'))]",
"keyVault": "[resourceId('Microsoft.KeyVault/vaults',parameters('keyVaultName'))]"
}
这将创建 Managed Service Identity。
我目前正在尝试使用 ARM 模板和 运行ning 通过 Terraform 编写我们的 Azure 机器学习基础架构的脚本。为了确保模板有效,我首先 运行 使用 Az CLI 从文件中编译它。
我在 Ubuntu 上 运行 使用以下版本的 Az CLI:-
azure-cli 2.0.78
command-modules-nspkg 2.0.3
core 2.0.78
nspkg 3.0.4
telemetry 1.0.4
Python location '/opt/az/bin/python3'
Extensions directory '/home/blah/.azure/cliextensions'
Python (Linux) 3.6.5 (default, Dec 12 2019, 11:11:33)
[GCC 8.3.0]
我已经使用 terraform 创建了存储帐户、App Insights 和 Key Vault。
尝试使用 Az CLI 和命令 运行 模板时:-
az group deployment create --name MachineLearning --resource-group data-science --template-file ML_ARM.json --parameters appInsightsName=machine-learning-dev storageAccountName=machinelearningdev keyVaultName=data-science-dev mlApiVersion=2018-11-19 mlWorkspaceName=machine-learning-dev location=uksouth
我收到以下错误:-
Make sure to create your workspace using a client which support MSI
ARM模板如下:-
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountName": {
"type": "string",
"metadata": {
"description": "The name of the storage account"
}
},
"appInsightsName" : {
"type": "string",
"metadata": {
"description": "The name of the app insights account"
}
},
"keyVaultName": {
"type": "string",
"metadata": {
"description": "The name of the keyvault resource"
}
},
"mlApiVersion": {
"type": "string",
"metadata": {
"description": "The api version of the ML workspace"
}
},
"mlWorkspaceName": {
"type": "string",
"metadata": {
"description": "The name of the Machine Learning Workspace"
}
},
"location": {
"type": "string",
"metadata": {
"description": "Resource location"
}
}
},
"resources": [
{
"apiVersion": "[parameters('mlApiVersion')]",
"type": "Microsoft.MachineLearningServices/workspaces",
"name": "[parameters('mlWorkspaceName')]",
"location": "[parameters('location')]",
"sku": {
"tier": "enterprise",
"name": "enterprise"
},
"properties": {
"storageAccount": "[resourceId('Microsoft.Storage/storageAccounts',parameters('storageAccountName'))]",
"applicationInsights": "[resourceId('Microsoft.Insights/components',parameters('appInsightsName'))]",
"keyVault": "[resourceId('Microsoft.KeyVault/vaults',parameters('keyVaultName'))]"
}
}
]
}
一些基本的谷歌搜索并没有真正说明这可能是什么问题;机器学习服务的文档和指南模板链接如下:-
https://docs.microsoft.com/en-us/azure/machine-learning/service/how-to-create-workspace-template https://docs.microsoft.com/en-us/azure/templates/microsoft.machinelearningservices/2019-11-01/workspaces
知道问题出在哪里吗?在此先感谢您的指点!
我不熟悉 Terraform 或 ML Services 的强大功能;但是,您提供的错误本身需要配置 MSI 身份验证,这是在您提供的 link 中配置的。
尝试更新您的 ARM 以包括像这样的标识部分:
... },
"identity": {
"type": "systemAssigned"
},
"properties": {
"storageAccount": "[resourceId('Microsoft.Storage/storageAccounts',parameters('storageAccountName'))]",
"applicationInsights": "[resourceId('Microsoft.Insights/components',parameters('appInsightsName'))]",
"keyVault": "[resourceId('Microsoft.KeyVault/vaults',parameters('keyVaultName'))]"
}
这将创建 Managed Service Identity。