Pular para o conteúdo principal

Criar um workspace usando a conta API

Esta página explica como usar o espaço de trabalho APIs para implantar um novo workspace em seu Databricks account.

Objetos de configuração necessários

Para criar um Databricks workspace, o senhor deve fazer referência aos dois objetos de configuração a seguir. O senhor pode usar as configurações existentes em seu site account ou criar novas configurações, se necessário.

Objetos de configuração adicionais

Se quiser usar qualquer um dos recursos a seguir, o senhor deverá fazer referência a objetos de configuração específicos ao implantar o workspace:

Criar referência ao parâmetro workspace

Aqui está um exemplo do comandoCLI que cria um novo workspace:

Bash
databricks account workspaces create --json '{
"aws_region": "us-west-2",
"workspace_name": "string",
"deployment_name": "workspace-1",
"pricing_tier": "PREMIUM",
"storage_configuration_id": "b43a6064-04c1-4e1c-88b6-d91e5b136b13",
"credentials_id": "ccc64f28-ebdc-4c89-add9-5dcb6d7727d8",
"network_id": "fd0cc5bc-683c-47e9-b15e-144d7744a496",
"private_access_settings_id": "3b3bbcb5-46bd-4b03-944e-97eb44ed7991",
"managed_services_customer_managed_key_id": "849b3d6b-e68e-468d-b3e5-deb08b03c56d",
"storage_customer_managed_key_id": "14138d0f-a575-4ae2-be71-ddfd0b602286",
"custom_tags": {
"property1": "string",
"property2": "string"
}
}'

Parâmetros padrão

  • aws_region: A região AWS do plano workspace's compute. Consulte as nuvens e regiões da Databricks.
  • 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 o espaço de trabalho API reference.
  • custom_tagsValor-chave par que funciona como metadados para organizar o recurso. As tags podem ajudar a gerenciar, identificar, organizar, pesquisar e filtrar recursos, além de monitorar o custo e o uso de atributos.
  • pricing_tier: A camada de preços do site workspace. PREMIUM, ENTERPRISE ou COMMUNITY_EDITION
  • storage_configuration_id: Seu ID de configuração de armazenamento, que representa seu bucket S3 raiz. Use uma configuração existente ou crie uma nova configuração de armazenamento.
  • credentials_id: Seu ID de configuração de credencial. Use uma configuração existente ou crie uma nova configuração de credencial.

Configurações avançadas

Use os seguintes parâmetros opcionais para configurar os recursos de rede e segurança em seu workspace:

  • network_id: O ID de configuração da rede. Necessário ao implantar o workspace em um cliente-gerenciar VPC. Consulte Criar configurações de rede para implantação de VPC personalizada.
  • private_access_settings_id: A ID do objeto de configurações de acesso privado usado para ativar o AWS PrivateLink. Consulte gerenciar configurações de acesso privado. Necessário para acesso ao PrivateLink para todos os tipos de conexão (front-end, back-end ou ambos). Deve ser configurado quando o senhor implantar o workspace.
  • managed_services_customer_managed_key_id: O ID de configuração key para o serviço gerenciado, que é o campo customer_managed_key_id de um objeto de configuração key. Usado para criptografar o serviço gerenciado, como Notebook e dados secretos no plano de controle. Se o senhor estiver criptografando o armazenamento do serviço gerenciado e do workspace, use o mesmo ID no campo storage_customer_managed_key_id. Deve ser configurado quando o senhor implantar o workspace. Veja a chave Customer-gerenciar para serviço gerenciado.
  • storage_customer_managed_key_id: O ID de configuração key para o armazenamento workspace, que é o campo customer_managed_key_id do objeto de configuração key. Se o senhor estiver criptografando o armazenamento do serviço gerenciado e do workspace, use o mesmo ID no campo managed_services_customer_managed_key_id. Usado somente para criptografar o armazenamento workspace. Deve ser configurado quando o senhor implantar o workspace. Consulte Chave de gerenciamento de clientes para workspace storage.

Criar a resposta workspace

Depois de chamar a API create workspace, o senhor receberá uma resposta semelhante à seguinte:

JSON
{
"account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
"aws_region": "string",
"creation_time": 0,
"credentials_id": "c7814269-df58-4ca3-85e9-f6672ef43d77",
"custom_tags": {
"property1": "string",
"property2": "string"
},
"deployment_name": "string",
"managed_services_customer_managed_key_id": "faacdc79-6530-4583-a154-5d427a663e53",
"network_id": "d6797cf4-42b9-4cad-8591-9dd91c3f0fc3",
"pricing_tier": "PREMIUM",
"private_access_settings_id": "3b3bbcb5-46bd-4b03-944e-97eb44ed7991",
"storage_configuration_id": "04aae505-1b1e-4cb9-997d-e1c49282675d",
"storage_customer_managed_key_id": "14138d0f-a575-4ae2-be71-ddfd0b602286",
"workspace_id": 1614665312930232,
"workspace_name": "string",
"workspace_status": "PROVISIONING",
"workspace_status_message": "Workspace resources are being set up."
}

Se o senhor receber um erro ao criar o site workspace, consulte Solução de problemas de erros de criação do site workspace.

Confirme o novo workspace

Para verificar o status de workspace, chame o comando get workspace API .

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:

Bash
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:

JSON
{
"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 para o plano associado à sua conta. Consulte Níveis da plataforma AWS.

Teste seu novo workspace depois que seu status for RUNNING:

  • L ogin da interface do usuário no novo workspace - Confirme que log in o senhor pode acessar o aplicativo da Web no https://<deployment-name>.cloud.databricks.com URL. Por exemplo, se o nome da implantação que o senhor especificou durante a criação do workspace for ABCSales, o URL do workspace será https://abcsales.cloud.databricks.com. Faça login usando seu nome de usuário account.

  • 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.

    Bash
    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 espaço de trabalho API.

Essa etapa é necessária apenas se o senhor estiver configurando o AWS PrivateLink.

Após a criação do workspace:

  1. Se você estiver implementando uma conexão PrivateLink de front-end , implemente alterações relevantes na configuração do DNS conforme descrito na Etapa 5: Configurar o DNS interno para redirecionar as solicitações do usuário para o aplicativo web.
  2. Opcionalmente, crie outro ponto de extremidade VPC, conforme descrito na Etapa 5: Adicionar ponto de extremidade VPC para outro serviço AWS.

Etapa 9: Outra configuração opcional pós-implantaçã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. Você pode especificar listas de permissões e listas de bloqueio como endereços IP ou intervalos. Consulte Configurar listas de acesso IP para o espaço de trabalho.

Ativar auditoria log tabela do sistema

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. Para obter instruções, consulte Monitorar a atividade do account com tabelas do sistema.

Solucionar erros de criação de 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 a Databricks cria um VPC em seu nome, o senhor deve ter pelo menos um Elastic IP não utilizado. Caso contrário, a VPC não será criada e ocorrerá o seguinte erro:

Console
The maximum number of addresses has been reached.

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

Etapas 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.

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.

Corrija problemas de infraestrutura

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

Atualizar a falha workspace

Para atualizar o site com falha workspace, chame o Update workspace API .

nota

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.

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

Se a atualização workspace API não funcionar, o senhor deverá excluir e recriar a rede (se tiver fornecido seu próprio VPC) e o workspace com falha na seguinte ordem.

  1. Exclua o site workspace usando a opção delete workspace API .

  2. Se o senhor forneceu seu próprio VPC, exclua a configuração de rede usando a API de exclusão de configuração de rede.

  3. Recrie a rede usando os valores corretos para vpc_id, subnet_ids e security_group_ids.

  4. Recrie o site workspace 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.