Criar um workspace usando a API da conta

Observação

Essas instruções se aplicam a contas criadas antes de 8 de novembro de 2023. Se o seu Databricks account foi criado após 8 de novembro de 2023, consulte Create workspace API .

Este artigo ensina como criar um workspace usando a API Account. Você também pode criar workspaces usando o modelo do AWS Quick Start, o console da conta ou o Terraform.

O senhor deve usar o account API para criar o espaço de trabalho se quiser usar a chave gerenciar-cliente para o serviço gerenciado ou o AWS PrivateLink.

Antes de começar

  • Certifique-se de que o senhor tenha acesso ao ID da sua conta.

  • Determine se o workspace ativará os seguintes recursos:

    • Cliente-gerenciar VPC: Forneça seu próprio Amazon Virtual Public cloud (VPC) se o senhor quiser usar o AWS PrivateLink para qualquer tipo de conexão.

    • Chave gerenciada pelo cliente para criptografia:

      • Chave do cliente para gerenciar o serviço gerenciado no plano de controle: Fornecer a chave KMS para criptografar Notebook e dados secretos no plano de controle Databricks-gerenciar.

      • Chave gerenciadora de workspace clientes para o armazenamento: Forneça a KMS chave para criptografar o workspace S3 bucket de (workspace 's DBFS root, Job results e outros) e, opcionalmente, os cluster volumes EBS do nó .

    • AWS PrivateLink: AWS O PrivateLink fornece conectividade privada de AWS VPCs e on-premises redes para AWS serviço sem expor o tráfego à rede pública.

  • Determine as regiões a serem usadas para o plano workspace 'scompute (VPC). A região do plano de controle é determinada pela região do plano compute.

    workspace compute As VPCs planas podem estar em AWS regiões ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-west-1, eu-west-2, eu-central-1, us-east-1, us-east-2, us-west-1 e us-west-2. No entanto, o senhor não pode usar VPC em us-west-1 se quiser usar a chave gerenciar-cliente para criptografia.

Como usar a API da conta

Para se autenticar no site account API, o senhor pode usar Databricks OAuth para entidade de serviço, Databricks OAuth para usuários ou um Databricks account nome de usuário e senha de administrador. Databricks Recomendamos enfaticamente que o senhor use o site Databricks OAuth para usuários ou entidades de serviço. Uma entidade de serviço é uma identidade que o senhor cria em Databricks para uso com ferramentas, trabalhos e aplicativos automatizados. Consulte a autenticação OAuth máquina a máquina (M2M).

Use os exemplos a seguir para se autenticar em um site Databricks account. O senhor pode usar OAuth para entidade de serviço, OAuth para usuários ou o nome de usuário e a senha de um usuário (legado). Para saber mais, consulte:

Para exemplos de autenticação, escolha uma das seguintes opções:

  1. Instale o site Databricks CLI versão 0.205 ou acima. Consulte Instalar ou atualizar a CLI da Databricks.

  2. Complete os passos para configurar a autenticação OAuth M2M para a entidade de serviço no site account. Consulte a autenticação OAuth máquina a máquina (M2M).

  3. Identifique ou crie manualmente um perfil de configuração do Databricks em seu arquivo .databrickscfg, com os campos do perfil definidos corretamente para os mapeamentos host, account_id, client_id e client_secret relacionados à entidade de serviço. Consulte a autenticação OAuth máquina a máquina (M2M).

  4. Execute o comando Databricks CLI de destino, onde <profile-name> representa o nome do perfil de configuração no arquivo .databrickscfg:

    databricks account <command-name> <subcommand-name> -p <profile-name>
    

    Por exemplo, para listar todos os usuários na conta:

    databricks account users list -p MY-AWS-ACCOUNT
    
    • Para obter uma lista de comandos de conta disponíveis, execute o comando databricks account -h.

    • Para obter uma lista de subcomandos disponíveis para um comando de conta, execute o comando databricks account <command-name> -h.

  1. Instale o site Databricks CLI versão 0.205 ou acima. Consulte Instalar ou atualizar a CLI da Databricks.

  2. Complete os passos a seguir para configurar a autenticação OAuth U2M para os usuários no site account. Consulte a autenticação OAuth de usuário para máquina (U2M).

  3. Inicie o processo de autenticação do usuário executando o seguinte comando Databricks CLI:

    databricks auth login --host <account-console-url> --account-id <account-id>
    

    Por exemplo:

    databricks auth login --host https://accounts.cloud.databricks.com --account-id 00000000-0000-0000-0000-000000000000
    

    Observação

    Se o senhor tiver um perfil de configuração do Databricks existente com os campos host e account_id já definidos, poderá substituir --host <account-console-url> --account-id <account-id> por --profile <profile-name>.

  4. Siga as instruções na tela para que a CLI do Databricks crie automaticamente o perfil de configuração do Databricks relacionado em seu arquivo .databrickscfg.

  5. Continue seguindo as instruções que aparecem na tela para acessar a sua conta Databricks através do seu navegador da web.

  6. Execute o comando Databricks CLI de destino, onde <profile-name> representa o nome do perfil de configuração no arquivo .databrickscfg:

    databricks account <command-name> <subcommand-name> -p <profile-name>
    

    Por exemplo, para listar todos os usuários na conta:

    databricks account users list -p ACCOUNT-00000000-0000-0000-0000-000000000000
    
    • Para obter uma lista de comandos de conta disponíveis, execute o comando databricks account -h.

    • Para obter uma lista de subcomandos disponíveis para um comando de conta, execute o comando databricks account <command-name> -h.

  1. Instale o site Databricks CLI versão 0.205 ou acima. Consulte Instalar ou atualizar a CLI da Databricks.

  2. Identifique ou crie manualmente um perfil de configuração Databricks em seu arquivo .databrickscfg, com os campos do perfil definidos corretamente para o mapeamento host, account_id, username e password relacionados ao seu usuário Databricks account. Consulte Autenticação básica (legado).

  3. Execute o comando Databricks CLI de destino, onde <profile-name> representa o nome do perfil de configuração no arquivo .databrickscfg:

    databricks account <command-name> <subcommand-name> -p <profile-name>
    

    Por exemplo, para listar todos os usuários na conta:

    databricks account users list -p MY-AWS-ACCOUNT
    
    • Para obter uma lista de comandos de conta disponíveis, execute o comando databricks account -h.

    • Para obter uma lista de subcomandos disponíveis para um comando de conta, execute o comando databricks account <command-name> -h.

Passo 1: configurar autenticação de conta cruzada

Os Databricks precisam ter acesso a uma função de IAM de serviço entre contas em sua conta AWS para que os Databricks possam implementar clusters no VPC apropriado para o novo workspace.

  1. Se esse papel ainda não existir, consulte Criar um papel IAM para implantação do workspace para criar um papel e política apropriados para seu tipo de implantação. Você fornece o ARN para sua nova função (o role_arn) posteriormente neste procedimento.

    Observação

    Você pode compartilhar uma IAM role entre contas com vários workspace. Você não é obrigado a criar uma nova IAM role entre contas para cada workspace. Se você já tiver uma IAM role entre contas, pode pular esta passo.

  2. Crie um ID de configuração de credenciais do Databricks para sua função do AWS. Chame a API Create credential configuration (POST /accounts/<databricks-account-id>/credentials). Essa solicitação estabelece a confiança entreaccount e retorna um ID de referência a ser usado quando o senhor criar um novo workspace.

    Observação

    Você pode compartilhar um ID de configuração de credenciais com vários workspace. Não é necessário criar um novo para cada workspace. Se você já tiver um, pode pular esta etapa.

    Substitua <databricks-account-id> pelo seu Databricks account ID. Para autenticação, consulte Como usar a API da conta. No corpo da solicitação:

    • Configure o credentials_name para um nome para estas credenciais. O nome deve ser exclusivo em sua conta.

    • aws_credentials Defina como um objeto que contém uma sts_role propriedade. Esse objeto deve conter uma role_arn propriedade que especifique o ARN da função da AWS para a função que você criou.

    O corpo da resposta incluirá um campo credentials_id, que é a ID de configuração de credenciais do Databricks que você precisa para criar o novo workspace. Copie e salve esse valor, que você usará em uma passo posterior para criar o workspace.

    Por exemplo:

     curl -X POST
       'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/credentials' \
      --header 'Authorization: Bearer $OAUTH_TOKEN'  \
       -d '{
       "credentials_name": "databricks-workspace-credentials-v1",
       "aws_credentials": {
         "sts_role": {
           "role_arn": "arn:aws:iam::<aws-account-id>:role/my-company-example-role"
         }
       }
     }'
    

    Resposta de exemplo:

     {
       "credentials_id": "<databricks-credentials-id>",
       "account_id": "<databricks-account-id>",
       "aws_credentials": {
         "sts_role": {
           "role_arn": "arn:aws:iam::<aws-account-id>:role/my-company-example-role",
           "external_id": "<databricks-account-id>"
         }
       },
       "credentials_name": "databricks-workspace-credentials-v1",
       "creation_time": 1579753556257
     }
    

    Copie o campo credentials_id da resposta para uso posterior.

Etapa 2: Configurar o armazenamento raiz

O bucket de armazenamento raiz S3 em sua conta guarda objetos como logs de clusters, revisões de notebooks e resultados de trabalhos.Você também pode usar o bucket de armazenamento raiz S3 para armazenar dados que não sejam de produção, como os dados necessários para testes.

Observação

Você pode compartilhar um bucket raiz do S3 com vários workspace em uma única account. Você não precisa criar novos depósitos para cada workspace. Se você compartilhar um bucket raiz S3 para vários workspaces em uma conta, os dados no bucket raiz S3 serão particionados em diretórios separados por workspace. Se você já tiver um bucket e um ID de configuração de armazenamento associado gerado pela API da account , poderá pular esta passo. No entanto, não reutilize um bucket do workspace legacy. Por exemplo, se você estiver migrando para o E2, crie um novo bucket da AWS para sua configuração do E2.

  1. Crie o contêiner raiz S3 utilizando as instruções em Criar um contêiner S3 para implementação do workspace.

  2. Crie um registro de configuração de armazenamento que represente o bucket S3 raiz. Especifique o nome do seu bucket S3 raiz chamando a API de configuração de armazenamento de criação (POST /accounts/<account-id>/storage-configurations).

    O pedido retorna uma ID de configuração de armazenamento que representa o seu bucket S3.

    Passe o seguinte:

    • storage_configuration_name: Novo nome de configuração de armazenamento exclusivo.

    • root_bucket_info: Um objeto JSON que contém um campo bucket_name que contém seu nome do bucket S3.

    O corpo da resposta inclui uma propriedade storage_configuration_id , que é o ID de configuração de armazenamento do bloco. Copie esse valor para uso posterior.

    Por exemplo:

    curl -X POST
        'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/storage-configurations' \
      --header 'Authorization: Bearer $OAUTH_TOKEN'  \
      -d '{
        "storage_configuration_name": "databricks-workspace-storageconf-v1",
        "root_bucket_info": {
          "bucket_name": "my-company-example-bucket"
        }
      }'
    

    Resposta:

    {
      "storage_configuration_id": "<databricks-storage-config-id>",
      "account_id": "<databricks-account-id>",
      "root_bucket_info": {
        "bucket_name": "my-company-example-bucket"
      },
      "storage_configuration_name": "databricks-workspace-storageconf-v1",
      "creation_time": 1579754875555
    }
    

Etapa 5: configurar chaves gerenciadas pelo cliente (opcional)

Importante

  • Este recurso exige que sua conta esteja no nível de preço Enterprise.

  • workspace compute As VPCs planas podem estar em AWS regiões ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-west-1, eu-west-2, eu-central-1, us-east-1, us-east-2, us-west-1 e us-west-2. No entanto, o senhor não pode usar VPC em us-west-1 se quiser usar a chave gerenciar-cliente para criptografia.

Há dois casos de uso para a chave de criptografia gerenciada pelo cliente:

  • Criptografar o serviço gerenciado, que inclui Notebook e dados secretos no plano de controle.

  • Criptografar o armazenamento do workspace, que inclui o bucket S3 raiz do workspace e, opcionalmente, os volumes EBS do cluster.

Você pode optar por não configurar nenhum, um ou ambos. Se você optar por implementar criptografia para ambos os casos de uso, é possível compartilhar opcionalmente uma chave e, até mesmo, opcionalmente, o mesmo objeto de configuração para esses casos de uso.

Para ambos os casos de uso, o senhor pode configurá-lo durante a criação do workspace ou adicionar o key a um workspace em execução. Para um cliente gerenciar key para serviço gerenciado, o senhor pode girar (atualizar) o key posteriormente. Para um cliente gerenciar key para armazenamento, o senhor não pode girar o key posteriormente.

Você pode compartilhar uma chave gerenciada pelo cliente ou seu objeto de configuração de chave entre workspaces. Ao criar um novo workspace, uma configuração de chave pode representar ambos os casos de uso de criptografia, definindo seu campo use_cases para incluir ambos os valores de enumeração.

Observação

Para adicionar um armazenamento workspace key a um workspace existente que já usa a criptografia Notebook, o senhor deve criar um novo objeto de configuração key para o armazenamento workspace. Consulte Configurar chave gerenciadora de clientes para criptografia.

Para implementar um caso de uso de criptografia ou ambos os casos de uso de criptografia com a mesma chave, execute o procedimento a seguir exatamente uma vez. Para adicionar criptografia para ambos os casos de uso de criptografia com chaves diferentes, execute o procedimento duas vezes, uma para cada caso de uso.

  1. Crie o site AWS KMS key. Siga as instruções em qualquer uma das seções a seguir, que diferem apenas no campo de descrição legível por humanos (sid) na política para identificar o caso de uso. Veja o passo 1: Criar ou selecionar um key em AWS KMS . Para compartilhar o key e a configuração de ambos os casos de uso, atualize o campo sid de acordo.

  2. Para registrar seu KMS key com Databricks, chame a configuração create customer-gerenciar key API (POST /accounts/<account-id>/customer-managed-keys).

    Passe os seguintes parâmetros:

    • use_cases — Uma matriz que especifica os casos de uso para os quais utilizar a chave, especifique um ou ambos os seguintes:

      • MANAGED_SERVICES: Este key criptografa o serviço gerenciado no plano de controle, que inclui Notebook e dados secretos no plano de controle.

      • STORAGE: Este key criptografa workspace o armazenamento , que inclui os workspace DBFS root cluster volumes EBS e do .

    • aws_key_info: Um objeto JSON com as seguintes propriedades:

      • key_arn: Chave ARN do AWS KMS. Observe que o Databricks infere a região da AWS a partir da chave ARN.

      • key_alias: (Opcional) pseudônimo da chave AWS KMS.

      • reuse_key_for_cluster_volumes: (Opcional) Usado somente se a matriz use_cases contiver STORAGE, especifica se a chave também deve ser usada para criptografar volumes EBS do cluster. O valor padrão é true, o que significa que o Databricks também usa a chave para volumes de cluster. Se você definir isso como false, o Databricks não criptografará os volumes EBS com a chave especificada. Nesse caso, seus volumes EBS do Databricks são criptografados com a criptografia SSE padrão da AWS ou se você habilitou a criptografia EBS no nível da conta da AWS por padrão, a AWS impõe a criptografia EBS no nível da conta usando uma chave separada que você forneceu a eles. Observe que se reuse_key_for_cluster_volumes for true e você revogar a permissão da chave, isso não afetará os clusters em execução, mas afetará os clusters novos e reiniciados.

    Exemplo de solicitação:

    curl -X POST
      'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/customer-managed-keys' \
      --header 'Authorization: Bearer $OAUTH_TOKEN'  \
      -d '{
      "use_cases": ["MANAGED_SERVICES", "STORAGE"],
      "aws_key_info": {
        "key_arn": "arn:aws:kms:us-west-2:<aws-account-id>:key/<key-id>",
        "key_alias": "my-example-key",
        "reuse_key_for_cluster_volumes": true
      }
    }'
    

    Resposta de exemplo:

    {
      "use_cases": ["MANAGED_SERVICES", "STORAGE"],
      "customer_managed_key_id": "<aws-kms-key-id>",
      "creation_time": 1586447506984,
      "account_id": "<databricks-account-id>",
      "aws_key_info": {
          "key_arn": "arn:aws:kms:us-west-2:<aws-account-id>:key/<key-id>",
          "key_alias": "my-example-key",
          "reuse_key_for_cluster_volumes": true,
          "key_region": "us-west-2"
      }
    }
    
  3. No JSON de resposta, copie o customer_managed_key_id. Você usa esse ID na próxima passo para definir a propriedade managed_services_customer_managed_key_id, storage_customer_managed_key_id ou ambas do objeto de configuração workspace, dependendo de quais casos de uso de criptografia esse objeto representa.

Etapa 6: criar o workspace

Para criar o novo workspace, chame o comando create workspace API (POST /accounts/<account-id>/workspaces).

Passe os seguintes parâmetros, que são valores que você copiou nas etapas anteriores:

  • aws_region: A região AWS do plano workspace's compute.

  • workspace_nameNome legível por humanos para seu workspace. Este é o nome do workspace que os usuários veem na interface do usuário do Databricks.

  • deployment_name(Recomendado, mas opcional) Nome de implantação exclusivo para seu workspace. Para obter detalhes, consulte as observações sobre o nome da implantação.

  • credentials_id: sua ID de credencial, que representa suas credenciais de função de conta cruzada. Este é o ID do objeto de configuração de credenciais.

  • storage_configuration_id: seu ID de configuração de armazenamento, que representa seu bucket raiz S3. Esta é a ID do objeto de configuração de armazenamento.

  • network_id: (Opcional) usado apenas para VPC gerenciado pelo cliente. Esta é a ID do objeto de configuração de rede.

  • managed_services_customer_managed_key_id(Opcional) Usado apenas para criptografar o serviço gerenciado, como Notebook e dados secretos no plano de controle. Consulte a chave Customer-gerenciar para serviço gerenciado. Esse é seu ID de configuração key para o armazenamento workspace, que é o campo customer_managed_key_id de um objeto de configuração key. Se o senhor quiser oferecer suporte a esse caso de uso de criptografia, deverá configurá-lo no momento da criação do site workspace.

  • storage_customer_managed_key_id(Opcional) Usado somente para criptografar o armazenamento workspace. Esse é seu ID de configuração key para o armazenamento workspace, que é o campo customer_managed_key_id do objeto de configuração key. Se quiser oferecer suporte a esse caso de uso de criptografia, o senhor pode configurá-lo no momento da criação do site workspace, mas também pode adicioná-lo posteriormente a um site em execução workspace.

  • private_access_settings_id(Opcional) Usado apenas para o AWS PrivateLink. Este é o ID do objeto de configurações de acesso privado que o senhor criou para este workspace. Consulte Criar uma configuração de configurações de acesso privado usando account APInos artigos do PrivateLink. Esse é um campo obrigatório para o acesso ao PrivateLink para todos os tipos de conexão (front-end, back-end ou ambos).

  • custom_tags: (Opcional) Pares key-value que atuam como metadados para organizar recursos. As tags podem ajudar a gerenciar, identificar, organizar, pesquisar e filtrar recursos, além de monitorar o custo e o uso de atributos.

Observações sobre o nome da implantação:

  • Escolha seu valor deployment_name com cuidado. O nome da implementação define parte do subdomínio do workspace. A URL do workspace para aplicativo da web e REST APIs é <deployment-name>.cloud.databricks.com. Por exemplo, se o nome da implementação for ABCSales, a URL da suo workspace será https://abcsales.cloud.databricks.com. Esta propriedade suporta caracteres a-z e 0-9. Hifens também são permitidos, mas não como o primeiro ou último caractere.

  • pode ter um prefixo de nome de implementação. Entre em contato com a equipe Databricks account para adicionar um prefixo de nome de implantação account ao seu account. Se o seu account tiver um prefixo de nome de implantação não vazio no momento da criação do workspace, o nome de implantação workspace será atualizado de modo a começar com o prefixo account e um hífen. Por exemplo, se o prefixo de implantação do site accountfor acme e o nome de implantação do site workspace for workspace-1, o campo deployment_name se tornará acme-workspace-1. Neste exemplo, o URL workspace é acme-workspace-1.cloud.databricks.com.

  • Após essa modificação com o prefixo da conta, o novo valor é o que é retornado nas respostas JSON para o campo deployment_name deste workspace.

  • Se a sua conta tiver um prefixo de nome de implementação não vazio e você definir deployment_name para a palavra-chave reservada EMPTY, deployment_name será o prefixo da conta somente. Por exemplo, se o prefixo de implementação da sua conta for acme e o nome de implementação do área de trabalho for EMPTY, o deployment_name se tornará acme somente, e a URL do workspace for acme.cloud.databricks.com. Se a sua conta ainda não tiver um prefixo de nome de implementação, o valor de nome de implementação especial EMPTY será inválido.

A resposta JSON inclui a propriedade workspace_id. Copie este valor para uso posterior.

Por exemplo:

curl -X POST
  'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/workspaces' \
  --header 'Authorization: Bearer $OAUTH_TOKEN'  \
  -d '{
  "workspace_name": "my-company-example",
  "deployment_name": "my-company-example",
  "aws_region": "us-west-2",
  "credentials_id": "<aws-credentials-id>",
  "storage_configuration_id": "<databricks-storage-config-id>",
  "network_id": "<databricks-network-id>",
  "managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>",
  "storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-id>",
  "private_access_settings_id": "<private-access-settings-id>",
  "custom_tags": {
    "Organization": "Marketing",
    "Env": "Prod"
  }
}'

Resposta de exemplo:

{
  "workspace_id": 123456789,
  "workspace_name": "my-company-example",
  "aws_region": "us-west-2",
  "creation_time": 1579768294842,
  "deployment_name": "my-company-example",
  "workspace_status": "PROVISIONING",
  "account_id": "<databricks-account-id>",
  "credentials_id": "<aws-credentials-id>",
  "storage_configuration_id": "<databricks-storage-config-id>",
  "workspace_status_message": "Workspace resources are being set up.",
  "network_id": "<databricks-network-id>",
  "managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>",
  "storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-id>",
  "private_access_settings_id": "<private-access-settings-id>",
  "pricing_tier": "ENTERPRISE",
  "custom_tags": {
    "Organization": "Marketing",
    "Env": "Prod"
  }
}
{
  "workspace_id": 123456789,
  "workspace_name": "my-company-example",
  "aws_region": "us-west-2",
  "creation_time": 1579768294842,
  "deployment_name": "my-company-example",
  "workspace_status": "PROVISIONING",
  "account_id": "<databricks-account-id>",
  "credentials_id": "<aws-credentials-id>",
  "storage_configuration_id": "<databricks-storage-config-id>",
  "workspace_status_message": "Workspace resources are being set up.",
  "network_id": "<databricks-network-id>",
  "managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>",
  "storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-id>",
  "private_access_settings_id": "<private-access-settings-id>",
  "pricing_tier": "ENTERPRISE"
}

Se o senhor especificou um cliente-gerenciar VPC e a criação workspace o passo retornar um erro relacionado à rede, poderá chamar a configuração de rede get API (endpoint /networks/<network-id>) para validar as configurações de rede. Consulte Solução de problemas em workspace erros de criação.

o passo 7: Confirmar o novo workspace

Para verificar o status de workspace, chame o comando get workspace API (GET /accounts/<account-id>/workspaces/<workspace-id>).

Utilize o valor workspace_id da resposta JSON retornada quando você criou o workspace.

Na resposta, os valores workspace_status possíveis são:

  • NOT_PROVISIONED: Ainda não provisionado.

  • PROVISIONING: Ainda em provisionamento. Aguarde alguns minutos e repita essa solicitação de API.

  • RUNNING: implementação bem-sucedida e agora em execução.

  • FAILED: Falha na implementação.

  • BANNED: Banido.

  • CANCELLING: Em processo de cancelamento.

Consulte Solução de problemas workspace creation errors para saber como lidar com valores de status malsucedidos.

Por exemplo:

curl -X GET
'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/workspaces/<databricks-workspace-id>' \
  --header 'Authorization: Bearer $OAUTH_TOKEN'

Resposta:

{
  "workspace_id": 123456789,
  "workspace_name": "my-company-example",
  "aws_region": "us-west-2",
  "creation_time": 1579768294842,
  "deployment_name": "my-company-example",
  "workspace_status": "RUNNING",
  "account_id": "<databricks-account-id>",
  "credentials_id": "<aws-credentials-id>",
  "storage_configuration_id": "<databricks-storage-config-id>",
  "workspace_status_message": "Workspace is running.",
  "network_id": "339f16b9-b8a3-4d50-9d1b-7e29e49448c3",
  "managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>",
  "storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-id>",
  "pricing_tier": "ENTERPRISE"
}

Neste exemplo, o status do workspace (workspace_status) é definido como RUNNING, portanto, foi bem-sucedido. Se estiver PROVISIONING, repita essa solicitação de API até que ela seja bem-sucedida.

O nível de preços é padronizado com o plano associado à sua conta. Consulte Níveis da plataforma AWS.

Teste seu novo workspace depois que seu status for RUNNING:

  • Login da interface do usuário no novo workspace — Confirme que você pode fazer login no aplicativo da web na URL https://<deployment-name>.cloud.databricks.com. Por exemplo, se o nome de implementação especificado durante a criação do workspace for ABCSales, a URL do seu workspace será https://abcsales.cloud.databricks.com. Use o nome de usuário e a senha da sua conta.

  • Login API REST no novo workspace — Confirme se você consegue acessar a API REST. O exemplo a seguir chama a API de usuários do workspace para obter uma lista de usuários.

    curl  -u <user-name> -X GET 'https://<deployment-name>.cloud.databricks.com/api/2.0/scim/v2/Users' \
    --header 'Authorization: Bearer $OAUTH_TOKEN'
    

    Para obter mais informações sobre o uso do Databricks REST APIs, incluindo outras opções de autenticação, consulte o workspace API.

Etapa 8: Configuração do PrivateLink pós-implementação (opcional)

Essa etapa é necessária somente se você estiver configurando o AWS PrivateLink.

Após a criação do workspace:

  1. Se estiver implementando uma conexão PrivateLink de front-end, implemente as alterações relevantes na configuração do DNS, conforme descrito no passo 4: Configurar o DNS interno para redirecionar as solicitações dos usuários para o aplicativo Web (para front-end).

  2. Opcionalmente, crie outro endpoint VPC, conforme descrito no passo 6: Adicionar endpoint VPC para outro serviço AWS .

Etapa 9: Outras configurações opcionais pós-implementação

Você pode considerar estas etapas de configuração opcionais para seu novo workspace.

Habilitar listas de acesso IP

Configure quais endereços IP podem se conectar ao aplicativo da Web, REST APIs, ao endpoint JDBC/ODBC e ao DBConnect. O senhor pode especificar listas de permissão e listas de bloqueio como endereços IP ou intervalos. Consulte Configurar listas de acesso IP para espaços de trabalho.

Ativar a tabela do sistema de registro de auditoria

A Databricks recomenda enfaticamente que o senhor ative a tabela do sistema de log de auditoria para monitorar as atividades realizadas e o uso incorrido pelos usuários da Databricks. Seu workspace deve ter o Unity Catalog ativado. Consulte Monitorar o uso com tabelas do sistema para obter instruções.

Solucionar erros de criação do workspace

As seções a seguir fornecem soluções para erros comuns de criação de workspaces.

O número máximo de endereços foi atingido

Quando o Databricks cria um VPC em seu nome, você deve ter pelo menos um IP elástico não utilizado. Caso contrário, o VPC não será criada e ocorrerá o seguinte erro:

The maximum number of addresses has been reached.

Aumente o número de IPs elásticos e tente novamente.

Etapas gerais de solução de problemas

Para todos os erros de criação workspace, tente as seguintes etapas de solução de problemas na ordem fornecida.

Validar a rede

Se a criação workspace ou as passos de verificação de status indicarem um erro relacionado à rede, chame a API obter configuração de rede para garantir que as configurações de rede estejam corretas. Este endpoint da API tem o formato:

/accounts/<databricks-account-id>/networks/<databricks-network-id>

Por exemplo:

  curl -X GET
  'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/networks/<databricks-network-id>' \
  --header 'Authorization: Bearer $OAUTH_TOKEN'

Na resposta, visualize os warning_messages error_messages campos. Se as duas matrizes estiverem vazias, não haverá avisos ou erros.

Caso contrário, reveja cuidadosamente os avisos e os objetos JSON de erro:

  • Para avisos, a enumeração warning_type indica que o problema era com uma sub-rede ou grupo de segurança. O(A) warning_message fornece detalhes adicionais. Esteja ciente de que, se você tiver uma instância de NAT ou firewall (em vez de um gateway NAT), a validação de rede sempre emitirá um aviso.

  • Para erros, a enumeração error_type indica que o problema ocorreu com credenciais, VPC, sub-rede, grupo de segurança ou ACL de rede. O error_message fornece detalhes adicionais.

Corrigir problemas de infraestrutura

Dependendo dos erros na resposta à solicitação da API Get Network Configuration API, confirme se o senhor está certo:

Atualizar o workspace com falha

Para atualizar o site workspace que falhou, chame a atualização workspace e reimplante API (PATCH /accounts/<account-id>/workspaces/<workspace-id>).

A API de atualização do workspace permite atualizações nas configurações do workspace que falharam durante a criação do workspace, somente para alterar as configurações de credenciais, armazenamento, rede (para VPC gerenciado pelo cliente) e chaves (para criptografar notebooks).

Observação

Você pode usar a mesma API para atualizar um workspace em execução (implantado com sucesso), mas só pode alterar as configurações de credencial e de rede.

Você pode passar esses campos de configuração do workspace para alterá-los: credentials_id, storage_configuration_id, network_id, managed_services_customer_managed_key_id e storage_customer_managed_key_id.

Se o valor workspace_status retornar PROVISIONING, continue verificando o estado RUNNING usando a API get workspace.

Por exemplo:

  curl -X PATCH 'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/workspaces/<databricks-workspace-id>' \
  --header 'Authorization: Bearer $OAUTH_TOKEN'  \
  -d '{
  "aws_region": "us-west-2",
  "credentials_id": "<aws-credentials-id>",
  "storage_configuration_id": "<databricks-storage-config-id>",
  "network_id": "<databricks-network-id>",
  "managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>",
  "storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-id>"
}'

Resposta:

{
  "workspace_id": 123456789,
  "workspace_name": "my-company-example",
  "aws_region": "us-west-2",
  "creation_time": 1579768294842,
  "deployment_name": "my-company-example",
  "workspace_status": "PROVISIONING",
  "account_id": "<databricks-account-id>",
  "credentials_id": "<aws-credentials-id>",
  "storage_configuration_id": "<databricks-storage-config-id>",
  "workspace_status_message": "Workspace resources are being set up.",
  "network_id": "<databricks-network-id>",
  "managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>",
  "storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-id>",
  "pricing_tier": "ENTERPRISE"
}

Se a atualização do workspace falhar, recrie a rede e o workspace

Se a API de atualização do workspace não funcionar, você deve excluir e recriar a rede (se tiver fornecido sua própria VPC) e o workspace com falha na seguinte ordem.

  1. Exclua o site workspace usando a opção delete workspace API (DELETE /accounts/<account-id>/workspaces/<workspace-id>).

    Por exemplo:

    curl -X DELETE
    'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/workspaces/<databricks-workspace-id>' \
     --header 'Authorization: Bearer $OAUTH_TOKEN'
    
  2. Se o senhor forneceu seu próprio VPC, exclua a configuração de rede do Databricks usando a API de exclusão de configuração de rede (DELETE /accounts/<account-id>/networks/<network-id>).

    Por exemplo:

    curl -X DELETE
    'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/networks/<databricks-network-id>'
     --header 'Authorization: Bearer $OAUTH_TOKEN'
    
  3. Recrie a rede usando os valores corretos para vpc_id, subnet_ids e security_group_ids.

  4. Recrie o espaço de trabalho usando os valores corretos para credentials_id, storage_configuration_id, network_id, managed_services_customer_managed_key_id e storage_customer_managed_key_id.

    Se o senhor obtiver o valor workspace_status PROVISIONING, continue verificando o estado RUNNING usando a API get workspace.