@lmazuel I noticed on S.O. you mentioned that one can use the client to provide the serializer and deserializer arguments for instantiating in the python sdk. Do you have any guidance or references on how to do that?
code:databricks_operations = WorkspacesOperations(client_obj.client)
Output:TypeError: __init__() missing 3 required positional arguments: 'config', 'serializer', and 'deserializer'
workspaces
is an instance of WorkspacesOperations
attached to the client
client.workspaces.create_or_update
workspaces
is an instance of WorkspacesOperations
that client.workspaces.create_or_update
(not found in online searches) is the same as azure.mgmt.databricks.operations.WorkspacesOperations.create_or_update
(found here: https://azuresdkdocs.blob.core.windows.net/$web/python/azure-mgmt-databricks/0.1.0/azure.mgmt.databricks.operations.html#azure.mgmt.databricks.operations.WorkspacesOperations). If so, these docs indicate that the first argument required for create_or_update
is parameters
. This parameters
argument is not clear to me. It appears to be an instance of azure.mgmt.databricks.models.workspace
. But that can't be since this method is actually where I create a workspace, no? Do you have any input on what to provide for parameters
? Thank you very much!
Workspace
instance, and provide it as parameter. https://azuresdkdocs.blob.core.windows.net/$web/python/azure-mgmt-databricks/0.1.0/azure.mgmt.databricks.models.html#azure.mgmt.databricks.models.WorkspaceWorkspaceParameters
. The two required parameters are location
and managed_resource_group_id
. For instance Workspace(location='westus', managed_resource_group_id='put your id')
@lmazuel I received an answer from Microsoft engineers, in case you're interested:
"...neither the Python SDK nor the REST API support the creation of Azure Databricks services / workspaces at this time.
You can create an Azure Databricks workspace by using an ARM template. This is a JSON file that defines the infrastructure and configuration for your project.
You can deploy resources with ARM templates and Resource Manager REST API https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/deploy-rest
You can also deploy an ARM template is by using one of the following options
o Install Azure PowerShell
o Install Azure CLI on Windows / Linux or macOS.
Documentation on these two options can be found here https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-tutorial-create-first-template?tabs=azure-powershell#command-line-deployment"
client.workspaces.create_or_update(
{
"managed_resource_group_id": "<subscritpion_id_to_replace>/resourceGroups/"+managedResourceGroupName,
"sku": {"name":"premium"},
"location":"westus"
},
resource_group_name,
workspace_name
).wait() # wait for completion
msrest.exceptions.SerializationError: Unable to build a model: Unable to deserialize to object: type, AttributeError: 'str' object has no attribute 'get', DeserializationError: Unable to deserialize to object: type, AttributeError: 'str' object has no attribute 'get'
Hi @tomarv2 , I'm not directly working on Mgmt anymore, but I looked at the SDK and indeed you need now to wrap the string with the type StorageAccountCheckNameAvailabilityParameters
:
availability = storage_client.storage_accounts.check_name_availability(StorageAccountCheckNameAvailabilityParameters("storage_account_name"))
If you found an incorrect sample, please create an issue on Github so I can tag the right team on it to fix it. https://github.com/Azure/azure-sdk-for-python/issues
Thanks!
api-operations
class. When I am using the create_or_update function then the SDK gives an error of Api not found
. Instead of creating a new API instance, the function is trying to update the value. Can anyone help me with this? sdk link: https://azuresdkdocs.blob.core.windows.net/$web/python/azure-mgmt-apimanagement/0.1.0/azure.mgmt.apimanagement.operations.html#azure.mgmt.apimanagement.operations.ApiOperations