dataiku-sdk 3.4.0 → 3.6.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/README.md +4 -4
- package/bin/dss.js +28 -2
- package/dist/build-metadata.json +1 -1
- package/dist/src/cli/coerce.d.ts +0 -1
- package/dist/src/cli/coerce.js +0 -5
- package/dist/src/cli/command-syntax.json +14524 -0
- package/dist/src/cli/commands/analysis.js +6 -9
- package/dist/src/cli/commands/api-deployer.js +15 -33
- package/dist/src/cli/commands/api-service.js +17 -27
- package/dist/src/cli/commands/app.js +25 -41
- package/dist/src/cli/commands/bundle.js +15 -24
- package/dist/src/cli/commands/business-app.js +10 -17
- package/dist/src/cli/commands/code-env.js +23 -36
- package/dist/src/cli/commands/code.js +4 -4
- package/dist/src/cli/commands/connection.js +12 -22
- package/dist/src/cli/commands/continuous-activity.js +6 -9
- package/dist/src/cli/commands/dashboard.js +8 -13
- package/dist/src/cli/commands/data-collection.js +9 -16
- package/dist/src/cli/commands/data-quality.js +14 -26
- package/dist/src/cli/commands/dataset.js +29 -54
- package/dist/src/cli/commands/discussion.js +7 -10
- package/dist/src/cli/commands/doctor.js +3 -3
- package/dist/src/cli/commands/flow-zone.js +8 -17
- package/dist/src/cli/commands/folder.js +12 -20
- package/dist/src/cli/commands/future.js +7 -10
- package/dist/src/cli/commands/group.js +7 -11
- package/dist/src/cli/commands/insight.js +7 -11
- package/dist/src/cli/commands/job.js +17 -26
- package/dist/src/cli/commands/knowledge-bank.js +5 -6
- package/dist/src/cli/commands/llm.js +5 -8
- package/dist/src/cli/commands/macro.js +9 -16
- package/dist/src/cli/commands/meaning.js +7 -11
- package/dist/src/cli/commands/metrics.js +7 -10
- package/dist/src/cli/commands/ml-task.js +12 -20
- package/dist/src/cli/commands/model-evaluation-store.js +7 -11
- package/dist/src/cli/commands/notebook.js +15 -27
- package/dist/src/cli/commands/plugin.js +35 -68
- package/dist/src/cli/commands/project-deployer.js +10 -22
- package/dist/src/cli/commands/project-folder.js +10 -17
- package/dist/src/cli/commands/project-git.js +38 -70
- package/dist/src/cli/commands/project-library.js +15 -23
- package/dist/src/cli/commands/project.js +9 -26
- package/dist/src/cli/commands/recipe.d.ts +16 -0
- package/dist/src/cli/commands/recipe.js +83 -94
- package/dist/src/cli/commands/saved-model.js +23 -39
- package/dist/src/cli/commands/scenario.js +20 -34
- package/dist/src/cli/commands/sql.js +4 -4
- package/dist/src/cli/commands/statistics.js +11 -18
- package/dist/src/cli/commands/streaming-endpoint.js +7 -11
- package/dist/src/cli/commands/user.js +11 -22
- package/dist/src/cli/commands/variable.js +3 -4
- package/dist/src/cli/commands/webapp.js +10 -16
- package/dist/src/cli/commands/wiki.js +9 -13
- package/dist/src/cli/commands/workspace.js +8 -14
- package/dist/src/cli/contract.d.ts +5 -15
- package/dist/src/cli/contract.js +157 -254
- package/dist/src/cli/doctor.js +1 -0
- package/dist/src/cli/env.d.ts +2 -0
- package/dist/src/cli/env.js +16 -1
- package/dist/src/cli/flags.d.ts +1 -0
- package/dist/src/cli/flags.js +4 -9
- package/dist/src/cli/helpers/app-permissions.js +7 -5
- package/dist/src/cli/helpers/flow-zone.js +8 -6
- package/dist/src/cli/helpers/recipe.js +2 -1
- package/dist/src/cli/syntax.d.ts +83 -0
- package/dist/src/cli/syntax.js +217 -0
- package/dist/src/cli/types.d.ts +3 -0
- package/dist/src/cli/usage.d.ts +1 -1
- package/dist/src/cli/usage.js +4 -2
- package/dist/src/cli/version.d.ts +0 -2
- package/dist/src/cli/version.js +6 -7
- package/dist/src/cli.js +132 -274
- package/dist/src/client.d.ts +2 -1
- package/dist/src/client.js +32 -17
- package/dist/src/errors.d.ts +12 -1
- package/dist/src/errors.js +28 -3
- package/dist/src/index.d.ts +1 -3
- package/dist/src/index.js +2 -2
- package/dist/src/resources/api-services.js +2 -3
- package/dist/src/resources/applications.js +2 -4
- package/dist/src/resources/base.d.ts +2 -0
- package/dist/src/resources/base.js +14 -2
- package/dist/src/resources/code-envs.js +3 -5
- package/dist/src/resources/data-quality.js +14 -13
- package/dist/src/resources/datasets.d.ts +13 -0
- package/dist/src/resources/datasets.js +5 -4
- package/dist/src/resources/flow-zones.js +4 -2
- package/dist/src/resources/folders.js +4 -2
- package/dist/src/resources/futures.js +1 -3
- package/dist/src/resources/insights.js +3 -2
- package/dist/src/resources/jobs.js +4 -6
- package/dist/src/resources/macros.d.ts +1 -1
- package/dist/src/resources/macros.js +3 -7
- package/dist/src/resources/notebooks.js +2 -3
- package/dist/src/resources/project-git.js +9 -11
- package/dist/src/resources/project-library.d.ts +0 -2
- package/dist/src/resources/project-library.js +2 -7
- package/dist/src/resources/projects.js +4 -3
- package/dist/src/resources/recipes.d.ts +28 -0
- package/dist/src/resources/recipes.js +117 -89
- package/dist/src/resources/saved-models.js +1 -13
- package/dist/src/resources/scenarios.js +1 -3
- package/dist/src/resources/sql.js +9 -8
- package/dist/src/resources/statistics.js +3 -4
- package/dist/src/resources/variables.js +2 -1
- package/dist/src/resources/webapps.js +2 -3
- package/dist/src/schemas.d.ts +1 -2
- package/dist/src/schemas.js +1 -1
- package/dist/src/skill.js +6 -7
- package/dist/src/utils/cleanup-ledger.js +9 -8
- package/dist/src/utils/deep-merge.js +2 -4
- package/dist/src/utils/flow-map.js +1 -6
- package/dist/src/utils/polling.d.ts +3 -0
- package/dist/src/utils/polling.js +3 -0
- package/dist/src/utils/project-archive.js +10 -14
- package/dist/src/utils/project-incarnation.js +3 -7
- package/dist/src/utils/records.d.ts +4 -0
- package/dist/src/utils/records.js +8 -0
- package/dist/src/utils/stable-hash.d.ts +3 -1
- package/dist/src/utils/stable-hash.js +2 -0
- package/package.json +10 -14
- package/plugin.json +1 -1
- package/skills/dataiku-dss/SKILL.md +3 -4
- package/skills/dataiku-dss/references/authentication.md +3 -3
- package/skills/dataiku-dss/references/coding.md +1 -1
- package/skills/dataiku-dss/references/discovery.md +1 -1
- package/skills/dataiku-dss/references/mutations.md +0 -1
- package/dist/src/utils/pagination.d.ts +0 -8
- package/dist/src/utils/pagination.js +0 -23
- package/packages/types/dist/index.d.ts +0 -1062
- package/packages/types/dist/index.js +0 -871
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
import { requiredJsonInput, } from "../coerce.js";
|
|
2
2
|
import { executionMode, } from "../flags.js";
|
|
3
3
|
import { planResult, } from "../output.js";
|
|
4
|
+
import { commandUsage, withUsage, } from "../syntax.js";
|
|
4
5
|
import { requireArgs, UsageError, } from "../usage.js";
|
|
5
6
|
const PLAN_FAILURE_CODES = { usage: 1, error: 2, transient: 3, };
|
|
6
7
|
function collectionEndpoint(dataCollectionId, suffix = "") {
|
|
7
8
|
return `/public/api/data-collections/${encodeURIComponent(dataCollectionId)}${suffix}`;
|
|
8
9
|
}
|
|
9
|
-
export const dataCollectionCommands = {
|
|
10
|
+
export const dataCollectionCommands = withUsage("data-collection", {
|
|
10
11
|
list: {
|
|
11
12
|
handler: (c) => c.dataCollections.list(),
|
|
12
|
-
usage: "dss data-collection list",
|
|
13
13
|
description: "List data collections on which the API key has READ privilege.",
|
|
14
14
|
examples: ["dss data-collection list",],
|
|
15
15
|
},
|
|
16
16
|
get: {
|
|
17
17
|
handler: (c, a) => {
|
|
18
|
-
requireArgs(a, 1, "
|
|
18
|
+
requireArgs(a, 1, commandUsage("data-collection", "get"));
|
|
19
19
|
return c.dataCollections.get(a[0]);
|
|
20
20
|
},
|
|
21
|
-
usage: "dss data-collection get <dataCollectionId>",
|
|
22
21
|
description: "Get collection settings. Permissions are omitted for non-admins.",
|
|
23
22
|
examples: ["dss data-collection get OjVsTQ3O",],
|
|
24
23
|
},
|
|
@@ -38,7 +37,6 @@ export const dataCollectionCommands = {
|
|
|
38
37
|
}
|
|
39
38
|
return c.dataCollections.create(body);
|
|
40
39
|
},
|
|
41
|
-
usage: "dss data-collection create (--data JSON|--data-file PATH|--stdin) [--dry-run]",
|
|
42
40
|
description: "Create a collection (creator becomes admin; requires mayCreateDataCollections).",
|
|
43
41
|
examples: [
|
|
44
42
|
'dss data-collection create --data \'{"displayName":"My Collection"}\'',
|
|
@@ -46,7 +44,7 @@ export const dataCollectionCommands = {
|
|
|
46
44
|
},
|
|
47
45
|
"settings-set": {
|
|
48
46
|
handler: async (c, a, f) => {
|
|
49
|
-
requireArgs(a, 1, "
|
|
47
|
+
requireArgs(a, 1, commandUsage("data-collection", "settings-set"));
|
|
50
48
|
const settings = requiredJsonInput(f, "--data, --data-file, or --stdin is required (collection settings).");
|
|
51
49
|
if (executionMode(f).dryRun) {
|
|
52
50
|
return planResult("data-collection", "settings-set", {
|
|
@@ -63,7 +61,6 @@ export const dataCollectionCommands = {
|
|
|
63
61
|
const updated = await c.dataCollections.update(a[0], settings);
|
|
64
62
|
return { updated: a[0], resource: "data-collection", ...updated, };
|
|
65
63
|
},
|
|
66
|
-
usage: "dss data-collection settings-set <dataCollectionId> (--data JSON|--data-file PATH|--stdin) [--dry-run]",
|
|
67
64
|
description: "Update collection settings; only send settings obtained through get. Admin required.",
|
|
68
65
|
examples: [
|
|
69
66
|
"dss data-collection settings-set OjVsTQ3O --data-file settings.json",
|
|
@@ -71,7 +68,7 @@ export const dataCollectionCommands = {
|
|
|
71
68
|
},
|
|
72
69
|
delete: {
|
|
73
70
|
validate: (a) => {
|
|
74
|
-
const usage = "
|
|
71
|
+
const usage = commandUsage("data-collection", "delete");
|
|
75
72
|
requireArgs(a, 1, usage);
|
|
76
73
|
if (a[0].trim().length === 0) {
|
|
77
74
|
throw new UsageError(`<dataCollectionId> must be a non-empty identifier. Usage: ${usage}`);
|
|
@@ -92,16 +89,14 @@ export const dataCollectionCommands = {
|
|
|
92
89
|
await c.dataCollections.delete(a[0]);
|
|
93
90
|
return { deleted: a[0], resource: "data-collection", };
|
|
94
91
|
},
|
|
95
|
-
usage: "dss data-collection delete <dataCollectionId> [--dry-run]",
|
|
96
92
|
description: "Permanently delete a collection. Admin required.",
|
|
97
93
|
examples: ["dss data-collection delete OjVsTQ3O --dry-run",],
|
|
98
94
|
},
|
|
99
95
|
"list-objects": {
|
|
100
96
|
handler: (c, a) => {
|
|
101
|
-
requireArgs(a, 1, "
|
|
97
|
+
requireArgs(a, 1, commandUsage("data-collection", "list-objects"));
|
|
102
98
|
return c.dataCollections.listObjects(a[0]);
|
|
103
99
|
},
|
|
104
|
-
usage: "dss data-collection list-objects <dataCollectionId>",
|
|
105
100
|
description: "List the objects in a collection.",
|
|
106
101
|
examples: ["dss data-collection list-objects OjVsTQ3O",],
|
|
107
102
|
},
|
|
@@ -111,7 +106,7 @@ export const dataCollectionCommands = {
|
|
|
111
106
|
const collectionId = a[0]
|
|
112
107
|
?? (typeof object.dataCollectionId === "string" ? object.dataCollectionId : undefined);
|
|
113
108
|
if (!collectionId) {
|
|
114
|
-
throw new UsageError(
|
|
109
|
+
throw new UsageError(`Usage: ${commandUsage("data-collection", "add-object")}`);
|
|
115
110
|
}
|
|
116
111
|
const reference = { ...object, };
|
|
117
112
|
delete reference.dataCollectionId;
|
|
@@ -130,7 +125,6 @@ export const dataCollectionCommands = {
|
|
|
130
125
|
await c.dataCollections.addObject(collectionId, reference);
|
|
131
126
|
return { added: reference.id, dataCollectionId: collectionId, resource: "data-collection", };
|
|
132
127
|
},
|
|
133
|
-
usage: "dss data-collection add-object <dataCollectionId> (--data JSON|--data-file PATH|--stdin) [--dry-run]",
|
|
134
128
|
description: "Add an object (e.g. {type:'DATASET',projectKey:'K',id:'name'}) to a collection. Contributor required.",
|
|
135
129
|
examples: [
|
|
136
130
|
'dss data-collection add-object OjVsTQ3O --data \'{"type":"DATASET","projectKey":"MYPROJECT","id":"orders"}\'',
|
|
@@ -138,7 +132,7 @@ export const dataCollectionCommands = {
|
|
|
138
132
|
},
|
|
139
133
|
"remove-dataset": {
|
|
140
134
|
handler: async (c, a, f) => {
|
|
141
|
-
requireArgs(a, 3, "
|
|
135
|
+
requireArgs(a, 3, commandUsage("data-collection", "remove-dataset"));
|
|
142
136
|
if (executionMode(f).dryRun) {
|
|
143
137
|
return planResult("data-collection", "remove-dataset", {
|
|
144
138
|
asyncKind: "none",
|
|
@@ -157,8 +151,7 @@ export const dataCollectionCommands = {
|
|
|
157
151
|
await c.dataCollections.removeDataset(a[0], a[1], a[2]);
|
|
158
152
|
return { removed: a[2], projectKey: a[1], dataCollectionId: a[0], resource: "data-collection", };
|
|
159
153
|
},
|
|
160
|
-
usage: "dss data-collection remove-dataset <dataCollectionId> <projectKey> <datasetName> [--dry-run]",
|
|
161
154
|
description: "Remove a dataset from a collection. Contributor required.",
|
|
162
155
|
examples: ["dss data-collection remove-dataset OjVsTQ3O MYPROJECT DATASET1",],
|
|
163
156
|
},
|
|
164
|
-
};
|
|
157
|
+
});
|
|
@@ -2,6 +2,7 @@ import { deepMerge, } from "../../utils/deep-merge.js";
|
|
|
2
2
|
import { num, parseBooleanOption, requiredJsonInput, } from "../coerce.js";
|
|
3
3
|
import { executionMode, } from "../flags.js";
|
|
4
4
|
import { encodedProjectEndpoint, readIfExists, skipResult, } from "../output.js";
|
|
5
|
+
import { commandUsage, withUsage, } from "../syntax.js";
|
|
5
6
|
import { requireArgs, UsageError, } from "../usage.js";
|
|
6
7
|
/**
|
|
7
8
|
* A data quality result counts as passing only when it actually carries a
|
|
@@ -15,37 +16,34 @@ function resultReportsOk(result) {
|
|
|
15
16
|
.map((value) => value.trim().toUpperCase());
|
|
16
17
|
return verdicts.length > 0 && verdicts.every((value) => value === "OK");
|
|
17
18
|
}
|
|
18
|
-
export const dataQualityCommands = {
|
|
19
|
+
export const dataQualityCommands = withUsage("data-quality", {
|
|
19
20
|
rules: {
|
|
20
21
|
handler: (c, a, f) => {
|
|
21
|
-
requireArgs(a, 1, "
|
|
22
|
+
requireArgs(a, 1, commandUsage("data-quality", "rules"));
|
|
22
23
|
return c.dataQuality.listRules(a[0], f["project-key"]);
|
|
23
24
|
},
|
|
24
|
-
usage: "dss data-quality rules <dataset> [--project-key KEY]",
|
|
25
25
|
description: "List data quality rules for a dataset.",
|
|
26
26
|
examples: ["dss data-quality rules orders",],
|
|
27
27
|
},
|
|
28
28
|
"get-rule": {
|
|
29
29
|
handler: (c, a, f) => {
|
|
30
|
-
requireArgs(a, 2, "
|
|
30
|
+
requireArgs(a, 2, commandUsage("data-quality", "get-rule"));
|
|
31
31
|
return c.dataQuality.getRule(a[0], a[1], f["project-key"]);
|
|
32
32
|
},
|
|
33
|
-
usage: "dss data-quality get-rule <dataset> <rule-id> [--project-key KEY]",
|
|
34
33
|
description: "Get one data quality rule by id.",
|
|
35
34
|
examples: ["dss data-quality get-rule orders RULE_ID",],
|
|
36
35
|
},
|
|
37
36
|
status: {
|
|
38
37
|
handler: (c, a, f) => {
|
|
39
|
-
requireArgs(a, 1, "
|
|
38
|
+
requireArgs(a, 1, commandUsage("data-quality", "status"));
|
|
40
39
|
return c.dataQuality.status(a[0], f["project-key"]);
|
|
41
40
|
},
|
|
42
|
-
usage: "dss data-quality status <dataset> [--project-key KEY]",
|
|
43
41
|
description: "Get the aggregate data quality status for a dataset.",
|
|
44
42
|
examples: ["dss data-quality status orders",],
|
|
45
43
|
},
|
|
46
44
|
"create-rule": {
|
|
47
45
|
handler: async (c, a, f) => {
|
|
48
|
-
requireArgs(a, 1, "
|
|
46
|
+
requireArgs(a, 1, commandUsage("data-quality", "create-rule"));
|
|
49
47
|
const config = requiredJsonInput(f, "--data, --data-file, or --stdin is required.");
|
|
50
48
|
const pk = f["project-key"];
|
|
51
49
|
const identity = typeof config.id === "string"
|
|
@@ -88,7 +86,6 @@ export const dataQualityCommands = {
|
|
|
88
86
|
...created,
|
|
89
87
|
};
|
|
90
88
|
},
|
|
91
|
-
usage: "dss data-quality create-rule <dataset> (--data JSON|--data-file PATH|--stdin) [--if-not-exists] [--dry-run] [--project-key KEY]",
|
|
92
89
|
description: "Create a data quality rule from raw rule config.",
|
|
93
90
|
examples: [
|
|
94
91
|
'dss data-quality create-rule orders --data \'{"type":"RecordCountInRangeRule","softMinimum":1,"softMinimumEnabled":true,"displayName":"Has rows"}\' --dry-run',
|
|
@@ -96,7 +93,7 @@ export const dataQualityCommands = {
|
|
|
96
93
|
},
|
|
97
94
|
"update-rule": {
|
|
98
95
|
handler: async (c, a, f) => {
|
|
99
|
-
requireArgs(a, 2, "
|
|
96
|
+
requireArgs(a, 2, commandUsage("data-quality", "update-rule"));
|
|
100
97
|
const data = requiredJsonInput(f, "--data, --data-file, or --stdin is required.");
|
|
101
98
|
if (executionMode(f).dryRun) {
|
|
102
99
|
const current = await c.dataQuality.getRule(a[0], a[1], f["project-key"]);
|
|
@@ -116,7 +113,6 @@ export const dataQualityCommands = {
|
|
|
116
113
|
projectKey: f["project-key"],
|
|
117
114
|
});
|
|
118
115
|
},
|
|
119
|
-
usage: "dss data-quality update-rule <dataset> <rule-id> (--data JSON|--data-file PATH|--stdin) [--dry-run] [--project-key KEY]",
|
|
120
116
|
description: "Update a data quality rule via GET-before-PUT merge.",
|
|
121
117
|
examples: [
|
|
122
118
|
"dss data-quality update-rule orders RULE_ID --data '{\"enabled\":false}' --dry-run",
|
|
@@ -124,7 +120,7 @@ export const dataQualityCommands = {
|
|
|
124
120
|
},
|
|
125
121
|
"delete-rule": {
|
|
126
122
|
handler: async (c, a, f) => {
|
|
127
|
-
requireArgs(a, 2, "
|
|
123
|
+
requireArgs(a, 2, commandUsage("data-quality", "delete-rule"));
|
|
128
124
|
const pk = f["project-key"];
|
|
129
125
|
if (executionMode(f).dryRun || f["if-exists"] === true) {
|
|
130
126
|
const current = await readIfExists(() => c.dataQuality.getRule(a[0], a[1], pk));
|
|
@@ -144,38 +140,35 @@ export const dataQualityCommands = {
|
|
|
144
140
|
await c.dataQuality.deleteRule(a[0], a[1], pk);
|
|
145
141
|
return { deleted: a[1], dataset: a[0], resource: "data-quality", };
|
|
146
142
|
},
|
|
147
|
-
usage: "dss data-quality delete-rule <dataset> <rule-id> [--if-exists] [--dry-run] [--project-key KEY]",
|
|
148
143
|
description: "Delete a data quality rule.",
|
|
149
144
|
examples: ["dss data-quality delete-rule orders RULE_ID --dry-run",],
|
|
150
145
|
},
|
|
151
146
|
"status-by-partition": {
|
|
152
147
|
handler: (c, a, f) => {
|
|
153
|
-
requireArgs(a, 1, "
|
|
148
|
+
requireArgs(a, 1, commandUsage("data-quality", "status-by-partition"));
|
|
154
149
|
return c.dataQuality.statusByPartition(a[0], {
|
|
155
150
|
includeAllPartitions: f["include-all-partitions"] === true,
|
|
156
151
|
projectKey: f["project-key"],
|
|
157
152
|
});
|
|
158
153
|
},
|
|
159
|
-
usage: "dss data-quality status-by-partition <dataset> [--include-all-partitions] [--project-key KEY]",
|
|
160
154
|
description: "Get data quality status by dataset partition.",
|
|
161
155
|
examples: ["dss data-quality status-by-partition orders --include-all-partitions",],
|
|
162
156
|
},
|
|
163
157
|
"last-results": {
|
|
164
158
|
handler: (c, a, f) => {
|
|
165
|
-
requireArgs(a, 1, "
|
|
159
|
+
requireArgs(a, 1, commandUsage("data-quality", "last-results"));
|
|
166
160
|
return c.dataQuality.lastResults(a[0], {
|
|
167
161
|
partition: f["partition"],
|
|
168
162
|
ruleId: f["rule-id"],
|
|
169
163
|
projectKey: f["project-key"],
|
|
170
164
|
});
|
|
171
165
|
},
|
|
172
|
-
usage: "dss data-quality last-results <dataset> [--partition P] [--rule-id ID] [--project-key KEY]",
|
|
173
166
|
description: "Get latest data quality rule results for a dataset.",
|
|
174
167
|
examples: ["dss data-quality last-results orders",],
|
|
175
168
|
},
|
|
176
169
|
"assert-results": {
|
|
177
170
|
handler: async (c, a, f) => {
|
|
178
|
-
requireArgs(a, 1, "
|
|
171
|
+
requireArgs(a, 1, commandUsage("data-quality", "assert-results"));
|
|
179
172
|
const ruleId = f["rule-id"];
|
|
180
173
|
const pk = f["project-key"];
|
|
181
174
|
const results = await c.dataQuality.lastResults(a[0], { ruleId, projectKey: pk, });
|
|
@@ -196,7 +189,6 @@ export const dataQualityCommands = {
|
|
|
196
189
|
...(selected.length === 0 ? { reason: "no_results", } : {}),
|
|
197
190
|
};
|
|
198
191
|
},
|
|
199
|
-
usage: "dss data-quality assert-results <dataset> [--rule-id ID] [--project-key KEY]",
|
|
200
192
|
description: "Assert the latest data quality results: at least one selected rule must exist and every selected result must report OK. Returns { satisfied, checked, failed } with failed rule ids/outcomes only; a failed assertion exits 4 with assertion_failed.",
|
|
201
193
|
examples: [
|
|
202
194
|
"dss data-quality assert-results orders",
|
|
@@ -205,7 +197,7 @@ export const dataQualityCommands = {
|
|
|
205
197
|
},
|
|
206
198
|
history: {
|
|
207
199
|
handler: (c, a, f) => {
|
|
208
|
-
requireArgs(a, 1, "
|
|
200
|
+
requireArgs(a, 1, commandUsage("data-quality", "history"));
|
|
209
201
|
return c.dataQuality.history(a[0], {
|
|
210
202
|
minTimestamp: num(f["min-timestamp"], "--min-timestamp"),
|
|
211
203
|
maxTimestamp: num(f["max-timestamp"], "--max-timestamp"),
|
|
@@ -215,7 +207,6 @@ export const dataQualityCommands = {
|
|
|
215
207
|
projectKey: f["project-key"],
|
|
216
208
|
});
|
|
217
209
|
},
|
|
218
|
-
usage: "dss data-quality history <dataset> [--rule-id ID] [--min-timestamp MS] [--max-timestamp MS] [--results-per-page N] [--page N] [--project-key KEY]",
|
|
219
210
|
description: "Get data quality rule execution history.",
|
|
220
211
|
examples: ["dss data-quality history orders --results-per-page 100",],
|
|
221
212
|
},
|
|
@@ -224,7 +215,6 @@ export const dataQualityCommands = {
|
|
|
224
215
|
onlyMonitored: parseBooleanOption(f["only-monitored"], "--only-monitored"),
|
|
225
216
|
projectKey: f["project-key"],
|
|
226
217
|
}),
|
|
227
|
-
usage: "dss data-quality project-status [--only-monitored true|false] [--project-key KEY]",
|
|
228
218
|
description: "Get project-level data quality status by dataset.",
|
|
229
219
|
examples: ["dss data-quality project-status --only-monitored false",],
|
|
230
220
|
},
|
|
@@ -234,13 +224,12 @@ export const dataQualityCommands = {
|
|
|
234
224
|
maxTimestamp: num(f["max-timestamp"], "--max-timestamp"),
|
|
235
225
|
projectKey: f["project-key"],
|
|
236
226
|
}),
|
|
237
|
-
usage: "dss data-quality project-timeline [--min-timestamp MS] [--max-timestamp MS] [--project-key KEY]",
|
|
238
227
|
description: "Get project-level data quality timeline aggregates.",
|
|
239
228
|
examples: ["dss data-quality project-timeline --min-timestamp 1714521600000",],
|
|
240
229
|
},
|
|
241
230
|
compute: {
|
|
242
231
|
handler: async (c, a, f) => {
|
|
243
|
-
requireArgs(a, 1, "
|
|
232
|
+
requireArgs(a, 1, commandUsage("data-quality", "compute"));
|
|
244
233
|
const pk = f["project-key"];
|
|
245
234
|
const options = {
|
|
246
235
|
partition: f["partition"],
|
|
@@ -268,11 +257,10 @@ export const dataQualityCommands = {
|
|
|
268
257
|
return c.dataQuality.computeRulesAndWait(a[0], options);
|
|
269
258
|
return c.dataQuality.computeRules(a[0], options);
|
|
270
259
|
},
|
|
271
|
-
usage: "dss data-quality compute <dataset> [--partition P] [--rule-id ID] [--wait] [--timeout MS] [--poll-interval MS] [--dry-run] [--project-key KEY]",
|
|
272
260
|
description: "Start data quality rule computation, optionally waiting on the returned DSS future.",
|
|
273
261
|
examples: [
|
|
274
262
|
"dss data-quality compute orders --dry-run",
|
|
275
263
|
"dss data-quality compute orders --wait",
|
|
276
264
|
],
|
|
277
265
|
},
|
|
278
|
-
};
|
|
266
|
+
});
|