Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
Este recurso está em versão Beta.
O custo e o preço das funcionalidades na Beta estão sujeitos a alterações.
O túnel Azure Databricks SSH (Secure Shell) liga o Visual Studio Code, Cursor ou o seu terminal ao workspace do Azure Databricks e ao Azure Databricks serverless compute, AI Runtime ou classic compute. Usa-o para editar ficheiros de espaço de trabalho e executar ou depurar scripts e notebooks em Python, com o teu ambiente Python e execução de código na máquina de computação remota. Liga-te diretamente à computação serverless, ou configura uma ligação SSH reutilizável a um cluster clássico dedicado.
Requerimentos
Inicia a ligação SSH a partir da tua máquina local. O túnel não pode ser lançado a partir de outro ambiente remoto ou de um contentor Docker.
Para se ligar à computação serverless ou clássica, deve ter:
- Databricks CLI versão 1.5.0 ou superior instalada na sua máquina local e autenticação configurada. Verifique a sua versão instalada com
databricks --version. Consulte Instalar ou atualizar a CLI do Databricks. - Um dos seguintes:
- Visual Studio Code versão 1.110.0 (Universal) ou superior e a extensão Remote - SSH (1.0.46+) instalada.
- Cursor versão 2.6.11 (Universal) ou superior.
Para se ligar à computação serverless, o encaminhamento de portas para computação serverless deve estar ativado. Veja o Gerir encaminhamento de portas para computação serverless.
Para estabelecer ligação à computação GPU sem servidor, a funcionalidade AI Runtime tem de estar ativada. Ver Runtime de IA.
Requisitos adicionais para computação clássica
Para se ligar à computação clássica (dedicada, de utilizador único):
- O recurso de computação tem de estar a executar o Databricks Runtime 17.0 ou superior. Consulte Visão geral de computação dedicada.
- O Unity Catalog tem de estar ativado.
- Se existir uma política de computação, não deve proibir a execução de tarefas.
- Ao usar o Databricks Container Services para computação dedicada, a sua imagem Docker deve ter
openssh-serversido instalada.
Escolha uma ligação SSH
Utilize o método de ligação para o seu tipo de processamento:
| Computação | Método de ligação | Requisitos de configuração |
|---|---|---|
| Computação sem servidor | databricks ssh connect |
Não há um passo separado de configuração do SSH. Adicionar --ide vscode ou --ide cursor para lançar um IDE. |
| Ambiente de Execução de IA | databricks ssh connect --accelerator <accelerator> |
Não há um passo separado de configuração do SSH. Adicionar --ide vscode ou --ide cursor para lançar um IDE.Para aceleradores suportados, veja --accelerator. |
| Computação clássica dedicada e de utilizador único | Execute databricks ssh setup --name <connection-name> no seu terminal.Depois inicia a sessão SSH a partir do IDE ou executa ssh <connection-name>. |
Selecione um cluster dedicado de utilizador único que cumpra os requisitos clássicos de computação. Clusters partilhados não são suportados. |
Para uma comparação com o Databricks Connect e outras opções de desenvolvimento, consulte Connect a partir do seu IDE.
Conectar-se à computação sem servidor
Ao cumprires os requisitos acima, executa databricks ssh connect a partir do teu terminal ou IDE.
O --ide valor seleciona o editor a lançar, independentemente do editor ou terminal de onde execute o comando.
Código do Visual Studio
databricks ssh connect --ide vscode
A CLI abre uma janela do Visual Studio Code ligada ao ambiente de computação remoto.
Cursor
databricks ssh connect --ide cursor
A CLI abre uma janela Cursor ligada à computação remota.
Terminal
databricks ssh connect
O CLI inicia uma sessão interativa de SSH.
Para opções de comandos, incluindo ligações nomeadas e perfis de autenticação, veja databricks ssh connect.
Depois de estabeleceres ligação, abre o teu projeto da área de trabalho e seleciona o ambiente Python. Se a ligação falhar, veja Resolução de problemas de ligações de túnel SSH.
Liga-te à computação de GPU serverless com AI Runtime
Com o AI Runtime ativado, adicione --accelerator para usar computação com GPU:
databricks ssh connect --accelerator GPU_1xA10
databricks ssh connect proporciona-te uma sessão interativa num único nó. Para tarefas de treino de longa duração ou treino distribuído por vários nós, submeta a carga de trabalho com databricks air em vez disso. Veja Utilizar a CLI do Databricks com runtime de IA.
Liga-se à computação clássica
Para uma ligação reutilizável a um cluster dedicado clássico, configura um nome de host SSH e depois seleciona esse host no teu IDE ou liga-te a partir de um terminal.
Configurar a ligação SSH
Observação
Configurar a ligação SSH só é necessário se estiveres a ligar à computação clássica.
Executa databricks ssh setup na tua máquina local. Substitua <connection-name> por um nome para esta ligação, como my-connection:
databricks ssh setup --name <connection-name>
A CLI pede-te para selecionar um cluster e adiciona uma entrada de host à tua configuração SSH. Também podes selecionar um cluster diretamente. Substitua <cluster-id> pelo ID do seu cluster dedicado:
databricks ssh setup --name <connection-name> --cluster <cluster-id>
Para configurar quanto tempo o túnel SSH espera após o último cliente se desconectar, adicione --shutdown-delay ao comando de configuração. O padrão é 10 minutos. Por exemplo, para definir um atraso de 30 minutos para conexões através desta entrada de anfitrião SSH:
databricks ssh setup --name <connection-name> --cluster <cluster-id> --shutdown-delay 30m
Observação
Para utilizadores de IntelliJ, o Databricks recomenda adicionar --auto-start-cluster=false ao comando de configuração e iniciar o cluster manualmente antes de ligar. Isto deve-se ao facto de os IDEs do JetBrain iniciarem todos os clusters configurados no lançamento, o que pode resultar em cargas de computação inesperadas.
Liga-te usando Visual Studio Code ou Cursor
Para Visual Studio Code, instale a extensão Remote SSH. O Cursor inclui por padrão uma extensão remota SSH.
No menu principal do IDE, clique em Ver>Paleta de Comandos. Selecione Remote-SSH: Definições. Alternativamente, selecione Preferências: Abrir Definições de Utilizador (JSON) para modificar
settings.jsondiretamente.Em Remote.SSH: Extensões Padrão (ou
remote.SSH.defaultExtensionsemsettings.json), adicionarms-Python.Pythonems-toolsai.jupyter.Se está a modificar
settings.json:"remote.SSH.defaultExtensions": [ "ms-Python.Python", "ms-toolsai.jupyter" ]Observação
Opcionalmente, aumente o valor do Remote.SSH: Tempo de Espera de Conexão (ou
remote.SSH.connectTimeoutemsettings.json) para reduzir ainda mais a probabilidade de erros de timeout. O timeout padrão é 360.Na Paleta de Comandos, selecione Remote-SSH: Ligar ao Anfitrião.
No menu pendente, selecione a ligação que configurou no primeiro passo. O IDE procede a ligar-se numa nova janela.
Liga-te usando IDEs IntelliJ
- Segue o tutorial do servidor remoto para te configurares.
- No novo ecrã de ligação, introduz:
-
Nome de utilizador:
root -
Anfitrião:
<connection-name>
-
Nome de utilizador:
Ligue-se à computação clássica a partir de um terminal
Utilize o nome da ligação que configurou com databricks ssh setup:
ssh <connection-name>
Para uma ligação direta sem entrada de host SSH reutilizável, também pode usar a CLI. Substitua <cluster-id> pelo seu ID dedicado do cluster:
databricks ssh connect --cluster <cluster-id>
Abrir projetos do espaço de trabalho através de SSH
Por defeito, o databricks ssh connect comando abre-se num diretório efémero. Para aceder aos ficheiros do espaço de trabalho, navegue até ao diretório do espaço de trabalho a partir do IDE ou terminal:
- No Visual Studio Code ou Cursor, a partir da Paleta de Comandos (Cmd/Ctrl+Shift+P) selecione Abrir Pasta e navegue até
/Workspace/Users/<your-username>. - A partir de uma janela de terminal, altere o seu diretório:
cd /Workspace/Users/<your-username>.
Observação
Ficheiros em /Workspace, /Volumes, e /dbfs persistem através dos reinicios do cluster. Ficheiros em /home, /root, e outros caminhos locais são efémeros e perdem-se ao reiniciar.
Execute Python e notebooks na sessão SSH
Selecione o ambiente Python fornecido pela sua sessão SSH antes de executar o código. Para computação clássica, este ambiente inclui as bibliotecas de Runtime Databricks incorporadas e as bibliotecas associadas à computação.
Abra a paleta de comandos (cmd/ctrl+Shift+P) e selecione Python: Select Interpreter.
Selecione o
pythonEnv-xxxambiente virtual da lista. Se configurares dependências em Python usando a--base-environmentflag, seleciona o nome mais longo do ambiente virtual da lista de opções. Se o ambiente virtual não aparecer:Executa
echo $DATABRICKS_VIRTUAL_ENVa partir de um terminal dentro do IDE.Exemplo de saída:
/local_disk0/.ephemeral_nfs/envs/pythonEnv-xxx/bin/pythonCole o resultado completo como caminho para o interpretador no prompt Python: Select Interpreter.
Abre um novo terminal e o ambiente virtual deverá ativar-se automaticamente.
Para executar um notebook Jupyter, certifique-se de que o ambiente virtual está selecionado como kernel. Clique em Selecionar Kernel no canto superior direito do caderno.
Execute e depure ficheiros e .ipynb cadernos Python usando as extensões padrão de Python e Jupyter.
Para usar o Spark num ficheiro Python em computação serverless, inicialize uma sessão explicitamente:
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.serverless().profile("DEFAULT").getOrCreate()
Gerir dependências para sessões SSH
Escolha a gestão de dependências para o seu tipo de processamento:
- Para computação serverless, utilize um ambiente base de workspace com uma versão suportada de ambiente serverless.
- Para computação clássica, use bibliotecas de cluster para dependências que persistem ao longo dos reinícios.
- Para dependências com âmbito de uma sessão de projeto, use um notebook de configuração.
Para pacotes não Python, veja Dependências não Python.
Ambientes base de workspace (recomendados para serverless e tempo de execução com IA)
Observação
Esta funcionalidade requer que a pré-visualização do suporte ao ambiente de base do espaço de trabalho sem servidor no Jobs esteja ativada. Ver Gerir as pré-visualizações de Azure Databricks.
Utilize um ambiente de base do espaço de trabalho com um ambiente serverless de versão 4 ou inferior para pré-configurar as dependências do Python. O túnel SSH não suporta --base-environment com a versão 5 ou superior do ambiente serverless. Crie um ambiente de base utilizando a interface do espaço de trabalho ou o comando do Databricks CLI databricks environments create-workspace-base-environment.
Especifique o ambiente usando a --base-environment opção ao ligar:
databricks ssh connect --base-environment my-workspace-env
A --base-environment opção aceita um nome de visualização, um caminho YAML de espaço de trabalho ou um ID de recurso. Não podes combiná-lo com --cluster. Ver databricks ssh connect.
Bibliotecas de cluster (recomendadas para computação clássica)
Instale dependências usando a interface do workspace em Bibliotecas de Computação>. Estas persistem mesmo após reinícios do cluster e estão disponíveis em pythonEnv-xxx.
Veja Bibliotecas em cluster.
Dependências não-Python
Para persistir dependências que não sejam Python, use um script init que instale os pacotes quando o cálculo começa. Opcionalmente, armazena os pacotes num volume do Unity Catalog e referencia-os a partir do script init. Consulte O que são scripts init?.
Configuração específica do notebook do projeto
Para dependências com âmbito de projeto, execute um caderno contendo %pip install comandos no início de cada sessão:
# Install from pyproject.toml
%pip install .
# Install from a requirements file
%pip install -r requirements.txt
# Install a wheel from Volumes or Workspace
%pip install /Volumes/catalog/schema/volume/your_library.whl
%pip os comandos incluem guardrails específicos do Databricks e propagam dependências para nós executores do Spark. Isto permite funções definidas pelo utilizador (UDFs) com dependências personalizadas.
Para mais exemplos, veja Gerir bibliotecas com %pip comandos.
Não precisas de voltar a executar o notebook de configuração se voltares a ligar antes de o túnel SSH desligar. Por defeito, o túnel desliga-se 10 minutos depois de o último cliente se desligar. Para alterar este atraso, use --shutdown-delay com o comando para o seu método de ligação:
- Para uma ligação de computação clássica reutilizável, defina o atraso com databricks ssh setup. A entrada do host SSH gerada aplica-se o atraso quando liga a partir do seu IDE ou executa
ssh <connection-name>. - Para uma ligação CLI direta, defina o tempo de espera com databricks ssh connect.
Observação
Múltiplas sessões SSH no mesmo cluster partilham um ambiente virtual.
Usar o Git numa sessão SSH
Importante
Este recurso está no Public Preview. Os administradores do espaço de trabalho podem controlar o acesso ao suporte Git CLI para pastas Git a partir da página de Pré-visualizações . Ver Gerir as pré-visualizações de Azure Databricks.
Podes usar a CLI Git no túnel SSH com pastas Git recém-criadas e as credenciais Git que configuraste no espaço de trabalho do Azure Databricks. Veja Utilizar comandos Git CLI.
Se a CLI pedir credenciais em vez de as detetar automaticamente, deve ligar o seu fornecedor Git ao Azure Databricks. Veja Ligar o seu fornecedor Git ao Databricks.
Mantenha processos desanexados a funcionar
Por defeito, quando o túnel SSH é desligado, ele para todos os processos que a sessão iniciou, incluindo os processos que desanexou da sessão com tmux, setsid ou nohup. Antes de os parar, o túnel regista um aviso com os IDs de processo deles na saída da execução do trabalho do túnel.
databricks ssh connect imprime o ID da execução do trabalho quando o databricks ssh connect inicia o túnel.
Para manter a tarefa destacada a correr depois de desligar, use a opção --keep-detached-processes. Defina a opção na conexão que inicia o túnel, antes de começar o trabalho que quer manter. Ver Ligações a um túnel existente.
- Computação serverless ou clássica: Passa a bandeira para databricks ssh connect.
- Computação clássica com um host SSH configurado: Passe a flag para databricks ssh setup. A entrada do host SSH gerada é aplicada sempre que se liga. As ligações serverless não requerem configuração, por isso esta opção aplica-se apenas à computação clássica.
O exemplo seguinte mantém processos em segundo plano a correr em computação serverless:
databricks ssh connect --keep-detached-processes
O exemplo seguinte mantém processos desanexados a correr num cluster dedicado:
databricks ssh connect --cluster 0123-456789-abcdefgh --keep-detached-processes
Quando usa esta flag e o último cliente se desliga, o túnel comporta-se da seguinte forma:
- Após esse
--shutdown-delayperíodo, o túnel verifica processos desanexados. Enquanto alguns estão a funcionar, o túnel continua a funcionar em vez de se desligar. - Processos desanexados mantêm o seu acesso a
/Workspacee/Volumes. - Após a saída do último processo desanexado, o túnel encerra-se e a execução da tarefa termina.
Enquanto o túnel continua a correr, pode reconectar-se ao mesmo compute e voltar a ligar a trabalhos desanexados, por exemplo com tmux attach. Em computação serverless, reconecta-te com o mesmo nome de ligação. Se omitires --name, a CLI deriva o nome da ligação do teu workspace e das opções --accelerator e --base-environment, por isso, mudar qualquer uma dessas opções inicia uma ligação separada.
Ligações a um túnel existente
O modo do túnel é fixo quando é iniciado, e as ligações posteriores tratam-no da seguinte forma:
- Se ligares com a flag a um túnel que começou sem ela, a CLI inicia um novo túnel. Os processos que desanexaste no túnel existente não são mantidos, e continuam a parar quando esse túnel desliga. Num cluster dedicado, o novo túnel interrompe imediatamente o túnel existente, o que termina as suas sessões abertas e os seus processos desanexados.
- Se ligares sem a flag a um túnel que começou com ela, a CLI reutiliza esse túnel, e o túnel continua a funcionar enquanto os processos desanexados permanecem. Isto aplica-se também a ligações de outras entradas de anfitrião SSH ou sessões do IDE para o mesmo recurso de computação.
Custos e vida útil máxima
Tenha em mente o seguinte:
- Enquanto o túnel continua a funcionar, a computação continua a funcionar e incorre em custos. Um cluster clássico não termina automaticamente. Uma sessão ociosa
tmuxconta como um processo destacado em execução, por isso feche-a quando já não precisar dela. - A execução do trabalho ainda para quando atinge o tempo máximo de vida definido por
--server-timeout, mesmo que processos destacados estejam em execução. Este tempo de vida conta a partir do início da execução da tarefa, não a partir do momento em que o último cliente se desconecta. Depois de a execução da tarefa terminar, os processos desanexados perdem o acesso a/Workspacee/Volumes. Na computação serverless, os processos desanexados param. Na computação clássica, podem continuar a funcionar sem esse acesso até o cluster terminar. Para manter a saída de trabalho desanexado de longa duração, guarde-a com o Azure Databricks SDK ou a API REST em vez de escrever em caminhos/Workspaceou/Volumes. Consulte Trabalhar com arquivos em volumes do Catálogo Unity. - Para trabalhos de longa duração, use jobs ou bundles em vez disso.
Executar agentes de codificação numa sessão SSH
Podes executar Claude Code e Codex em sessões SSH sem qualquer instalação ou configuração. Os agentes enviam pedidos de modelo através do Unity Gateway no seu espaço de trabalho e autenticam-se com as credenciais da sua sessão SSH.
Requisitos para agentes de codificação
Databricks CLI versão 1.23.0 ou superior na sua máquina local.
Unity Gateway ativado para o teu espaço de trabalho, com acesso aos modelos que queres usar. Consulta os pré-requisitos do guia de introdução rápida do agente de programação.
Acesso HTTPS de saída da instância de computação para os seguintes hosts. A primeira execução transfere as ferramentas do agente deles:
-
github.comenodejs.org - PyPI:
pypi.orgefiles.pythonhosted.org - npm registry:
registry.npmjs.org
Se a imagem de computação já incluir
uvounpm, o launcher ignora o download.-
Lançar um agente de codificação
Liga-te à tua capacidade de computação. Consulte Escolher uma ligação SSH para as diferentes formas de ligação.
No terminal da sessão SSH, execute o agente:
claudeou
codexQuaisquer argumentos que adicionar são entregues ao agente sem alterações.
Para executar um agente sem abrir uma sessão interativa, passe o comando do agente após --. O shell remoto interpreta o comando, por isso envolva todo o comando em aspas simples para manter intactos os argumentos entre aspas. Por exemplo, para executar o Claude Code em modo não interativo:
databricks ssh connect -- 'claude -p "Summarize the notebooks in my workspace home folder"'
Os comandos passados após -- iniciam no teu diretório pessoal no computador, não na pasta inicial do teu espaço de trabalho.
Na primeira vez que executas um agente no compute, o launcher descarrega e instala automaticamente as ferramentas do agente.
Restrições dos agentes de codificação
- As ferramentas do agente, o histórico de conversas e as definições do agente estão armazenadas no teu diretório pessoal no ambiente de computação. Na computação serverless, este diretório desaparece quando a computação é desligada. Num cluster dedicado, persiste em sessões SSH até o cluster reiniciar ou terminar. Para guardar o seu trabalho, armazene ficheiros em
/Workspaceou/Volumes. Veja Ficheiros desaparecem ou o ambiente é reposto após o reinício do cluster. - Se tu próprio instalares
claudeoucodexno computador, essa instalação tem prioridade e não está configurada para o Unity Gateway.
Limitações dos túneis SSH
O túnel SSH fornecido pela Databricks tem as seguintes limitações:
- Clusters partilhados não são suportados.
- Ficheiros editados fora de
/Workspace,/Volumese/dbfssão perdidos ao reiniciar o cluster. - É permitido um máximo de 10 ligações SSH por cluster.
- As sessões inativas podem ser terminadas após 1 hora.
- O túnel SSH não pode ser lançado a partir de outros ambientes remotos ou contentores Docker.
- Pode ter problemas de desempenho ou ligação quando três ou mais notebooks Jupyter estão abertos simultaneamente.
Comportamento do Notebook em sessões SSH
Existem algumas diferenças nos notebooks ao usar o túnel SSH:
- Os ficheiros Python não definem os globais do Databricks (como
sparkoudbutils). Deve importá-los explicitamente comfrom databricks.sdk.runtime import spark. - Para cadernos ipynb, estas funcionalidades estão disponíveis:
- Databricks globais:
display,displayHTML,dbutils,table,sql,udf,getArgument,sc,sqlContext,spark -
%sqlcomando mágico para executar células SQL
- Databricks globais:
Para trabalhar com "notebooks" de fonte em Python:
Procure
jupyter.interactiveWindow.cellMarker.codeRegexe defina-o para:^# COMMAND ----------|^# Databricks notebook source|^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])Procure
jupyter.interactiveWindow.cellMarker.defaulte defina-o para:# COMMAND ----------
Resolução de problemas para ligações de túnel SSH
Comece pelo sintoma que corresponde à falha:
| Symptom | Primeira verificação |
|---|---|
| A ligação SSH falha ou expira. | Verifica o acesso HTTPS e WebSocket do workspace. Para computação clássica, verifica também o estado do cluster e o timeout do IDE. Veja A ligação SSH falha ou expira. |
O CLI informa que não consegue encontrar code. |
Instale o comando shell do Visual Studio Code no seu ambiente local PATH.
codecomando não encontrado. |
| A autenticação na CLI falha. | Verifique o perfil CLI e, para a computação clássica, as permissões do cluster. Veja erros de autenticação da CLI. |
O CLI indica invalid_grant com Refresh token is invalid. |
Iniciar sessão novamente no espaço de trabalho usando o mesmo perfil de CLI e depois tentar a ligação novamente. Veja O token de atualização é inválido. |
| O código Python ou os notebooks falham após estabelecer ligação. | Verifique o interpretador selecionado ou kernel do notebook. Veja o código Python ou os notebooks falham na sessão SSH. |
| Os ficheiros desaparecem após um reinício do cluster. | Verifica se os ficheiros foram armazenados num caminho local efémero. Veja Ficheiros desaparecem ou o ambiente é reposto após o reinício do cluster. |
claude ou codex falha ao iniciar. |
Verifica se o Unity Gateway está ativado e se o teu token e permissões permitem o acesso. Veja Agente de codificação falha ao iniciar. |
A ligação SSH falha ou atinge o tempo limite
- Para classic compute, verifique se o cluster está a correr na interface do workspace.
- Verifique se a sua rede, VPN e firewall permitem tráfego HTTPS e WebSocket para o domínio do seu espaço de trabalho. O túnel SSH não usa a porta 22. Encaminha todo o tráfego através do mesmo endpoint HTTPS utilizado por outros comandos da CLI do Databricks. Consulte Configurar regras de firewall de nomes de domínio.
- Se um proxy ou firewall inspecionar o tráfego TLS, verifique se permite o pedido de atualização do WebSocket. Um intermediário que bloqueia ou remove a atualização faz com que a ligação falhe ou expire. Pede ao teu administrador de rede para permitir atualizações do WebSocket para o domínio do teu espaço de trabalho, ou para contornar a inspeção TLS desse domínio.
- Se te ligares através de um proxy HTTP corporativo, define a
HTTPS_PROXYvariável de ambiente ouNO_PROXYpara contornar o proxy do teu domínio de workspace. O túnel SSH utiliza a mesma configuração de proxy que outros comandos CLI do Databricks. Veja configuração do servidor proxy. - Verifique se a sua máquina local tem acesso HTTPS a
github.comerelease-assets.githubusercontent.com. - Aumenta o tempo de espera do SSH. Veja Conectar-se com Visual Studio Code ou Cursor.
- Para erros de descorrespondência de chaves, apague
~/.databricks/ssh-tunnel-keyse volte a executardatabricks ssh setup. - Para erros de "a identificação remota do host foi alterada", verifique o ficheiro
~/.ssh/known_hostse apague as entradas relacionadas com o cluster. - As sessões SSH podem ser interrompidas após 1 hora e não podem ser feitas mais de 10 ligações SSH a um único cluster. Veja limitações dos túneis SSH.
code comando não encontrado
Se vires Error: exec: "code": executable file not found in $PATH, abre a Command Palette (Cmd/Ctrl+Shift+P), seleciona Shell Command: Install 'code' command in PATH e reinicia o teu IDE ou sessão de terminal.
Erros de autenticação CLI
- Inicia sessão no teu espaço de trabalho usando databricks auth login.
- Para computação clássica, confirma se tens
CAN ATTACH TOpermissão no cluster, ouCAN RESTARTse o cluster não está a funcionar.
O token de atualização é inválido
Se databricks ssh connect falhar com error getting token, invalid_grant, e Refresh token is invalid, o servidor de autorização rejeitou o token de atualização OAuth guardado pela CLI. Inicie sessão novamente para obter uma nova sessão:
Identifique o perfil de configuração do espaço de trabalho a que pretende ligar-se:
databricks auth profiles --skip-validateIniciar sessão novamente com esse perfil. Substitua
<workspace-url>pelo URL do espaço de trabalho, sem o/oidc/v1/tokencaminho, e<profile-name>pelo nome de perfil correspondente:databricks auth login --host <workspace-url> --profile <profile-name>Conclua o processo de início de sessão no seu navegador.
Tente novamente a ligação com o mesmo perfil:
databricks ssh connect --ide vscode --profile <profile-name>Usa
--ide cursorpara Cursor, ou omite--idepara uma sessão terminal.
Se o erro persistir, verifica se o comando falhado tem como alvo o mesmo espaço de trabalho e perfil em que acabaste de iniciar sessão. Ver autenticação OAuth utilizador-para-máquina (U2M).
Código Python ou notebooks falham na sessão SSH
- Selecione o ambiente Python fornecido pela sessão SSH. Para um notebook, seleciona esse ambiente como kernel. Veja Executar Python e notebooks na sessão SSH.
- Os cadernos IPYNB e
*.pyDatabricks têm acesso às variáveis globais do Databricks, mas os ficheiros Python*.pynão têm. Veja o comportamento do Notebook nas sessões SSH.
Ficheiros desaparecem ou o ambiente é reposto após o reinício do cluster
- Ficheiros em pontos de montagem
/Workspace,/Volumese/dbfspersistem durante os reinícios do cluster. Ficheiros em/home,/root, e outros caminhos locais são efémeros e perdem-se ao reiniciar. - Use a gestão de bibliotecas de cluster para dependências persistentes. Automatiza reinstalações usando scripts de init se necessário. Consulte O que são scripts init?.
O agente de codificação falha ao iniciar
Quando executas claude ou codex, o launcher verifica se consegues aceder ao Unity Gateway antes de ele descarregar as ferramentas do agente. Se não tiveres acesso ao Unity Gateway, os agentes incorporados não conseguem executar. Associe a mensagem de erro à causa:
- O Unity Gateway não está ativado neste espaço de trabalho: Peça ao administrador do seu espaço de trabalho para ativar o Unity Gateway. Consulte Pré-requisitos.
- O acesso ao serviço de modelos não pôde ser verificado: Verifique se cumpre os pré-requisitos do Unity Gateway, ou peça ao administrador do seu espaço de trabalho acesso aos modelos.
-
Um passo de instalação falha, por exemplo
✗ Installing Node.jsseguido defailed to download: Verifique se a instância de computação consegue alcançargithub.com,nodejs.org,pypi.org,files.pythonhosted.orgeregistry.npmjs.orgatravés de HTTPS. Consulte Requisitos para agentes de programação.
Se claude não for encontrada ou codex não for encontrado, verifique se a sua CLI local do Databricks é a versão 1.23.0 ou superior e depois volte a ligar. Consulte Requisitos para agentes de codificação.
Configuração do SSH falha no Windows (WSL)
Executa databricks ssh setup diretamente no Windows, não dentro do WSL. A instância Windows Visual Studio Code não consegue encontrar configurações SSH criadas do lado do WSL.
FAQ
A computação serverless requer configuração de SSH?
No. Após instalar e autenticar a CLI Databricks, utilize databricks ssh connect para computação serverless. O databricks ssh setup comando configura entradas de host SSH reutilizáveis para computação dedicada clássica.
O túnel SSH do Databricks requer a porta 22?
No. O túnel SSH transporta tráfego via HTTPS para o domínio do seu espaço de trabalho e requer suporte WebSocket. A sua rede, VPN, firewall e proxy têm de permitir esse tráfego. Veja A ligação SSH falha ou expira.
Como é que o túnel SSH é diferente do Databricks Connect?
O Databricks Connect permite-lhe escrever código usando APIs do Spark e executá-lo remotamente no processamento do Databricks em vez de na sessão local do Spark. A extensão Databricks Visual Studio Code utiliza o Databricks Connect para fornecer depuração integrada do código de utilizador no Databricks.
O túnel SSH permite-lhe aceder ao espaço de trabalho a partir do seu IDE e move todo o seu ambiente de desenvolvimento para a infraestrutura de computação. Python, o kernel e a execução do código correm no Azure Databricks com acesso aos recursos de computação.
Como é que o meu código e dados estão protegidos?
O tráfego SSH é encriptado de ponta a ponta, e o código corre na computação do Azure Databricks a que te ligas. A autenticação utiliza a CLI Databricks e o seu perfil de espaço de trabalho configurado. Veja Que métodos de autenticação são suportados?.
Que IDEs são suportados?
O Visual Studio Code e o Cursor são oficialmente suportados. Qualquer IDE com capacidades SSH é compatível, mas apenas o VS Code e o Cursor são testados.
Posso usar agentes de codificação numa sessão SSH?
Yes. Numa sessão SSH em computação serverless ou num cluster dedicado, execute claude ou codex. Os agentes usam o Unity Gateway sem qualquer configuração adicional. Veja Como executar agentes de codificação numa sessão SSH.
Todas as funcionalidades dos notebooks Databricks estão disponíveis no IDE?
Algumas funcionalidades como display(), dbutils, e %sql estão disponíveis com limitações ou configuração manual.
Veja o comportamento do Notebook nas sessões SSH.
O meu cluster arranca automaticamente quando me ligo usando o túnel SSH?
Sim, mas se demorar mais a iniciar o cluster do que o tempo limite da ligação, a tentativa de ligação falha. Para evitar isto, aumente o valor do Remote.SSH: Conecte Timeout da paleta de comandos (ou remote.SSH.connectTimeout em settings.json) para reduzir ainda mais a possibilidade de erros de timeout.
Como sei se o meu cluster está a funcionar?
Navega até Computar na interface do espaço de trabalho Databricks e verifica o estado do cluster. O cluster tem de mostrar Em Execução para que a conexão SSH funcione.
Como posso desligar a minha sessão de SSH/IDE?
Podes desligar uma sessão fechando a janela do IDE, usando a opção Desligar no teu IDE, fechando o terminal SSH ou executando o exit comando no terminal.
Como posso parar o cluster e evitar cobranças quando não estou a trabalhar?
Para parar imediatamente, termine o cluster a partir da interface de utilizador do workspace. Navegue até Computar na interface de trabalho do Databricks, encontre o seu cluster e clique em Terminar ou Parar.
Defina uma política curta de auto-terminação no seu cluster a partir da interface do espaço de trabalho. Depois de se desligar, o túnel SSH espera pelo shutdown-delay período (padrão: 10 minutos), depois aplica-se o timeout de inatividade do cluster. Se usares --keep-detached-processes, o cluster não termina automaticamente enquanto processos destacados estão a correr. Isto também se aplica a ligações sem a bandeira que reutilizam um túnel iniciado com ela. Ver Ligações a um túnel existente.
Como devo lidar com dependências persistentes?
As dependências instaladas durante uma sessão são perdidas após o reinício do cluster. Use armazenamento persistente (/Workspace/Users/<your-username>) para requisitos e scripts de configuração. Use bibliotecas de cluster ou scripts de init para automação.
Que métodos de autenticação são suportados?
A autenticação utiliza a CLI Databricks e o ficheiro dos seus ~/.databrickscfg perfis. As chaves SSH são tratadas pelo túnel SSH.
Posso ligar-me a bases de dados ou serviços externos a partir do cluster?
Sim, desde que a tua rede de cluster permita ligações de saída e tenhas as bibliotecas necessárias.
Posso usar extensões adicionais do IDE?
A maioria das extensões funciona quando instalada dentro da tua sessão remota de SSH, dependendo do teu IDE e cluster. O Visual Studio Code, por defeito, não instala extensões locais em hosts remotos. Pode instalá-las manualmente abrindo o painel de extensões e ativando as extensões locais no host remoto. Também podes configurar o Visual Studio Code para instalar sempre certas extensões remotamente. Ver Conectar ao Databricks.
O túnel SSH suporta Private Link?
Sim, no entanto, os administradores de workspace devem permitir listar URLs dos marketplaces de extensões Visual Studio Code e Cursor. A sua máquina local também deve ter a capacidade de aceder à internet.