Set up Databricks CLI and SDK with authentication credentials.
https://adb-1234567890.1.azuredatabricks.net)set -euo pipefail
# Install CLI v2 (recommended)
pip install databricks-cli
# Install Python SDK
pip install databricks-sdk
# Install dbx for local development
pip install dbx
# Interactive configuration
databricks configure --token
# Enter workspace URL: https://adb-1234567890.1.azuredatabricks.net
# Enter token: dapi1234567890abcdef...
# Set environment variables
export DATABRICKS_HOST="https://adb-1234567890.1.azuredatabricks.net"
export DATABRICKS_TOKEN="dapi1234567890abcdef..."
# Or create .env file
cat > .env << 'EOF'
DATABRICKS_HOST=https://adb-1234567890.1.azuredatabricks.net
DATABRICKS_TOKEN=dapi1234567890abcdef...
EOF
# Using OAuth U2M (user-to-machine)
databricks configure --oauth
# Using OAuth M2M (service principal)
export DATABRICKS_HOST="https://adb-1234567890.1.azuredatabricks.net"
export DATABRICKS_CLIENT_ID="your-client-id"
export DATABRICKS_CLIENT_SECRET="your-client-secret"
# ~/.databrickscfg
[DEFAULT]
host = https://adb-dev-1234567890.1.azuredatabricks.net
token = dapi_dev_token...
[staging]
host = https://adb-staging-1234567890.1.azuredatabricks.net
token = dapi_staging_token...
[production]
host = https://adb-prod-1234567890.1.azuredatabricks.net
token = dapi_prod_token...
# Test CLI connection
databricks workspace list /
# Test with specific profile
databricks workspace list / --profile staging
# Test SDK connection
python -c "
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
print(f'Connected to: {w.config.host}')
print(f'Clusters: {len(list(w.clusters.list()))}')
"
| Error | Cause | Solution |
|---|---|---|
Invalid token |
Expired or incorrect token | Generate new PAT in User Settings |
Workspace not found |
Wrong host URL | Verify workspace URL format |
Permission denied |
Token lacks permissions | Request admin access or correct scopes |
Connection refused |
Network/firewall issue | Check VPN, firewall rules |
SSL certificate error |
Corporate proxy | Set --insecure or configure proxy |
from databricks.sdk import WorkspaceClient
# Auto-detect from environment/config file
w = WorkspaceClient()
# Explicit configuration
w = WorkspaceClient(
host="https://adb-1234567890.1.azuredatabricks.net",
token="dapi1234567890abcdef..."
)
# With profile
w = WorkspaceClient(profile="production")
from databricks.sdk import WorkspaceClient
from databricks.sdk.config import Config
config = Config(
host="https://adb-1234567890.1.azuredatabricks.net",
client_id="your-client-id",
client_secret="your-client-secret"
)
w = WorkspaceClient(config=config)
from databricks.sdk import WorkspaceClient
from azure.identity import DefaultAzureCredential
# Uses Azure AD managed identity
w = WorkspaceClient(
host="https://adb-1234567890.1.azuredatabricks.net",
credentials_provider=DefaultAzureCredential()
)
After successful auth, proceed to databricks-hello-world for your first cluster and notebook.