Skip to content

Commit ecc8730

Browse files
authored
UI/API: Databricks Volumes connectors now also support PAT authentication (#523)
1 parent ec29768 commit ecc8730

File tree

7 files changed

+75
-26
lines changed

7 files changed

+75
-26
lines changed

snippets/destination_connectors/databricks_volumes_rest_create.mdx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,13 @@ curl --request 'POST' --location \
1414
"schema": "<schema>",
1515
"volume": "<volume>",
1616
"volume_path": "<volume-path>",
17+
18+
# For Databricks OAuth machine-to-machine (M2M) authentication:
1719
"client_secret": "<client-secret>",
1820
"client_id": "<client-id>"
21+
22+
# For Databricks personal access token authentication:
23+
"token": "<token>"
1924
}
2025
}'
2126
```

snippets/destination_connectors/databricks_volumes_sdk.mdx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,13 @@ with UnstructuredClient(api_key_auth=os.getenv("UNSTRUCTURED_API_KEY")) as clien
2121
schema="<schema>",
2222
volume="<volume>",
2323
volume_path="<volume-path>",
24+
25+
# For Databricks OAuth machine-to-machine (M2M) authentication:
2426
client_secret="<client-secret>",
2527
client_id="<client-id>"
28+
29+
# For Databricks personal access token authentication:
30+
token="<token>"
2631
)
2732
)
2833
)

snippets/general-shared-text/databricks-volumes-api-placeholders.mdx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
- `<name>` (_required_) - A unique name for this connector.
22
- `<host>` (_required_) - The Databricks workspace host URL.
3-
- `<client-id>` (_required_) - The **Client ID** (or **UUID** or **Application ID**) value for the Databricks managed service principal that has the appropriate privileges to the volume.
4-
- `<client-secret>` (_required_) - The associated OAuth **Secret** value for the Databricks managed service principal that has the appropriate privileges to the volume.
3+
- `<client-id>` (_required_) - For Databricks OAuth machine-to-machine (M2M) authentication,
4+
the **Client ID** (or **UUID** or **Application ID**) value for the Databricks managed service principal that has the appropriate privileges to the volume.
5+
- `<client-secret>` (_required_) - For Databricks OAuth M2M authentication,
6+
the associated OAuth **Secret** value for the Databricks managed service principal that has the appropriate privileges to the volume.
7+
- `<token>` (_required_) - For Databricks personal access token authentication, the personal access token's value.
58
- `<catalog>` (_required_) - The name of the catalog to use.
69
- `<schema>` - The name of the associated schema. If not specified, `default` is used.
710
- `<volume>` (_required_) - The name of the associated volume.

snippets/general-shared-text/databricks-volumes-platform.mdx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ Fill in the following fields:
66
- **Schema** : The name of the associated schema. If not specified, **default** is used.
77
- **Volume** (_required_): The name of the associated volume.
88
- **Volume Path** : Any optional path to access within the volume.
9-
- **Client Secret** (_required_): The associated OAuth **Secret** value for the Databricks managed service principal that has the appropriate privileges to the volume.
10-
- **Client ID** (_required_): The **Client ID** (or **UUID** or **Application ID**) value for the Databricks managed service principal that has appropriate privileges to the volume.
119

10+
- For **Authentication Method**, if you select **Service Principal**, you must also specify the following:
11+
12+
- **Client Secret** (_required_): The associated OAuth **Secret** value for the Databricks managed service principal that has the appropriate privileges to the volume.
13+
- **Client ID** (_required_): The **Client ID** (or **UUID** or **Application ID**) value for the Databricks managed service principal that has appropriate privileges to the volume.
14+
15+
- For **Authentication Method**, if you select **Token**, you must also specify the Databricks personal access token's value in the **Token** field.

snippets/general-shared-text/databricks-volumes.mdx

Lines changed: 38 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,25 +20,47 @@
2020
[Azure](https://learn.microsoft.com/azure/databricks/dev-tools/auth/),
2121
or [GCP](https://docs.gcp.databricks.com/dev-tools/auth/index.html).
2222

23-
For the [Unstructured UI](/ui/overview) or the [Unstructured API](/api-reference/overview), only Databricks OAuth machine-to-machine (M2M) authentication is supported for
24-
[AWS](https://docs.databricks.com/dev-tools/auth/oauth-m2m.html),
25-
[Azure](https://learn.microsoft.com/azure/databricks/dev-tools/auth/oauth-m2m), and
26-
[GCP](https://docs.gcp.databricks.com/dev-tools/auth/oauth-m2m.html).
27-
You will need the the **Client ID** (or **UUID** or **Application** ID) and OAuth **Secret** (client secret) values for the corresponding service principal.
28-
Note that for Azure, only Databricks managed service principals are supported. Microsoft Entra ID managed service principals are not supported.
23+
For the [Unstructured UI](/ui/overview) or the [Unstructured API](/api-reference/overview), the following Databricks authentication types are supported:
24+
25+
- Databricks OAuth machine-to-machine (M2M) authentication for
26+
[AWS](https://docs.databricks.com/dev-tools/auth/oauth-m2m.html),
27+
[Azure](https://learn.microsoft.com/azure/databricks/dev-tools/auth/oauth-m2m), or
28+
[GCP](https://docs.gcp.databricks.com/dev-tools/auth/oauth-m2m.html).
29+
30+
You will need the the **Client ID** (or **UUID** or **Application** ID) and OAuth **Secret** (client secret) values for the corresponding service principal.
31+
Note that for Azure, only Databricks managed service principals are supported. Microsoft Entra ID managed service principals are not supported.
2932

30-
The following video shows how to create a Databricks managed service principal:
33+
The following video shows how to create a Databricks managed service principal:
3134

32-
<iframe
33-
width="560"
34-
height="315"
35-
src="https://www.youtube.com/embed/wBmqv5DaA1E"
36-
title="YouTube video player"
37-
frameborder="0"
38-
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
39-
allowfullscreen
40-
></iframe>
35+
<iframe
36+
width="560"
37+
height="315"
38+
src="https://www.youtube.com/embed/wBmqv5DaA1E"
39+
title="YouTube video player"
40+
frameborder="0"
41+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
42+
allowfullscreen
43+
></iframe>
4144

45+
- Databricks personal access token authentication for
46+
[AWS](https://docs.databricks.com/dev-tools/auth/pat.html),
47+
[Azure](https://learn.microsoft.com/azure/databricks/dev-tools/auth/pat), or
48+
[GCP](https://docs.gcp.databricks.com/dev-tools/auth/pat.html).
49+
50+
You will need the personal access token's value.
51+
52+
The following video shows how to create a Databricks personal access token:
53+
54+
<iframe
55+
width="560"
56+
height="315"
57+
src="https://www.youtube.com/embed/OzEU2miAS6I"
58+
title="YouTube video player"
59+
frameborder="0"
60+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
61+
allowfullscreen
62+
></iframe>
63+
4264
For [Unstructured Ingest](/ingestion/overview), the following Databricks authentication types are supported:
4365

4466
- For Databricks personal access token authentication for

snippets/source_connectors/databricks_volumes_rest_create.mdx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,17 @@ curl --request 'POST' --location \
1010
"type": "databricks_volumes",
1111
"config": {
1212
"host": "<host>",
13-
"client_id": "<client-id>"
14-
"client_secret": "<client-secret>",
1513
"catalog": "<catalog>",
1614
"schema": "<schema>",
1715
"volume": "<volume>",
18-
"volume_path": "<volume-path>"
16+
"volume_path": "<volume-path>",
17+
18+
# For Databricks OAuth machine-to-machine (M2M) authentication:
19+
"client_id": "<client-id>"
20+
"client_secret": "<client-secret>"
21+
22+
# For Databricks personal access token authentication:
23+
"token": "<token>"
1924
}
2025
}'
2126
```

snippets/source_connectors/databricks_volumes_sdk.mdx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,17 @@ with UnstructuredClient(api_key_auth=os.getenv("UNSTRUCTURED_API_KEY")) as clien
1717
type=SourceConnectorType.DATABRICKS_VOLUMES,
1818
config=DatabricksVolumesConnectorConfigInput(
1919
catalog="<catalog>",
20-
client_id="<client_id>",
21-
client_secret="<client_secret>",
2220
host="<host>",
2321
schema_="<schema>",
2422
volume="<volume>",
25-
volume_path="<volume_path>"
23+
volume_path="<volume_path>",
24+
25+
# For Databricks OAuth machine-to-machine (M2M) authentication:
26+
client_id="<client_id>",
27+
client_secret="<client_secret>"
28+
29+
# For Databricks personal access token authentication:
30+
token="<token>"
2631
)
2732
)
2833
)

0 commit comments

Comments
 (0)