Conecte-se a um aplicativo API Databricks da sua máquina local
Você pode chamar um aplicativo Databricks que expõe uma API HTTP (por exemplo, um aplicativo FastAPI ou Gradio) diretamente do seu ambiente local. Isso é útil para testes e para criar clientes externos.
Este método se aplica somente a aplicativos que expõem APIs ou endpoints. Para aplicativos que fornecem apenas uma interface de usuário ou processamento em segundo plano, você não pode se conectar de uma máquina local.
Requisitos
Para se conectar a um aplicativo Databricks da sua máquina local, você deve atender aos seguintes requisitos:
- O aplicativo deve expor pelo menos um endpoint API .
- Você deve ter permissão
CAN USE
no aplicativo. Consulte Configurar permissões para seu aplicativo Databricks. - Você deve ser capaz de gerar um access token Databricks a partir da sua máquina local usando o Databricks CLI ou Databricks SDKs.
Gerar um access token
Para autenticar com seu aplicativo, gere um access token usando o Databricks CLI ou SDKs.
-
faça login com o CLI:
Bashdatabricks auth login --host https://<workspace-url> --profile my-env
A Databricks recomenda o uso da autenticação OAuth de usuário para máquina (U2M).
-
Gerar um access token:
- CLI
- Python
- JavaScript
databricks auth token --profile my-env
from databricks.sdk.core import Config
config = Config(profile="my-env")
token = config.oauth_token().access_token
const { WorkspaceClient } = require('@databricks/sdk');
const client = new WorkspaceClient({ profile: 'my-env' });
const token = await client.apiClient.getAccessToken();
Especificar escopos OAuth para autorização do usuário
Quando você usa a CLI ou os SDKs do Databricks com autenticação unificada, conforme mostrado na seção anterior, as ferramentas solicitam automaticamente o escopo básico all-apis
. No entanto, se seu aplicativo usar autorização de usuário, você deverá solicitar manualmente um access token com escopos adicionais usando um fluxo OAuth personalizado.
Certifique-se de que seu access token inclua os escopos configurados em Editar > Autorização do usuário . Se os tokens não tiverem os escopos necessários, as solicitações poderão falhar com erros 401 ou 403.
Por exemplo, a solicitação a seguir solicita explicitamente um access token com os escopos sql
, file.files
e dashboards.genie
:
curl --request POST \
https://<databricks-instance>/oidc/v1/token \
--data "client_id=databricks-cli" \
--data "grant_type=authorization_code" \
--data "redirect_uri=<redirect-url>" \
--data "code_verifier=<code-verifier>" \
--data "code=<authorization-code>" \
--data "scope=sql file.files dashboards.genie"
Para obter instruções completas, consulte Gerar manualmente access tokens OAuth U2M.
Enviar uma solicitação para o aplicativo
Inclua os tokens no cabeçalho de autorização:
curl -H "Authorization: Bearer <YOUR_TOKEN>" \
https://<workspace-url>/apps/<app-id>/<endpoint>
Considerações de segurança
Ao se conectar a aplicativos do seu ambiente local, siga estas práticas recomendadas de segurança:
- Nunca codifique access tokens no seu código-fonte. Use variável de ambiente ou armazenamentos de credenciais seguros.
- atualize tokens regularmente para minimizar os riscos de segurança caso sejam comprometidos.
- Evite registrar access tokens ou dados confidenciais nos logs do seu aplicativo.
Solução de problemas
Se você encontrar problemas ao se conectar ao seu aplicativo a partir de uma máquina local, tente estas soluções:
Falhas de autenticação (erros 401)
Verifique o seguinte:
- Seus tokens são válidos (execução
databricks auth token --profile my-env
) - Seu perfil está configurado corretamente com
databricks auth login
- Os tokens não expiraram
- Seus tokens incluem os escopos OAuth necessários (verifique a tab Configurar do aplicativo). As ferramentas CLI/SDK fornecem apenas escopos básicos como
all-apis
, o que pode não ser suficiente para autorização de usuários ou agentes.
Permissão negada (erros 403)
Certifique-se de ter permissão CAN USE
no aplicativo.
Aplicativo não encontrado (erros 404)
Verifique o seguinte:
- O ID e a URL workspace estão corretos
- O aplicativo está implantado e em execução
- O caminho endpoint existe no aplicativo
Problemas de conectividade de rede
Verifique o seguinte:
- Sua rede permite conexões HTTPS de saída
- O domínio
*.databricksapps.com
é acessível a partir da sua rede
Além disso, verifique se sua organização usa um proxy que requer configuração.
Veja também
Para mais informação consulte o seguinte recurso: