Workspaces - Create Or Update
Creates or updates a workspace with the specified parameters.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}?api-version=2023-04-01
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
resource
|
path | True |
string |
The name of the resource group. The name is case insensitive. |
subscription
|
path | True |
string |
The ID of the target subscription. |
workspace
|
path | True |
string |
Name of Azure Machine Learning workspace. Regex pattern: |
api-version
|
query | True |
string |
The API version to use for this operation. |
Request Body
Name | Type | Description |
---|---|---|
identity |
The identity of the resource. |
|
location |
string |
Specifies the location of the resource. |
properties.allowPublicAccessWhenBehindVnet |
boolean |
The flag to indicate whether to allow public access when behind VNet. |
properties.applicationInsights |
string |
ARM id of the application insights associated with this workspace. |
properties.containerRegistry |
string |
ARM id of the container registry associated with this workspace. |
properties.description |
string |
The description of this workspace. |
properties.discoveryUrl |
string |
Url for the discovery service to identify regional endpoints for machine learning experimentation services |
properties.encryption |
The encryption settings of Azure ML workspace. |
|
properties.friendlyName |
string |
The friendly name for this workspace. This name in mutable |
properties.hbiWorkspace |
boolean |
The flag to signal HBI data in the workspace and reduce diagnostic data collected by the service |
properties.imageBuildCompute |
string |
The compute name for image build |
properties.keyVault |
string |
ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been created |
properties.primaryUserAssignedIdentity |
string |
The user assigned identity resource id that represents the workspace identity. |
properties.publicNetworkAccess |
Whether requests from Public Network are allowed. |
|
properties.serviceManagedResourcesSettings |
The service managed resource settings. |
|
properties.sharedPrivateLinkResources |
The list of shared private link resources in this workspace. |
|
properties.storageAccount |
string |
ARM id of the storage account associated with this workspace. This cannot be changed once the workspace has been created |
properties.v1LegacyMode |
boolean |
Enabling v1_legacy_mode may prevent you from using features provided by the v2 API. |
sku |
The sku of the workspace. |
|
tags |
object |
Contains resource tags defined as key/value pairs. |
Responses
Name | Type | Description |
---|---|---|
200 OK |
The request was successful; the request was well-formed and received properly. |
|
202 Accepted |
The request was successful; the request was well-formed and received properly. |
|
Other Status Codes |
Error response describing why the operation failed |
Security
azure_auth
Azure Active Directory OAuth2 Flow.
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Name | Description |
---|---|
user_impersonation | impersonate your user account |
Examples
Create Workspace
Sample Request
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace?api-version=2023-04-01
{
"location": "eastus2euap",
"identity": {
"type": "SystemAssigned,UserAssigned",
"userAssignedIdentities": {
"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testuai": {}
}
},
"properties": {
"friendlyName": "HelloName",
"description": "test description",
"containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry",
"keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv",
"applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights",
"storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount",
"encryption": {
"status": "Enabled",
"identity": {
"userAssignedIdentity": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testuai"
},
"keyVaultProperties": {
"keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv",
"keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb",
"identityClientId": ""
}
},
"hbiWorkspace": false,
"sharedPrivateLinkResources": [
{
"name": "testdbresource",
"properties": {
"privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql",
"groupId": "Sql",
"requestMessage": "Please approve",
"status": "Approved"
}
}
]
}
}
Sample Response
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace",
"name": "testworkspace",
"type": "Microsoft.MachineLearningServices/workspaces",
"location": "eastus2euap",
"identity": {
"principalId": "00000000-1111-2222-3333-444444444444",
"tenantId": "00000000-1111-2222-3333-444444444444",
"type": "SystemAssigned,UserAssigned",
"userAssignedIdentities": {
"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testuai": {
"principalId": "00000000-1111-2222-3333-444444444444",
"clientId": "00000000-1111-2222-3333-444444444444"
}
}
},
"properties": {
"containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry",
"keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv",
"applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights",
"storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount",
"discoveryUrl": "http://example.com",
"friendlyName": "HelloName",
"description": "test description",
"encryption": {
"status": "Enabled",
"identity": {
"userAssignedIdentity": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testuai"
},
"keyVaultProperties": {
"keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv",
"keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb",
"identityClientId": ""
}
},
"hbiWorkspace": false,
"allowPublicAccessWhenBehindVnet": false,
"publicNetworkAccess": "Disabled",
"sharedPrivateLinkResources": [
{
"name": "testdbresource",
"properties": {
"privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql",
"groupId": "Sql",
"requestMessage": "Please approve",
"status": "Approved"
}
}
]
}
}
Location: example_location
Definitions
Name | Description |
---|---|
Cosmos |
|
created |
The type of identity that created the resource. |
Encryption |
|
Encryption |
|
Encryption |
Indicates whether or not the encryption is enabled for the workspace. |
Error |
The resource management error additional info. |
Error |
The error detail. |
Error |
Error response |
Identity |
Identity that will be used to access key vault for encryption at rest |
Managed |
Managed service identity (system assigned and/or user assigned identities) |
Managed |
Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). |
Notebook |
|
Notebook |
|
Private |
The Private Endpoint resource. |
Private |
The Private Endpoint Connection resource. |
Private |
The current provisioning state. |
Private |
The private endpoint connection status. |
Private |
A collection of information about the state of the connection between service consumer and provider. |
Provisioning |
The current deployment state of workspace resource. The provisioningState is to indicate states for resource provisioning. |
Public |
Whether requests from Public Network are allowed. |
Service |
|
Shared |
|
Sku |
The resource model definition representing SKU |
Sku |
This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. |
system |
Metadata pertaining to creation and last modification of the resource. |
User |
User assigned identity properties |
Workspace |
An object that represents a machine learning workspace. |
CosmosDbSettings
Name | Type | Description |
---|---|---|
collectionsThroughput |
integer |
The throughput of the collections in cosmosdb database |
createdByType
The type of identity that created the resource.
Name | Type | Description |
---|---|---|
Application |
string |
|
Key |
string |
|
ManagedIdentity |
string |
|
User |
string |
EncryptionKeyVaultProperties
Name | Type | Description |
---|---|---|
identityClientId |
string |
For future use - The client id of the identity which will be used to access key vault. |
keyIdentifier |
string |
Key vault uri to access the encryption key. |
keyVaultArmId |
string |
The ArmId of the keyVault where the customer owned encryption key is present. |
EncryptionProperty
Name | Type | Description |
---|---|---|
identity |
The identity that will be used to access the key vault for encryption at rest. |
|
keyVaultProperties |
Customer Key vault properties. |
|
status |
Indicates whether or not the encryption is enabled for the workspace. |
EncryptionStatus
Indicates whether or not the encryption is enabled for the workspace.
Name | Type | Description |
---|---|---|
Disabled |
string |
|
Enabled |
string |
ErrorAdditionalInfo
The resource management error additional info.
Name | Type | Description |
---|---|---|
info |
object |
The additional info. |
type |
string |
The additional info type. |
ErrorDetail
The error detail.
Name | Type | Description |
---|---|---|
additionalInfo |
The error additional info. |
|
code |
string |
The error code. |
details |
The error details. |
|
message |
string |
The error message. |
target |
string |
The error target. |
ErrorResponse
Error response
Name | Type | Description |
---|---|---|
error |
The error object. |
IdentityForCmk
Identity that will be used to access key vault for encryption at rest
Name | Type | Description |
---|---|---|
userAssignedIdentity |
string |
The ArmId of the user assigned identity that will be used to access the customer managed key vault |
ManagedServiceIdentity
Managed service identity (system assigned and/or user assigned identities)
Name | Type | Description |
---|---|---|
principalId |
string |
The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. |
tenantId |
string |
The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. |
type |
Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). |
|
userAssignedIdentities |
<string,
User |
User-Assigned Identities |
ManagedServiceIdentityType
Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).
Name | Type | Description |
---|---|---|
None |
string |
|
SystemAssigned |
string |
|
SystemAssigned,UserAssigned |
string |
|
UserAssigned |
string |
NotebookPreparationError
Name | Type | Description |
---|---|---|
errorMessage |
string |
|
statusCode |
integer |
NotebookResourceInfo
Name | Type | Description |
---|---|---|
fqdn |
string |
|
notebookPreparationError |
The error that occurs when preparing notebook. |
|
resourceId |
string |
the data plane resourceId that used to initialize notebook component |
PrivateEndpoint
The Private Endpoint resource.
Name | Type | Description |
---|---|---|
id |
string |
The ARM identifier for Private Endpoint |
PrivateEndpointConnection
The Private Endpoint Connection resource.
Name | Type | Description |
---|---|---|
id |
string |
Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} |
identity |
The identity of the resource. |
|
location |
string |
Specifies the location of the resource. |
name |
string |
The name of the resource |
properties.privateEndpoint |
The resource of private end point. |
|
properties.privateLinkServiceConnectionState |
A collection of information about the state of the connection between service consumer and provider. |
|
properties.provisioningState |
The provisioning state of the private endpoint connection resource. |
|
sku |
The sku of the workspace. |
|
systemData |
Azure Resource Manager metadata containing createdBy and modifiedBy information. |
|
tags |
object |
Contains resource tags defined as key/value pairs. |
type |
string |
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" |
PrivateEndpointConnectionProvisioningState
The current provisioning state.
Name | Type | Description |
---|---|---|
Creating |
string |
|
Deleting |
string |
|
Failed |
string |
|
Succeeded |
string |
PrivateEndpointServiceConnectionStatus
The private endpoint connection status.
Name | Type | Description |
---|---|---|
Approved |
string |
|
Disconnected |
string |
|
Pending |
string |
|
Rejected |
string |
|
Timeout |
string |
PrivateLinkServiceConnectionState
A collection of information about the state of the connection between service consumer and provider.
Name | Type | Description |
---|---|---|
actionsRequired |
string |
A message indicating if changes on the service provider require any updates on the consumer. |
description |
string |
The reason for approval/rejection of the connection. |
status |
Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. |
ProvisioningState
The current deployment state of workspace resource. The provisioningState is to indicate states for resource provisioning.
Name | Type | Description |
---|---|---|
Canceled |
string |
|
Creating |
string |
|
Deleting |
string |
|
Failed |
string |
|
Succeeded |
string |
|
Unknown |
string |
|
Updating |
string |
PublicNetworkAccess
Whether requests from Public Network are allowed.
Name | Type | Description |
---|---|---|
Disabled |
string |
|
Enabled |
string |
ServiceManagedResourcesSettings
Name | Type | Description |
---|---|---|
cosmosDb |
The settings for the service managed cosmosdb account. |
SharedPrivateLinkResource
Name | Type | Description |
---|---|---|
name |
string |
Unique name of the private link. |
properties.groupId |
string |
The private link resource group id. |
properties.privateLinkResourceId |
string |
The resource id that private link links to. |
properties.requestMessage |
string |
Request message. |
properties.status |
Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. |
Sku
The resource model definition representing SKU
Name | Type | Description |
---|---|---|
capacity |
integer |
If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. |
family |
string |
If the service has different generations of hardware, for the same SKU, then that can be captured here. |
name |
string |
The name of the SKU. Ex - P3. It is typically a letter+number code |
size |
string |
The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. |
tier |
This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. |
SkuTier
This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT.
Name | Type | Description |
---|---|---|
Basic |
string |
|
Free |
string |
|
Premium |
string |
|
Standard |
string |
systemData
Metadata pertaining to creation and last modification of the resource.
Name | Type | Description |
---|---|---|
createdAt |
string |
The timestamp of resource creation (UTC). |
createdBy |
string |
The identity that created the resource. |
createdByType |
The type of identity that created the resource. |
|
lastModifiedAt |
string |
The timestamp of resource last modification (UTC) |
lastModifiedBy |
string |
The identity that last modified the resource. |
lastModifiedByType |
The type of identity that last modified the resource. |
UserAssignedIdentity
User assigned identity properties
Name | Type | Description |
---|---|---|
clientId |
string |
The client ID of the assigned identity. |
principalId |
string |
The principal ID of the assigned identity. |
Workspace
An object that represents a machine learning workspace.
Name | Type | Default Value | Description |
---|---|---|---|
id |
string |
Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} |
|
identity |
The identity of the resource. |
||
location |
string |
Specifies the location of the resource. |
|
name |
string |
The name of the resource |
|
properties.allowPublicAccessWhenBehindVnet |
boolean |
False |
The flag to indicate whether to allow public access when behind VNet. |
properties.applicationInsights |
string |
ARM id of the application insights associated with this workspace. |
|
properties.containerRegistry |
string |
ARM id of the container registry associated with this workspace. |
|
properties.description |
string |
The description of this workspace. |
|
properties.discoveryUrl |
string |
Url for the discovery service to identify regional endpoints for machine learning experimentation services |
|
properties.encryption |
The encryption settings of Azure ML workspace. |
||
properties.friendlyName |
string |
The friendly name for this workspace. This name in mutable |
|
properties.hbiWorkspace |
boolean |
False |
The flag to signal HBI data in the workspace and reduce diagnostic data collected by the service |
properties.imageBuildCompute |
string |
The compute name for image build |
|
properties.keyVault |
string |
ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been created |
|
properties.mlFlowTrackingUri |
string |
The URI associated with this workspace that machine learning flow must point at to set up tracking. |
|
properties.notebookInfo |
The notebook info of Azure ML workspace. |
||
properties.primaryUserAssignedIdentity |
string |
The user assigned identity resource id that represents the workspace identity. |
|
properties.privateEndpointConnections |
The list of private endpoint connections in the workspace. |
||
properties.privateLinkCount |
integer |
Count of private connections in the workspace |
|
properties.provisioningState |
The current deployment state of workspace resource. The provisioningState is to indicate states for resource provisioning. |
||
properties.publicNetworkAccess |
Whether requests from Public Network are allowed. |
||
properties.serviceManagedResourcesSettings |
The service managed resource settings. |
||
properties.serviceProvisionedResourceGroup |
string |
The name of the managed resource group created by workspace RP in customer subscription if the workspace is CMK workspace |
|
properties.sharedPrivateLinkResources |
The list of shared private link resources in this workspace. |
||
properties.storageAccount |
string |
ARM id of the storage account associated with this workspace. This cannot be changed once the workspace has been created |
|
properties.storageHnsEnabled |
boolean |
If the storage associated with the workspace has hierarchical namespace(HNS) enabled. |
|
properties.tenantId |
string |
The tenant id associated with this workspace. |
|
properties.v1LegacyMode |
boolean |
False |
Enabling v1_legacy_mode may prevent you from using features provided by the v2 API. |
properties.workspaceId |
string |
The immutable id associated with this workspace. |
|
sku |
The sku of the workspace. |
||
systemData |
Azure Resource Manager metadata containing createdBy and modifiedBy information. |
||
tags |
object |
Contains resource tags defined as key/value pairs. |
|
type |
string |
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" |