@kyuda/n8n-nodes-databricks 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +19 -0
- package/README.md +180 -0
- package/dist/credentials/Databricks.credentials.d.ts +10 -0
- package/dist/credentials/Databricks.credentials.js +88 -0
- package/dist/credentials/Databricks.credentials.js.map +1 -0
- package/dist/credentials/databricks.svg +19 -0
- package/dist/nodes/Databricks/Databricks.node.d.ts +18 -0
- package/dist/nodes/Databricks/Databricks.node.js +404 -0
- package/dist/nodes/Databricks/Databricks.node.js.map +1 -0
- package/dist/nodes/Databricks/databricks.dark.svg +19 -0
- package/dist/nodes/Databricks/databricks.svg +19 -0
- package/dist/nodes/Databricks/helpers.d.ts +27 -0
- package/dist/nodes/Databricks/helpers.js +169 -0
- package/dist/nodes/Databricks/helpers.js.map +1 -0
- package/dist/nodes/Databricks/resources/clusters/handler.d.ts +2 -0
- package/dist/nodes/Databricks/resources/clusters/handler.js +38 -0
- package/dist/nodes/Databricks/resources/clusters/handler.js.map +1 -0
- package/dist/nodes/Databricks/resources/clusters/operations.d.ts +2 -0
- package/dist/nodes/Databricks/resources/clusters/operations.js +24 -0
- package/dist/nodes/Databricks/resources/clusters/operations.js.map +1 -0
- package/dist/nodes/Databricks/resources/clusters/parameters.d.ts +2 -0
- package/dist/nodes/Databricks/resources/clusters/parameters.js +49 -0
- package/dist/nodes/Databricks/resources/clusters/parameters.js.map +1 -0
- package/dist/nodes/Databricks/resources/databricksSql/handler.d.ts +2 -0
- package/dist/nodes/Databricks/resources/databricksSql/handler.js +59 -0
- package/dist/nodes/Databricks/resources/databricksSql/handler.js.map +1 -0
- package/dist/nodes/Databricks/resources/databricksSql/operations.d.ts +2 -0
- package/dist/nodes/Databricks/resources/databricksSql/operations.js +24 -0
- package/dist/nodes/Databricks/resources/databricksSql/operations.js.map +1 -0
- package/dist/nodes/Databricks/resources/databricksSql/parameters.d.ts +2 -0
- package/dist/nodes/Databricks/resources/databricksSql/parameters.js +94 -0
- package/dist/nodes/Databricks/resources/databricksSql/parameters.js.map +1 -0
- package/dist/nodes/Databricks/resources/files/handler.d.ts +2 -0
- package/dist/nodes/Databricks/resources/files/handler.js +157 -0
- package/dist/nodes/Databricks/resources/files/handler.js.map +1 -0
- package/dist/nodes/Databricks/resources/files/operations.d.ts +2 -0
- package/dist/nodes/Databricks/resources/files/operations.js +71 -0
- package/dist/nodes/Databricks/resources/files/operations.js.map +1 -0
- package/dist/nodes/Databricks/resources/files/parameters.d.ts +2 -0
- package/dist/nodes/Databricks/resources/files/parameters.js +124 -0
- package/dist/nodes/Databricks/resources/files/parameters.js.map +1 -0
- package/dist/nodes/Databricks/resources/genie/handler.d.ts +2 -0
- package/dist/nodes/Databricks/resources/genie/handler.js +54 -0
- package/dist/nodes/Databricks/resources/genie/handler.js.map +1 -0
- package/dist/nodes/Databricks/resources/genie/operations.d.ts +2 -0
- package/dist/nodes/Databricks/resources/genie/operations.js +96 -0
- package/dist/nodes/Databricks/resources/genie/operations.js.map +1 -0
- package/dist/nodes/Databricks/resources/genie/parameters.d.ts +2 -0
- package/dist/nodes/Databricks/resources/genie/parameters.js +96 -0
- package/dist/nodes/Databricks/resources/genie/parameters.js.map +1 -0
- package/dist/nodes/Databricks/resources/index.d.ts +24 -0
- package/dist/nodes/Databricks/resources/index.js +50 -0
- package/dist/nodes/Databricks/resources/index.js.map +1 -0
- package/dist/nodes/Databricks/resources/jobs/handler.d.ts +2 -0
- package/dist/nodes/Databricks/resources/jobs/handler.js +90 -0
- package/dist/nodes/Databricks/resources/jobs/handler.js.map +1 -0
- package/dist/nodes/Databricks/resources/jobs/operations.d.ts +2 -0
- package/dist/nodes/Databricks/resources/jobs/operations.js +25 -0
- package/dist/nodes/Databricks/resources/jobs/operations.js.map +1 -0
- package/dist/nodes/Databricks/resources/jobs/parameters.d.ts +2 -0
- package/dist/nodes/Databricks/resources/jobs/parameters.js +195 -0
- package/dist/nodes/Databricks/resources/jobs/parameters.js.map +1 -0
- package/dist/nodes/Databricks/resources/modelServing/handler.d.ts +2 -0
- package/dist/nodes/Databricks/resources/modelServing/handler.js +75 -0
- package/dist/nodes/Databricks/resources/modelServing/handler.js.map +1 -0
- package/dist/nodes/Databricks/resources/modelServing/operations.d.ts +2 -0
- package/dist/nodes/Databricks/resources/modelServing/operations.js +24 -0
- package/dist/nodes/Databricks/resources/modelServing/operations.js.map +1 -0
- package/dist/nodes/Databricks/resources/modelServing/parameters.d.ts +2 -0
- package/dist/nodes/Databricks/resources/modelServing/parameters.js +76 -0
- package/dist/nodes/Databricks/resources/modelServing/parameters.js.map +1 -0
- package/dist/nodes/Databricks/resources/unityCatalog/handler.d.ts +2 -0
- package/dist/nodes/Databricks/resources/unityCatalog/handler.js +146 -0
- package/dist/nodes/Databricks/resources/unityCatalog/handler.js.map +1 -0
- package/dist/nodes/Databricks/resources/unityCatalog/operations.d.ts +2 -0
- package/dist/nodes/Databricks/resources/unityCatalog/operations.js +238 -0
- package/dist/nodes/Databricks/resources/unityCatalog/operations.js.map +1 -0
- package/dist/nodes/Databricks/resources/unityCatalog/parameters.d.ts +2 -0
- package/dist/nodes/Databricks/resources/unityCatalog/parameters.js +412 -0
- package/dist/nodes/Databricks/resources/unityCatalog/parameters.js.map +1 -0
- package/dist/nodes/Databricks/resources/vectorSearch/handler.d.ts +2 -0
- package/dist/nodes/Databricks/resources/vectorSearch/handler.js +50 -0
- package/dist/nodes/Databricks/resources/vectorSearch/handler.js.map +1 -0
- package/dist/nodes/Databricks/resources/vectorSearch/operations.d.ts +2 -0
- package/dist/nodes/Databricks/resources/vectorSearch/operations.js +48 -0
- package/dist/nodes/Databricks/resources/vectorSearch/operations.js.map +1 -0
- package/dist/nodes/Databricks/resources/vectorSearch/parameters.d.ts +2 -0
- package/dist/nodes/Databricks/resources/vectorSearch/parameters.js +224 -0
- package/dist/nodes/Databricks/resources/vectorSearch/parameters.js.map +1 -0
- package/dist/package.json +70 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +70 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright 2022 n8n
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
4
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
5
|
+
the Software without restriction, including without limitation the rights to
|
|
6
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
7
|
+
of the Software, and to permit persons to whom the Software is furnished to do
|
|
8
|
+
so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
|
11
|
+
copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
19
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# @kyuda/n8n-nodes-databricks
|
|
2
|
+
|
|
3
|
+
Comprehensive Databricks integration for n8n. Provides nodes for SQL, Unity Catalog, Jobs, Clusters, Files, Genie AI, Vector Search, Model Serving, and LangChain AI Agent / Chat / Embedding / Vector Store nodes.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Genie AI Assistant** -- Start conversations, send messages, and execute SQL queries through Databricks' AI assistant
|
|
8
|
+
- **Databricks SQL** -- Execute SQL queries with automatic chunked result retrieval
|
|
9
|
+
- **Unity Catalog** -- Manage catalogs, schemas, tables, volumes, and functions
|
|
10
|
+
- **Model Serving** -- Query deployed ML/LLM endpoints with auto-detected input format
|
|
11
|
+
- **Files** -- Upload, download, list, and manage files in Unity Catalog volumes (up to 5 GiB)
|
|
12
|
+
- **Vector Search** -- Semantic similarity search with reranking support
|
|
13
|
+
- **Jobs** -- Run, create, list, cancel, and monitor Databricks job runs
|
|
14
|
+
- **Clusters** -- List, create, start, stop, and delete Databricks compute clusters
|
|
15
|
+
- **LmChatDatabricks** -- LangChain Chat Model node for Databricks Foundation Model endpoints
|
|
16
|
+
- **EmbeddingsDatabricks** -- LangChain Embeddings node for Databricks embedding endpoints
|
|
17
|
+
- **VectorStoreDatabricks** -- LangChain Vector Store node backed by Databricks Vector Search
|
|
18
|
+
- **DatabricksAiAgent** -- Full AI Agent node with optional MLflow tracing
|
|
19
|
+
|
|
20
|
+
## Prerequisites
|
|
21
|
+
|
|
22
|
+
- Node.js 18+
|
|
23
|
+
- pnpm
|
|
24
|
+
- A Databricks workspace with credentials (PAT or OAuth Service Principal)
|
|
25
|
+
|
|
26
|
+
## Installation
|
|
27
|
+
|
|
28
|
+
### For Development
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
git clone https://github.com/kyudahq/n8n.git
|
|
32
|
+
cd n8n/@kyuda/n8n-nodes-databricks
|
|
33
|
+
pnpm install
|
|
34
|
+
pnpm build
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Link to your n8n installation:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm link
|
|
41
|
+
cd ~/.n8n/custom
|
|
42
|
+
npm link @kyuda/n8n-nodes-databricks
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### From npm
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
npm install @kyuda/n8n-nodes-databricks
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Credentials
|
|
52
|
+
|
|
53
|
+
Two authentication methods are supported:
|
|
54
|
+
|
|
55
|
+
### Personal Access Token (default)
|
|
56
|
+
|
|
57
|
+
1. **Host** -- Your Databricks workspace URL (e.g. `https://adb-1234567890123456.7.azuredatabricks.net`)
|
|
58
|
+
2. **Token** -- A Databricks personal access token (generate at User Settings > Access Tokens)
|
|
59
|
+
|
|
60
|
+
### OAuth M2M (Service Principal)
|
|
61
|
+
|
|
62
|
+
1. **Host** -- Your Databricks workspace URL
|
|
63
|
+
2. **Client ID** -- The application (client) ID of a Databricks service principal
|
|
64
|
+
3. **Client Secret** -- The secret associated with the service principal
|
|
65
|
+
|
|
66
|
+
The OAuth flow uses `grant_type=client_credentials` against your workspace's `/oidc/v1/token` endpoint. Tokens are cached and refreshed automatically.
|
|
67
|
+
|
|
68
|
+
## Resources and Operations
|
|
69
|
+
|
|
70
|
+
### Databricks (main node)
|
|
71
|
+
|
|
72
|
+
| Resource | Operations |
|
|
73
|
+
|---|---|
|
|
74
|
+
| **Genie** | Start Conversation, Create Message, Get Message, Execute Message Query, Get Query Results, Get Space |
|
|
75
|
+
| **Databricks SQL** | Execute Query |
|
|
76
|
+
| **Unity Catalog** | Create/Get/Update/Delete Catalog, List Catalogs, Create/Get/Update/Delete Schema, List Schemas, Create/Get/Delete Volume, List Volumes, Get/List Tables, Create/Get/Delete Function, List Functions |
|
|
77
|
+
| **Model Serving** | Query Endpoint (auto-detects chat/completions/embeddings/dataframe formats) |
|
|
78
|
+
| **Files** | Upload File, Download File, Delete File, Get File Info, List Directory, Create Directory, Delete Directory |
|
|
79
|
+
| **Vector Search** | Query Index, Get Index, List Indexes |
|
|
80
|
+
| **Jobs** | Run Job, Get Run Status, Get Run Output, Create Job, List Jobs, Cancel Run, List Runs |
|
|
81
|
+
| **Clusters** | List Clusters, Get Cluster, Create Cluster, Start Cluster, Stop Cluster, Delete Cluster |
|
|
82
|
+
|
|
83
|
+
### LangChain Nodes
|
|
84
|
+
|
|
85
|
+
| Node | Description |
|
|
86
|
+
|---|---|
|
|
87
|
+
| **LmChatDatabricks** | Chat model for Databricks Foundation Model APIs or external model endpoints |
|
|
88
|
+
| **EmbeddingsDatabricks** | Text embeddings via Databricks serving endpoints |
|
|
89
|
+
| **VectorStoreDatabricks** | Vector store backed by Databricks Vector Search indexes |
|
|
90
|
+
| **DatabricksAiAgent** | AI agent with tool calling, memory, structured output, streaming, and optional MLflow tracing |
|
|
91
|
+
|
|
92
|
+
## Architecture
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
@kyuda/n8n-nodes-databricks/
|
|
96
|
+
├── credentials/
|
|
97
|
+
│ └── Databricks.credentials.ts # PAT + OAuth M2M
|
|
98
|
+
├── nodes/
|
|
99
|
+
│ ├── Databricks/
|
|
100
|
+
│ │ ├── Databricks.node.ts # Main node (slim dispatcher)
|
|
101
|
+
│ │ ├── helpers.ts # Shared HTTP helper, cache, security utils
|
|
102
|
+
│ │ └── resources/
|
|
103
|
+
│ │ ├── index.ts # Barrel exports
|
|
104
|
+
│ │ ├── files/ # operations, parameters, handler
|
|
105
|
+
│ │ ├── genie/ # operations, parameters, handler
|
|
106
|
+
│ │ ├── databricksSql/ # operations, parameters, handler
|
|
107
|
+
│ │ ├── modelServing/ # operations, parameters, handler
|
|
108
|
+
│ │ ├── unityCatalog/ # operations, parameters, handler
|
|
109
|
+
│ │ ├── vectorSearch/ # operations, parameters, handler
|
|
110
|
+
│ │ ├── jobs/ # operations, parameters, handler
|
|
111
|
+
│ │ └── clusters/ # operations, parameters, handler
|
|
112
|
+
│ ├── agents/DatabricksAiAgent/ # AI Agent with MLflow
|
|
113
|
+
│ ├── llms/LmChatDatabricks/ # LangChain Chat Model
|
|
114
|
+
│ ├── embeddings/EmbeddingsDatabricks/# LangChain Embeddings
|
|
115
|
+
│ └── vector_store/VectorStoreDatabricks/ # LangChain Vector Store
|
|
116
|
+
└── utils/
|
|
117
|
+
├── DatabricksVectorStoreLangChain.ts
|
|
118
|
+
├── N8nTool.ts
|
|
119
|
+
├── N8nBinaryLoader.ts
|
|
120
|
+
└── descriptions.ts
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Execution Flow
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
User selects Resource → Operation → fills Parameters
|
|
127
|
+
↓
|
|
128
|
+
execute() dispatcher (Databricks.node.ts)
|
|
129
|
+
↓
|
|
130
|
+
handlers[resource](ctx, operation, itemIndex)
|
|
131
|
+
↓
|
|
132
|
+
Per-resource handler file (e.g. resources/jobs/handler.ts)
|
|
133
|
+
↓
|
|
134
|
+
databricksApiRequest() (shared helper with auth, host normalization)
|
|
135
|
+
↓
|
|
136
|
+
Databricks REST API
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Security
|
|
140
|
+
|
|
141
|
+
- **Token masking** -- Bearer tokens and PAT values are scrubbed from all error messages and logs
|
|
142
|
+
- **URL encoding** -- All user-provided path segments are passed through `encodeURIComponent`
|
|
143
|
+
- **Path traversal protection** -- File operations reject paths containing `..`
|
|
144
|
+
- **Cache isolation** -- Cache keys include a hash of the credential token, preventing cross-user cache leaks
|
|
145
|
+
|
|
146
|
+
## Databricks AI Agent
|
|
147
|
+
|
|
148
|
+
The **Databricks AI Agent** node provides a LangChain-based agent with:
|
|
149
|
+
|
|
150
|
+
- **Tool Calling** -- Supports any LangChain tool or MCP toolkit
|
|
151
|
+
- **Memory** -- Conversation history via BaseChatMemory
|
|
152
|
+
- **Structured Output** -- Optional output parser for validated JSON
|
|
153
|
+
- **Streaming** -- Real-time token streaming support
|
|
154
|
+
- **Fallback Models** -- Automatic failover to a secondary model
|
|
155
|
+
- **MLflow Tracing** -- Optional observability with automatic experiment management
|
|
156
|
+
|
|
157
|
+
When MLflow is enabled, traces appear under `/Shared/n8n-workflows-{workflow-id}` with spans for agent execution, LLM calls, and tool invocations.
|
|
158
|
+
|
|
159
|
+
## Development
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
pnpm build # Build the node
|
|
163
|
+
pnpm test # Run tests
|
|
164
|
+
pnpm lint # Lint
|
|
165
|
+
pnpm lintfix # Auto-fix lint issues
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Contributing
|
|
169
|
+
|
|
170
|
+
Contributions are welcome. Please submit a Pull Request at [github.com/kyudahq/n8n](https://github.com/kyudahq/n8n).
|
|
171
|
+
|
|
172
|
+
## Resources
|
|
173
|
+
|
|
174
|
+
- [n8n Documentation](https://docs.n8n.io/)
|
|
175
|
+
- [Databricks API Documentation](https://docs.databricks.com/api/)
|
|
176
|
+
- [n8n Community](https://community.n8n.io/)
|
|
177
|
+
|
|
178
|
+
## License
|
|
179
|
+
|
|
180
|
+
[MIT](LICENSE.md)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare class Databricks implements ICredentialType {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
documentationUrl: string;
|
|
6
|
+
icon: "file:databricks.svg";
|
|
7
|
+
properties: INodeProperties[];
|
|
8
|
+
authenticate: IAuthenticateGeneric;
|
|
9
|
+
test: ICredentialTestRequest;
|
|
10
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Databricks = void 0;
|
|
4
|
+
class Databricks {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'databricks';
|
|
7
|
+
this.displayName = 'Databricks';
|
|
8
|
+
this.documentationUrl = 'https://docs.databricks.com/dev-tools/api/latest/authentication.html';
|
|
9
|
+
this.icon = 'file:databricks.svg';
|
|
10
|
+
this.properties = [
|
|
11
|
+
{
|
|
12
|
+
displayName: 'Authentication Type',
|
|
13
|
+
name: 'authType',
|
|
14
|
+
type: 'options',
|
|
15
|
+
options: [
|
|
16
|
+
{
|
|
17
|
+
name: 'Personal Access Token',
|
|
18
|
+
value: 'pat',
|
|
19
|
+
description: 'Authenticate with a Databricks personal access token',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'OAuth M2M (Service Principal)',
|
|
23
|
+
value: 'oauthM2M',
|
|
24
|
+
description: 'Authenticate with a service principal using OAuth client credentials',
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
default: 'pat',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
displayName: 'Host',
|
|
31
|
+
name: 'host',
|
|
32
|
+
type: 'string',
|
|
33
|
+
default: '',
|
|
34
|
+
placeholder: 'https://adb-xxxxx.xx.azure.databricks.com',
|
|
35
|
+
required: true,
|
|
36
|
+
description: 'Domain of your Databricks workspace',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
displayName: 'Personal Access Token',
|
|
40
|
+
name: 'token',
|
|
41
|
+
type: 'string',
|
|
42
|
+
typeOptions: { password: true },
|
|
43
|
+
default: '',
|
|
44
|
+
placeholder: 'dapixxxxxxxxxxxxxxxxxxxxxx',
|
|
45
|
+
required: true,
|
|
46
|
+
description: 'Databricks personal access token',
|
|
47
|
+
displayOptions: { show: { authType: ['pat'] } },
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
displayName: 'Client ID',
|
|
51
|
+
name: 'clientId',
|
|
52
|
+
type: 'string',
|
|
53
|
+
default: '',
|
|
54
|
+
required: true,
|
|
55
|
+
placeholder: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
|
|
56
|
+
description: 'Application (client) ID of the Databricks service principal',
|
|
57
|
+
displayOptions: { show: { authType: ['oauthM2M'] } },
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
displayName: 'Client Secret',
|
|
61
|
+
name: 'clientSecret',
|
|
62
|
+
type: 'string',
|
|
63
|
+
typeOptions: { password: true },
|
|
64
|
+
default: '',
|
|
65
|
+
required: true,
|
|
66
|
+
description: 'Client secret of the Databricks service principal',
|
|
67
|
+
displayOptions: { show: { authType: ['oauthM2M'] } },
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
this.authenticate = {
|
|
71
|
+
type: 'generic',
|
|
72
|
+
properties: {
|
|
73
|
+
headers: {
|
|
74
|
+
Authorization: '=Bearer {{$credentials.token}}',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
this.test = {
|
|
79
|
+
request: {
|
|
80
|
+
baseURL: '={{$credentials.host}}',
|
|
81
|
+
url: '/api/2.0/serving-endpoints',
|
|
82
|
+
method: 'GET',
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.Databricks = Databricks;
|
|
88
|
+
//# sourceMappingURL=Databricks.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Databricks.credentials.js","sourceRoot":"","sources":["../../credentials/Databricks.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,UAAU;IAAvB;QACI,SAAI,GAAG,YAAY,CAAC;QACpB,gBAAW,GAAG,YAAY,CAAC;QAC3B,qBAAgB,GAAG,sEAAsE,CAAC;QAC1F,SAAI,GAAG,qBAA8B,CAAC;QACtC,eAAU,GAAsB;YAC5B;gBACI,WAAW,EAAE,qBAAqB;gBAClC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,uBAAuB;wBAC7B,KAAK,EAAE,KAAK;wBACZ,WAAW,EAAE,sDAAsD;qBACtE;oBACD;wBACI,IAAI,EAAE,+BAA+B;wBACrC,KAAK,EAAE,UAAU;wBACjB,WAAW,EACP,sEAAsE;qBAC7E;iBACJ;gBACD,OAAO,EAAE,KAAK;aACjB;YACD;gBACI,WAAW,EAAE,MAAM;gBACnB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,2CAA2C;gBACxD,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,qCAAqC;aACrD;YAGD;gBACI,WAAW,EAAE,uBAAuB;gBACpC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,4BAA4B;gBACzC,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,kCAAkC;gBAC/C,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE;aAClD;YAGD;gBACI,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,sCAAsC;gBACnD,WAAW,EACP,6DAA6D;gBACjE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE;aACvD;YACD;gBACI,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,mDAAmD;gBAChE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE;aACvD;SACJ,CAAC;QAEF,iBAAY,GAAyB;YACjC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACR,OAAO,EAAE;oBACL,aAAa,EAAE,gCAAgC;iBAClD;aACJ;SACJ,CAAC;QAEF,SAAI,GAA2B;YAC3B,OAAO,EAAE;gBACL,OAAO,EAAE,wBAAwB;gBACjC,GAAG,EAAE,4BAA4B;gBACjC,MAAM,EAAE,KAAK;aAChB;SACJ,CAAC;IACN,CAAC;CAAA;AAxFD,gCAwFC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<svg version="1.1" id="Layer_1" xmlns:x="ns_extend;" xmlns:i="ns_ai;" xmlns:graph="ns_graphs;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 40.1 42" style="enable-background:new 0 0 40.1 42;" xml:space="preserve">
|
|
2
|
+
<style type="text/css">
|
|
3
|
+
.st0{fill:#FF3621;}
|
|
4
|
+
</style>
|
|
5
|
+
<metadata>
|
|
6
|
+
<sfw xmlns="ns_sfw;">
|
|
7
|
+
<slices>
|
|
8
|
+
</slices>
|
|
9
|
+
<sliceSourceBounds bottomLeftOrigin="true" height="42" width="40.1" x="-69.1" y="-10.5">
|
|
10
|
+
</sliceSourceBounds>
|
|
11
|
+
</sfw>
|
|
12
|
+
</metadata>
|
|
13
|
+
<g>
|
|
14
|
+
<path class="st0" d="M40.1,31.1v-7.4l-0.8-0.5L20.1,33.7l-18.2-10l0-4.3l18.2,9.9l20.1-10.9v-7.3l-0.8-0.5L20.1,21.2L2.6,11.6
|
|
15
|
+
L20.1,2l14.1,7.7l1.1-0.6V8.3L20.1,0L0,10.9V12L20.1,23l18.2-10v4.4l-18.2,10L0.8,16.8L0,17.3v7.4l20.1,10.9l18.2-9.9v4.3l-18.2,10
|
|
16
|
+
L0.8,29.5L0,30v1.1L20.1,42L40.1,31.1z">
|
|
17
|
+
</path>
|
|
18
|
+
</g>
|
|
19
|
+
</svg>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription, ILoadOptionsFunctions, INodeListSearchResult } from 'n8n-workflow';
|
|
2
|
+
export declare class Databricks implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
methods: {
|
|
5
|
+
listSearch: {
|
|
6
|
+
getWarehouses(this: ILoadOptionsFunctions, filter?: string): Promise<INodeListSearchResult>;
|
|
7
|
+
getEndpoints(this: ILoadOptionsFunctions, filter?: string): Promise<INodeListSearchResult>;
|
|
8
|
+
getCatalogs(this: ILoadOptionsFunctions, filter?: string): Promise<INodeListSearchResult>;
|
|
9
|
+
getSchemas(this: ILoadOptionsFunctions, filter?: string): Promise<INodeListSearchResult>;
|
|
10
|
+
getVolumes(this: ILoadOptionsFunctions, filter?: string): Promise<INodeListSearchResult>;
|
|
11
|
+
getTables(this: ILoadOptionsFunctions, filter?: string): Promise<INodeListSearchResult>;
|
|
12
|
+
getFunctions(this: ILoadOptionsFunctions, filter?: string): Promise<INodeListSearchResult>;
|
|
13
|
+
getJobs(this: ILoadOptionsFunctions, filter?: string): Promise<INodeListSearchResult>;
|
|
14
|
+
getClusters(this: ILoadOptionsFunctions, filter?: string): Promise<INodeListSearchResult>;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
18
|
+
}
|