@mcp-consultant-tools/azure-data-factory 27.0.0-beta.1
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/build/AdfService.d.ts +156 -0
- package/build/AdfService.d.ts.map +1 -0
- package/build/AdfService.js +482 -0
- package/build/AdfService.js.map +1 -0
- package/build/index.d.ts +9 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +911 -0
- package/build/index.js.map +1 -0
- package/build/types.d.ts +335 -0
- package/build/types.d.ts.map +1 -0
- package/build/types.js +5 -0
- package/build/types.js.map +1 -0
- package/build/utils/formatters.d.ts +41 -0
- package/build/utils/formatters.d.ts.map +1 -0
- package/build/utils/formatters.js +269 -0
- package/build/utils/formatters.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Azure Data Factory Service
|
|
3
|
+
* Provides authentication and API operations for ADF.
|
|
4
|
+
*/
|
|
5
|
+
import type { AdfConfig, AdfFactoryConfig, Pipeline, PipelineRun, CreateRunResponse, QueryPipelineRunsRequest, QueryPipelineRunsResponse, ActivityRun, QueryActivityRunsRequest, QueryActivityRunsResponse, Dataset, LinkedService, DataFlow, Trigger, QueryTriggerRunsRequest, QueryTriggerRunsResponse, IntegrationRuntime, IntegrationRuntimeStatus } from './types.js';
|
|
6
|
+
export declare class AdfService {
|
|
7
|
+
private config;
|
|
8
|
+
private msalClient;
|
|
9
|
+
private accessToken;
|
|
10
|
+
private tokenExpirationTime;
|
|
11
|
+
constructor(config: AdfConfig);
|
|
12
|
+
/**
|
|
13
|
+
* Get an access token for Azure Management API
|
|
14
|
+
*/
|
|
15
|
+
private getAccessToken;
|
|
16
|
+
/**
|
|
17
|
+
* Get authorization headers
|
|
18
|
+
*/
|
|
19
|
+
private getAuthHeaders;
|
|
20
|
+
/**
|
|
21
|
+
* Get all configured factories
|
|
22
|
+
*/
|
|
23
|
+
getAllFactories(): AdfFactoryConfig[];
|
|
24
|
+
/**
|
|
25
|
+
* Get active factories
|
|
26
|
+
*/
|
|
27
|
+
getActiveFactories(): AdfFactoryConfig[];
|
|
28
|
+
/**
|
|
29
|
+
* Get factory by ID
|
|
30
|
+
*/
|
|
31
|
+
getFactoryById(factoryId: string): AdfFactoryConfig;
|
|
32
|
+
/**
|
|
33
|
+
* Get the default factory (first active factory)
|
|
34
|
+
*/
|
|
35
|
+
getDefaultFactory(): AdfFactoryConfig;
|
|
36
|
+
/**
|
|
37
|
+
* Get factory by ID or default
|
|
38
|
+
*/
|
|
39
|
+
resolveFactory(factoryId?: string): AdfFactoryConfig;
|
|
40
|
+
/**
|
|
41
|
+
* Get base URL for a factory
|
|
42
|
+
*/
|
|
43
|
+
private getBaseUrl;
|
|
44
|
+
/**
|
|
45
|
+
* Check if write operations are enabled
|
|
46
|
+
*/
|
|
47
|
+
isWriteEnabled(): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Check if trigger control is enabled
|
|
50
|
+
*/
|
|
51
|
+
isTriggerControlEnabled(): boolean;
|
|
52
|
+
private get;
|
|
53
|
+
private post;
|
|
54
|
+
private handleError;
|
|
55
|
+
/**
|
|
56
|
+
* List all pipelines in a factory
|
|
57
|
+
*/
|
|
58
|
+
listPipelines(factoryId?: string): Promise<Pipeline[]>;
|
|
59
|
+
/**
|
|
60
|
+
* Get a pipeline by name
|
|
61
|
+
*/
|
|
62
|
+
getPipeline(pipelineName: string, factoryId?: string): Promise<Pipeline>;
|
|
63
|
+
/**
|
|
64
|
+
* Run a pipeline with optional parameters
|
|
65
|
+
*/
|
|
66
|
+
runPipeline(pipelineName: string, parameters?: Record<string, any>, factoryId?: string, options?: {
|
|
67
|
+
referencePipelineRunId?: string;
|
|
68
|
+
isRecovery?: boolean;
|
|
69
|
+
startFromFailure?: boolean;
|
|
70
|
+
startActivityName?: string;
|
|
71
|
+
}): Promise<CreateRunResponse>;
|
|
72
|
+
/**
|
|
73
|
+
* Get a pipeline run by ID
|
|
74
|
+
*/
|
|
75
|
+
getPipelineRun(runId: string, factoryId?: string): Promise<PipelineRun>;
|
|
76
|
+
/**
|
|
77
|
+
* Cancel a pipeline run
|
|
78
|
+
*/
|
|
79
|
+
cancelPipelineRun(runId: string, factoryId?: string): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Query pipeline runs with filters
|
|
82
|
+
*/
|
|
83
|
+
queryPipelineRuns(request: QueryPipelineRunsRequest, factoryId?: string): Promise<QueryPipelineRunsResponse>;
|
|
84
|
+
/**
|
|
85
|
+
* Query activity runs for a pipeline run
|
|
86
|
+
*/
|
|
87
|
+
queryActivityRuns(runId: string, request: QueryActivityRunsRequest, factoryId?: string): Promise<QueryActivityRunsResponse>;
|
|
88
|
+
/**
|
|
89
|
+
* Get activity runs for a pipeline run (simplified)
|
|
90
|
+
*/
|
|
91
|
+
getActivityRuns(runId: string, factoryId?: string, filters?: {
|
|
92
|
+
status?: string;
|
|
93
|
+
activityName?: string;
|
|
94
|
+
}): Promise<ActivityRun[]>;
|
|
95
|
+
/**
|
|
96
|
+
* List all datasets in a factory
|
|
97
|
+
*/
|
|
98
|
+
listDatasets(factoryId?: string): Promise<Dataset[]>;
|
|
99
|
+
/**
|
|
100
|
+
* Get a dataset by name
|
|
101
|
+
*/
|
|
102
|
+
getDataset(datasetName: string, factoryId?: string): Promise<Dataset>;
|
|
103
|
+
/**
|
|
104
|
+
* List all linked services in a factory (credentials sanitized)
|
|
105
|
+
*/
|
|
106
|
+
listLinkedServices(factoryId?: string): Promise<LinkedService[]>;
|
|
107
|
+
/**
|
|
108
|
+
* Sanitize linked service to remove sensitive data
|
|
109
|
+
*/
|
|
110
|
+
private sanitizeLinkedService;
|
|
111
|
+
/**
|
|
112
|
+
* List all data flows in a factory
|
|
113
|
+
*/
|
|
114
|
+
listDataFlows(factoryId?: string): Promise<DataFlow[]>;
|
|
115
|
+
/**
|
|
116
|
+
* Get a data flow by name
|
|
117
|
+
*/
|
|
118
|
+
getDataFlow(dataFlowName: string, factoryId?: string): Promise<DataFlow>;
|
|
119
|
+
/**
|
|
120
|
+
* List all triggers in a factory
|
|
121
|
+
*/
|
|
122
|
+
listTriggers(factoryId?: string): Promise<Trigger[]>;
|
|
123
|
+
/**
|
|
124
|
+
* Get a trigger by name
|
|
125
|
+
*/
|
|
126
|
+
getTrigger(triggerName: string, factoryId?: string): Promise<Trigger>;
|
|
127
|
+
/**
|
|
128
|
+
* Start a trigger
|
|
129
|
+
*/
|
|
130
|
+
startTrigger(triggerName: string, factoryId?: string): Promise<void>;
|
|
131
|
+
/**
|
|
132
|
+
* Stop a trigger
|
|
133
|
+
*/
|
|
134
|
+
stopTrigger(triggerName: string, factoryId?: string): Promise<void>;
|
|
135
|
+
/**
|
|
136
|
+
* Query trigger runs
|
|
137
|
+
*/
|
|
138
|
+
queryTriggerRuns(request: QueryTriggerRunsRequest, factoryId?: string): Promise<QueryTriggerRunsResponse>;
|
|
139
|
+
/**
|
|
140
|
+
* List all integration runtimes in a factory
|
|
141
|
+
*/
|
|
142
|
+
listIntegrationRuntimes(factoryId?: string): Promise<IntegrationRuntime[]>;
|
|
143
|
+
/**
|
|
144
|
+
* Get integration runtime status
|
|
145
|
+
*/
|
|
146
|
+
getIntegrationRuntimeStatus(irName: string, factoryId?: string): Promise<IntegrationRuntimeStatus>;
|
|
147
|
+
/**
|
|
148
|
+
* Start an integration runtime (managed IR only)
|
|
149
|
+
*/
|
|
150
|
+
startIntegrationRuntime(irName: string, factoryId?: string): Promise<void>;
|
|
151
|
+
/**
|
|
152
|
+
* Stop an integration runtime (managed IR only)
|
|
153
|
+
*/
|
|
154
|
+
stopIntegrationRuntime(irName: string, factoryId?: string): Promise<void>;
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=AdfService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdfService.d.ts","sourceRoot":"","sources":["../src/AdfService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,482 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Azure Data Factory Service
|
|
3
|
+
* Provides authentication and API operations for ADF.
|
|
4
|
+
*/
|
|
5
|
+
import { ConfidentialClientApplication } from '@azure/msal-node';
|
|
6
|
+
import axios from 'axios';
|
|
7
|
+
const API_VERSION = '2018-06-01';
|
|
8
|
+
export class AdfService {
|
|
9
|
+
config;
|
|
10
|
+
msalClient;
|
|
11
|
+
accessToken = null;
|
|
12
|
+
tokenExpirationTime = 0;
|
|
13
|
+
constructor(config) {
|
|
14
|
+
this.config = config;
|
|
15
|
+
// Initialize MSAL client
|
|
16
|
+
this.msalClient = new ConfidentialClientApplication({
|
|
17
|
+
auth: {
|
|
18
|
+
clientId: config.clientId,
|
|
19
|
+
clientSecret: config.clientSecret,
|
|
20
|
+
authority: `https://login.microsoftonline.com/${config.tenantId}`,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
// ========================================
|
|
25
|
+
// Authentication
|
|
26
|
+
// ========================================
|
|
27
|
+
/**
|
|
28
|
+
* Get an access token for Azure Management API
|
|
29
|
+
*/
|
|
30
|
+
async getAccessToken() {
|
|
31
|
+
const currentTime = Date.now();
|
|
32
|
+
// Return cached token if still valid (with 5 minute buffer)
|
|
33
|
+
if (this.accessToken && this.tokenExpirationTime > currentTime) {
|
|
34
|
+
return this.accessToken;
|
|
35
|
+
}
|
|
36
|
+
try {
|
|
37
|
+
const result = await this.msalClient.acquireTokenByClientCredential({
|
|
38
|
+
scopes: ['https://management.azure.com/.default'],
|
|
39
|
+
});
|
|
40
|
+
if (!result || !result.accessToken) {
|
|
41
|
+
throw new Error('Failed to acquire access token');
|
|
42
|
+
}
|
|
43
|
+
this.accessToken = result.accessToken;
|
|
44
|
+
// Set expiration time (subtract 5 minutes to refresh early)
|
|
45
|
+
if (result.expiresOn) {
|
|
46
|
+
this.tokenExpirationTime = result.expiresOn.getTime() - 5 * 60 * 1000;
|
|
47
|
+
}
|
|
48
|
+
return this.accessToken;
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
console.error('Error acquiring access token:', error);
|
|
52
|
+
throw new Error('Azure Data Factory authentication failed');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get authorization headers
|
|
57
|
+
*/
|
|
58
|
+
async getAuthHeaders() {
|
|
59
|
+
const token = await this.getAccessToken();
|
|
60
|
+
return {
|
|
61
|
+
Authorization: `Bearer ${token}`,
|
|
62
|
+
'Content-Type': 'application/json',
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
// ========================================
|
|
66
|
+
// Factory Configuration
|
|
67
|
+
// ========================================
|
|
68
|
+
/**
|
|
69
|
+
* Get all configured factories
|
|
70
|
+
*/
|
|
71
|
+
getAllFactories() {
|
|
72
|
+
return this.config.factories;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get active factories
|
|
76
|
+
*/
|
|
77
|
+
getActiveFactories() {
|
|
78
|
+
return this.config.factories.filter((f) => f.active);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get factory by ID
|
|
82
|
+
*/
|
|
83
|
+
getFactoryById(factoryId) {
|
|
84
|
+
const factory = this.config.factories.find((f) => f.id === factoryId);
|
|
85
|
+
if (!factory) {
|
|
86
|
+
throw new Error(`Data Factory '${factoryId}' not found in configuration`);
|
|
87
|
+
}
|
|
88
|
+
if (!factory.active) {
|
|
89
|
+
throw new Error(`Data Factory '${factoryId}' is inactive`);
|
|
90
|
+
}
|
|
91
|
+
return factory;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get the default factory (first active factory)
|
|
95
|
+
*/
|
|
96
|
+
getDefaultFactory() {
|
|
97
|
+
const active = this.getActiveFactories();
|
|
98
|
+
if (active.length === 0) {
|
|
99
|
+
throw new Error('No active Data Factory configured');
|
|
100
|
+
}
|
|
101
|
+
return active[0];
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Get factory by ID or default
|
|
105
|
+
*/
|
|
106
|
+
resolveFactory(factoryId) {
|
|
107
|
+
if (factoryId) {
|
|
108
|
+
return this.getFactoryById(factoryId);
|
|
109
|
+
}
|
|
110
|
+
return this.getDefaultFactory();
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Get base URL for a factory
|
|
114
|
+
*/
|
|
115
|
+
getBaseUrl(factory) {
|
|
116
|
+
return `https://management.azure.com/subscriptions/${factory.subscriptionId}/resourceGroups/${factory.resourceGroup}/providers/Microsoft.DataFactory/factories/${factory.factoryName}`;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Check if write operations are enabled
|
|
120
|
+
*/
|
|
121
|
+
isWriteEnabled() {
|
|
122
|
+
return this.config.enableWrite;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Check if trigger control is enabled
|
|
126
|
+
*/
|
|
127
|
+
isTriggerControlEnabled() {
|
|
128
|
+
return this.config.enableTriggerControl;
|
|
129
|
+
}
|
|
130
|
+
// ========================================
|
|
131
|
+
// HTTP Methods
|
|
132
|
+
// ========================================
|
|
133
|
+
async get(url) {
|
|
134
|
+
try {
|
|
135
|
+
const headers = await this.getAuthHeaders();
|
|
136
|
+
const response = await axios.get(url, {
|
|
137
|
+
headers,
|
|
138
|
+
timeout: 30000,
|
|
139
|
+
});
|
|
140
|
+
return response.data;
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
throw this.handleError(error);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
async post(url, data) {
|
|
147
|
+
try {
|
|
148
|
+
const headers = await this.getAuthHeaders();
|
|
149
|
+
const response = await axios.post(url, data, {
|
|
150
|
+
headers,
|
|
151
|
+
timeout: 60000, // Longer timeout for POST operations
|
|
152
|
+
});
|
|
153
|
+
return response.data;
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
throw this.handleError(error);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
handleError(error) {
|
|
160
|
+
if (axios.isAxiosError(error)) {
|
|
161
|
+
const axiosError = error;
|
|
162
|
+
// Handle timeout
|
|
163
|
+
if (axiosError.code === 'ECONNABORTED' || axiosError.code === 'ETIMEDOUT') {
|
|
164
|
+
return new Error('Azure Data Factory request timed out. ' +
|
|
165
|
+
'Try again or check if the factory is accessible.');
|
|
166
|
+
}
|
|
167
|
+
// Handle network errors
|
|
168
|
+
if (axiosError.code === 'ENOTFOUND' || axiosError.code === 'ECONNREFUSED') {
|
|
169
|
+
return new Error('Network error: Unable to connect to Azure Management API. ' +
|
|
170
|
+
'Check your internet connection and firewall settings.');
|
|
171
|
+
}
|
|
172
|
+
const status = axiosError.response?.status;
|
|
173
|
+
const errorMessage = axiosError.response?.data?.error?.message || axiosError.message;
|
|
174
|
+
if (status === 401) {
|
|
175
|
+
return new Error('Azure Data Factory authentication failed. Check credentials and permissions.');
|
|
176
|
+
}
|
|
177
|
+
if (status === 403) {
|
|
178
|
+
return new Error('Azure Data Factory access denied. Ensure you have the required RBAC role.');
|
|
179
|
+
}
|
|
180
|
+
if (status === 404) {
|
|
181
|
+
return new Error(`Resource not found: ${errorMessage}`);
|
|
182
|
+
}
|
|
183
|
+
if (status === 429) {
|
|
184
|
+
const retryAfter = axiosError.response?.headers['retry-after'] || 60;
|
|
185
|
+
return new Error(`Azure Management API rate limit exceeded. Retry after ${retryAfter} seconds.`);
|
|
186
|
+
}
|
|
187
|
+
return new Error(`Azure Data Factory API error: ${errorMessage}`);
|
|
188
|
+
}
|
|
189
|
+
if (error instanceof Error) {
|
|
190
|
+
return error;
|
|
191
|
+
}
|
|
192
|
+
return new Error('Unknown error occurred');
|
|
193
|
+
}
|
|
194
|
+
// ========================================
|
|
195
|
+
// Pipeline Operations
|
|
196
|
+
// ========================================
|
|
197
|
+
/**
|
|
198
|
+
* List all pipelines in a factory
|
|
199
|
+
*/
|
|
200
|
+
async listPipelines(factoryId) {
|
|
201
|
+
const factory = this.resolveFactory(factoryId);
|
|
202
|
+
const url = `${this.getBaseUrl(factory)}/pipelines?api-version=${API_VERSION}`;
|
|
203
|
+
const response = await this.get(url);
|
|
204
|
+
return response.value;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Get a pipeline by name
|
|
208
|
+
*/
|
|
209
|
+
async getPipeline(pipelineName, factoryId) {
|
|
210
|
+
const factory = this.resolveFactory(factoryId);
|
|
211
|
+
const url = `${this.getBaseUrl(factory)}/pipelines/${pipelineName}?api-version=${API_VERSION}`;
|
|
212
|
+
return this.get(url);
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Run a pipeline with optional parameters
|
|
216
|
+
*/
|
|
217
|
+
async runPipeline(pipelineName, parameters, factoryId, options) {
|
|
218
|
+
if (!this.config.enableWrite) {
|
|
219
|
+
throw new Error('Write operations are disabled. Set AZURE_DATA_FACTORY_ENABLE_WRITE=true to enable.');
|
|
220
|
+
}
|
|
221
|
+
const factory = this.resolveFactory(factoryId);
|
|
222
|
+
// Build URL with query parameters for recovery mode
|
|
223
|
+
let url = `${this.getBaseUrl(factory)}/pipelines/${pipelineName}/createRun?api-version=${API_VERSION}`;
|
|
224
|
+
if (options?.referencePipelineRunId) {
|
|
225
|
+
url += `&referencePipelineRunId=${options.referencePipelineRunId}`;
|
|
226
|
+
}
|
|
227
|
+
if (options?.isRecovery) {
|
|
228
|
+
url += '&isRecovery=true';
|
|
229
|
+
}
|
|
230
|
+
if (options?.startFromFailure) {
|
|
231
|
+
url += '&startFromFailure=true';
|
|
232
|
+
}
|
|
233
|
+
if (options?.startActivityName) {
|
|
234
|
+
url += `&startActivityName=${encodeURIComponent(options.startActivityName)}`;
|
|
235
|
+
}
|
|
236
|
+
return this.post(url, parameters || {});
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Get a pipeline run by ID
|
|
240
|
+
*/
|
|
241
|
+
async getPipelineRun(runId, factoryId) {
|
|
242
|
+
const factory = this.resolveFactory(factoryId);
|
|
243
|
+
const url = `${this.getBaseUrl(factory)}/pipelineruns/${runId}?api-version=${API_VERSION}`;
|
|
244
|
+
return this.get(url);
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Cancel a pipeline run
|
|
248
|
+
*/
|
|
249
|
+
async cancelPipelineRun(runId, factoryId) {
|
|
250
|
+
if (!this.config.enableWrite) {
|
|
251
|
+
throw new Error('Write operations are disabled. Set AZURE_DATA_FACTORY_ENABLE_WRITE=true to enable.');
|
|
252
|
+
}
|
|
253
|
+
const factory = this.resolveFactory(factoryId);
|
|
254
|
+
const url = `${this.getBaseUrl(factory)}/pipelineruns/${runId}/cancel?api-version=${API_VERSION}`;
|
|
255
|
+
await this.post(url);
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Query pipeline runs with filters
|
|
259
|
+
*/
|
|
260
|
+
async queryPipelineRuns(request, factoryId) {
|
|
261
|
+
const factory = this.resolveFactory(factoryId);
|
|
262
|
+
const url = `${this.getBaseUrl(factory)}/queryPipelineRuns?api-version=${API_VERSION}`;
|
|
263
|
+
return this.post(url, request);
|
|
264
|
+
}
|
|
265
|
+
// ========================================
|
|
266
|
+
// Activity Run Operations
|
|
267
|
+
// ========================================
|
|
268
|
+
/**
|
|
269
|
+
* Query activity runs for a pipeline run
|
|
270
|
+
*/
|
|
271
|
+
async queryActivityRuns(runId, request, factoryId) {
|
|
272
|
+
const factory = this.resolveFactory(factoryId);
|
|
273
|
+
const url = `${this.getBaseUrl(factory)}/pipelineruns/${runId}/queryActivityruns?api-version=${API_VERSION}`;
|
|
274
|
+
return this.post(url, request);
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Get activity runs for a pipeline run (simplified)
|
|
278
|
+
*/
|
|
279
|
+
async getActivityRuns(runId, factoryId, filters) {
|
|
280
|
+
// Use a wide time range to get all activities
|
|
281
|
+
const now = new Date();
|
|
282
|
+
const request = {
|
|
283
|
+
lastUpdatedAfter: new Date(now.getTime() - 30 * 24 * 60 * 60 * 1000).toISOString(), // 30 days ago
|
|
284
|
+
lastUpdatedBefore: new Date(now.getTime() + 24 * 60 * 60 * 1000).toISOString(), // Tomorrow
|
|
285
|
+
filters: [],
|
|
286
|
+
orderBy: [{ orderBy: 'ActivityRunStart', order: 'ASC' }],
|
|
287
|
+
};
|
|
288
|
+
if (filters?.status) {
|
|
289
|
+
request.filters.push({
|
|
290
|
+
operand: 'Status',
|
|
291
|
+
operator: 'Equals',
|
|
292
|
+
values: [filters.status],
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
if (filters?.activityName) {
|
|
296
|
+
request.filters.push({
|
|
297
|
+
operand: 'ActivityName',
|
|
298
|
+
operator: 'Equals',
|
|
299
|
+
values: [filters.activityName],
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
const response = await this.queryActivityRuns(runId, request, factoryId);
|
|
303
|
+
return response.value;
|
|
304
|
+
}
|
|
305
|
+
// ========================================
|
|
306
|
+
// Dataset Operations
|
|
307
|
+
// ========================================
|
|
308
|
+
/**
|
|
309
|
+
* List all datasets in a factory
|
|
310
|
+
*/
|
|
311
|
+
async listDatasets(factoryId) {
|
|
312
|
+
const factory = this.resolveFactory(factoryId);
|
|
313
|
+
const url = `${this.getBaseUrl(factory)}/datasets?api-version=${API_VERSION}`;
|
|
314
|
+
const response = await this.get(url);
|
|
315
|
+
return response.value;
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Get a dataset by name
|
|
319
|
+
*/
|
|
320
|
+
async getDataset(datasetName, factoryId) {
|
|
321
|
+
const factory = this.resolveFactory(factoryId);
|
|
322
|
+
const url = `${this.getBaseUrl(factory)}/datasets/${datasetName}?api-version=${API_VERSION}`;
|
|
323
|
+
return this.get(url);
|
|
324
|
+
}
|
|
325
|
+
// ========================================
|
|
326
|
+
// Linked Service Operations
|
|
327
|
+
// ========================================
|
|
328
|
+
/**
|
|
329
|
+
* List all linked services in a factory (credentials sanitized)
|
|
330
|
+
*/
|
|
331
|
+
async listLinkedServices(factoryId) {
|
|
332
|
+
const factory = this.resolveFactory(factoryId);
|
|
333
|
+
const url = `${this.getBaseUrl(factory)}/linkedservices?api-version=${API_VERSION}`;
|
|
334
|
+
const response = await this.get(url);
|
|
335
|
+
// Sanitize credentials
|
|
336
|
+
return response.value.map((ls) => this.sanitizeLinkedService(ls));
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Sanitize linked service to remove sensitive data
|
|
340
|
+
*/
|
|
341
|
+
sanitizeLinkedService(linkedService) {
|
|
342
|
+
const sanitized = { ...linkedService };
|
|
343
|
+
if (sanitized.properties.typeProperties) {
|
|
344
|
+
const props = { ...sanitized.properties.typeProperties };
|
|
345
|
+
// Common sensitive fields to redact
|
|
346
|
+
const sensitiveFields = [
|
|
347
|
+
'connectionString',
|
|
348
|
+
'password',
|
|
349
|
+
'secretAccessKey',
|
|
350
|
+
'accountKey',
|
|
351
|
+
'servicePrincipalKey',
|
|
352
|
+
'accessToken',
|
|
353
|
+
'refreshToken',
|
|
354
|
+
'encryptedCredential',
|
|
355
|
+
'credential',
|
|
356
|
+
];
|
|
357
|
+
for (const field of sensitiveFields) {
|
|
358
|
+
if (props[field]) {
|
|
359
|
+
props[field] = '[REDACTED]';
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
sanitized.properties = {
|
|
363
|
+
...sanitized.properties,
|
|
364
|
+
typeProperties: props,
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
return sanitized;
|
|
368
|
+
}
|
|
369
|
+
// ========================================
|
|
370
|
+
// Data Flow Operations
|
|
371
|
+
// ========================================
|
|
372
|
+
/**
|
|
373
|
+
* List all data flows in a factory
|
|
374
|
+
*/
|
|
375
|
+
async listDataFlows(factoryId) {
|
|
376
|
+
const factory = this.resolveFactory(factoryId);
|
|
377
|
+
const url = `${this.getBaseUrl(factory)}/dataflows?api-version=${API_VERSION}`;
|
|
378
|
+
const response = await this.get(url);
|
|
379
|
+
return response.value;
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Get a data flow by name
|
|
383
|
+
*/
|
|
384
|
+
async getDataFlow(dataFlowName, factoryId) {
|
|
385
|
+
const factory = this.resolveFactory(factoryId);
|
|
386
|
+
const url = `${this.getBaseUrl(factory)}/dataflows/${dataFlowName}?api-version=${API_VERSION}`;
|
|
387
|
+
return this.get(url);
|
|
388
|
+
}
|
|
389
|
+
// ========================================
|
|
390
|
+
// Trigger Operations
|
|
391
|
+
// ========================================
|
|
392
|
+
/**
|
|
393
|
+
* List all triggers in a factory
|
|
394
|
+
*/
|
|
395
|
+
async listTriggers(factoryId) {
|
|
396
|
+
const factory = this.resolveFactory(factoryId);
|
|
397
|
+
const url = `${this.getBaseUrl(factory)}/triggers?api-version=${API_VERSION}`;
|
|
398
|
+
const response = await this.get(url);
|
|
399
|
+
return response.value;
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Get a trigger by name
|
|
403
|
+
*/
|
|
404
|
+
async getTrigger(triggerName, factoryId) {
|
|
405
|
+
const factory = this.resolveFactory(factoryId);
|
|
406
|
+
const url = `${this.getBaseUrl(factory)}/triggers/${triggerName}?api-version=${API_VERSION}`;
|
|
407
|
+
return this.get(url);
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Start a trigger
|
|
411
|
+
*/
|
|
412
|
+
async startTrigger(triggerName, factoryId) {
|
|
413
|
+
if (!this.config.enableTriggerControl) {
|
|
414
|
+
throw new Error('Trigger control is disabled. Set AZURE_DATA_FACTORY_ENABLE_TRIGGER_CONTROL=true to enable.');
|
|
415
|
+
}
|
|
416
|
+
const factory = this.resolveFactory(factoryId);
|
|
417
|
+
const url = `${this.getBaseUrl(factory)}/triggers/${triggerName}/start?api-version=${API_VERSION}`;
|
|
418
|
+
await this.post(url);
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Stop a trigger
|
|
422
|
+
*/
|
|
423
|
+
async stopTrigger(triggerName, factoryId) {
|
|
424
|
+
if (!this.config.enableTriggerControl) {
|
|
425
|
+
throw new Error('Trigger control is disabled. Set AZURE_DATA_FACTORY_ENABLE_TRIGGER_CONTROL=true to enable.');
|
|
426
|
+
}
|
|
427
|
+
const factory = this.resolveFactory(factoryId);
|
|
428
|
+
const url = `${this.getBaseUrl(factory)}/triggers/${triggerName}/stop?api-version=${API_VERSION}`;
|
|
429
|
+
await this.post(url);
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* Query trigger runs
|
|
433
|
+
*/
|
|
434
|
+
async queryTriggerRuns(request, factoryId) {
|
|
435
|
+
const factory = this.resolveFactory(factoryId);
|
|
436
|
+
const url = `${this.getBaseUrl(factory)}/queryTriggerRuns?api-version=${API_VERSION}`;
|
|
437
|
+
return this.post(url, request);
|
|
438
|
+
}
|
|
439
|
+
// ========================================
|
|
440
|
+
// Integration Runtime Operations
|
|
441
|
+
// ========================================
|
|
442
|
+
/**
|
|
443
|
+
* List all integration runtimes in a factory
|
|
444
|
+
*/
|
|
445
|
+
async listIntegrationRuntimes(factoryId) {
|
|
446
|
+
const factory = this.resolveFactory(factoryId);
|
|
447
|
+
const url = `${this.getBaseUrl(factory)}/integrationRuntimes?api-version=${API_VERSION}`;
|
|
448
|
+
const response = await this.get(url);
|
|
449
|
+
return response.value;
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Get integration runtime status
|
|
453
|
+
*/
|
|
454
|
+
async getIntegrationRuntimeStatus(irName, factoryId) {
|
|
455
|
+
const factory = this.resolveFactory(factoryId);
|
|
456
|
+
const url = `${this.getBaseUrl(factory)}/integrationRuntimes/${irName}/getStatus?api-version=${API_VERSION}`;
|
|
457
|
+
return this.post(url);
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* Start an integration runtime (managed IR only)
|
|
461
|
+
*/
|
|
462
|
+
async startIntegrationRuntime(irName, factoryId) {
|
|
463
|
+
if (!this.config.enableWrite) {
|
|
464
|
+
throw new Error('Write operations are disabled. Set AZURE_DATA_FACTORY_ENABLE_WRITE=true to enable.');
|
|
465
|
+
}
|
|
466
|
+
const factory = this.resolveFactory(factoryId);
|
|
467
|
+
const url = `${this.getBaseUrl(factory)}/integrationRuntimes/${irName}/start?api-version=${API_VERSION}`;
|
|
468
|
+
await this.post(url);
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Stop an integration runtime (managed IR only)
|
|
472
|
+
*/
|
|
473
|
+
async stopIntegrationRuntime(irName, factoryId) {
|
|
474
|
+
if (!this.config.enableWrite) {
|
|
475
|
+
throw new Error('Write operations are disabled. Set AZURE_DATA_FACTORY_ENABLE_WRITE=true to enable.');
|
|
476
|
+
}
|
|
477
|
+
const factory = this.resolveFactory(factoryId);
|
|
478
|
+
const url = `${this.getBaseUrl(factory)}/integrationRuntimes/${irName}/stop?api-version=${API_VERSION}`;
|
|
479
|
+
await this.post(url);
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
//# sourceMappingURL=AdfService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdfService.js","sourceRoot":"","sources":["../src/AdfService.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Azure Data Factory MCP Server
|
|
4
|
+
*
|
|
5
|
+
* Provides tools for pipeline execution, monitoring, and error debugging.
|
|
6
|
+
*/
|
|
7
|
+
import { AdfService } from './AdfService.js';
|
|
8
|
+
export declare function registerAzureDataFactoryTools(server: any, adfService?: AdfService): void;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAOH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAY7C,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,GAAG,EACX,UAAU,CAAC,EAAE,UAAU,QAkrCxB"}
|