@social-data/social-neuron-subscription 1.0.0-beta.2 → 1.0.0-beta.20
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/bin/cli.js +72 -8
- package/bin/install-skills.js +1 -1
- package/manifest.json +734 -59
- package/package.json +1 -1
- package/skills/social-neuron-subscription/SKILL.md +314 -31
package/manifest.json
CHANGED
|
@@ -1,9 +1,128 @@
|
|
|
1
1
|
{
|
|
2
|
-
"revision":
|
|
2
|
+
"revision": 9,
|
|
3
3
|
"capability": "subscription",
|
|
4
4
|
"command": "social-neuron-subscription",
|
|
5
|
+
"default_action": null,
|
|
5
6
|
"mcp_path": "/subscription/mcp",
|
|
6
7
|
"tools": [
|
|
8
|
+
{
|
|
9
|
+
"action": "get-field-values",
|
|
10
|
+
"op": "get_field_values",
|
|
11
|
+
"name": "subscription/get_field_values",
|
|
12
|
+
"summary": "取字段值字典 [{code, value}];**仅在需要把导出的码值换成中文时按需取用**。",
|
|
13
|
+
"description": "取字段值字典 [{code, value}];**仅在需要把导出的码值换成中文时按需取用**。\n\n枚举字段与编码字段统一走这里(值从哪来是元数据内部的事,对外只有\"有没有字典\"之分)。\n\n换值**不是订阅的标准步骤**:导出文件默认按大库原值交付,只有调用方(或其用户)明确要求\n中文时才用这份字典自行替换 —— 系统不做出参自动回显,也不读产出的文件。\n\n**空列表原样返回**:不在出参里猜原因 —— \"该字段真是明文(本就无字典)\"与\"元数据侧没配值来源\"\n在出参上无法区分,猜错反而误导(说成\"直接当原值用\"会让调用方把一列 code 当中文发出去)。",
|
|
14
|
+
"input_schema": {
|
|
15
|
+
"additionalProperties": false,
|
|
16
|
+
"properties": {
|
|
17
|
+
"field": {
|
|
18
|
+
"description": "字段 name_en(取自 list_fields);仅 is_enum / is_code 为真的字段有值字典(按需取用:只有要把导出的码值换成中文时才需要)",
|
|
19
|
+
"title": "Field",
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"keyword": {
|
|
23
|
+
"anyOf": [
|
|
24
|
+
{
|
|
25
|
+
"maxLength": 64,
|
|
26
|
+
"type": "string"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"type": "null"
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"default": null,
|
|
33
|
+
"description": "按中文值 / code 模糊过滤(如品牌搜「兰」);不传=全量,编码类字段(品牌/品类标签)可上千条,建议带",
|
|
34
|
+
"title": "Keyword"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"required": [
|
|
38
|
+
"field"
|
|
39
|
+
],
|
|
40
|
+
"title": "SubFieldValuesInput",
|
|
41
|
+
"type": "object"
|
|
42
|
+
},
|
|
43
|
+
"output_schema": {
|
|
44
|
+
"$defs": {
|
|
45
|
+
"SubFieldValue": {
|
|
46
|
+
"additionalProperties": false,
|
|
47
|
+
"description": "值字典的一项。\n\n刻意**不复用** ``commons.metadata.schemas.values.FieldValue``:那是元数据面的内部契约,\n字段说明里带着上游系统的字段名(``tagCode`` / ``tagName`` 之类),对外没有意义也不该暴露。\n这里只说调用方需要知道的两件事:导出列里存的是什么、对应的中文是什么。",
|
|
48
|
+
"properties": {
|
|
49
|
+
"code": {
|
|
50
|
+
"description": "编码值 —— 导出列里实际存的那个值(如 1、V200500020023)",
|
|
51
|
+
"title": "Code",
|
|
52
|
+
"type": "string"
|
|
53
|
+
},
|
|
54
|
+
"value": {
|
|
55
|
+
"description": "该编码值对应的中文",
|
|
56
|
+
"title": "Value",
|
|
57
|
+
"type": "string"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"required": [
|
|
61
|
+
"code",
|
|
62
|
+
"value"
|
|
63
|
+
],
|
|
64
|
+
"title": "SubFieldValue",
|
|
65
|
+
"type": "object"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"additionalProperties": false,
|
|
69
|
+
"properties": {
|
|
70
|
+
"field": {
|
|
71
|
+
"description": "字段 name_en(回显入参)",
|
|
72
|
+
"title": "Field",
|
|
73
|
+
"type": "string"
|
|
74
|
+
},
|
|
75
|
+
"items": {
|
|
76
|
+
"description": "值字典 [{code, value}]:code 是导出列里存的值,value 是对应中文;明文字段无字典,返回空列表",
|
|
77
|
+
"items": {
|
|
78
|
+
"$ref": "#/$defs/SubFieldValue"
|
|
79
|
+
},
|
|
80
|
+
"title": "Items",
|
|
81
|
+
"type": "array"
|
|
82
|
+
},
|
|
83
|
+
"total": {
|
|
84
|
+
"description": "值总数",
|
|
85
|
+
"title": "Total",
|
|
86
|
+
"type": "integer"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"required": [
|
|
90
|
+
"field",
|
|
91
|
+
"items",
|
|
92
|
+
"total"
|
|
93
|
+
],
|
|
94
|
+
"title": "SubFieldValueList",
|
|
95
|
+
"type": "object"
|
|
96
|
+
},
|
|
97
|
+
"flags": [
|
|
98
|
+
{
|
|
99
|
+
"flag": "--field",
|
|
100
|
+
"field": "field",
|
|
101
|
+
"type": "string",
|
|
102
|
+
"required": true,
|
|
103
|
+
"desc": "字段 name_en(取自 list_fields);仅 is_enum / is_code 为真的字段有值字典(按需取用:只有要把导出的码值换成中文时才需要)"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"flag": "--keyword",
|
|
107
|
+
"field": "keyword",
|
|
108
|
+
"type": "string",
|
|
109
|
+
"required": false,
|
|
110
|
+
"desc": "按中文值 / code 模糊过滤(如品牌搜「兰」);不传=全量,编码类字段(品牌/品类标签)可上千条,建议带"
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
"transport": {
|
|
114
|
+
"method": "POST",
|
|
115
|
+
"path": "/subscription/get_field_values",
|
|
116
|
+
"send": "args"
|
|
117
|
+
},
|
|
118
|
+
"errors": [
|
|
119
|
+
"auth_error",
|
|
120
|
+
"validation",
|
|
121
|
+
"api_error",
|
|
122
|
+
"network",
|
|
123
|
+
"internal"
|
|
124
|
+
]
|
|
125
|
+
},
|
|
7
126
|
{
|
|
8
127
|
"action": "job-create",
|
|
9
128
|
"op": "job_create",
|
|
@@ -84,7 +203,7 @@
|
|
|
84
203
|
},
|
|
85
204
|
"SftpTarget": {
|
|
86
205
|
"additionalProperties": false,
|
|
87
|
-
"description": "sftp(本期):把导出文件上传到 SFTP
|
|
206
|
+
"description": "sftp(本期):把导出文件上传到 SFTP 远端目录。\n目录与文件名都支持日期变量 ``yyyyMMdd`` / ``yyyyMM`` / ``yyyy``,同一个 task\n重跑多少次,远端路径与文件名都不变。",
|
|
88
207
|
"properties": {
|
|
89
208
|
"type": {
|
|
90
209
|
"const": "sftp",
|
|
@@ -114,10 +233,23 @@
|
|
|
114
233
|
"type": "string"
|
|
115
234
|
},
|
|
116
235
|
"remote_path": {
|
|
117
|
-
"description": "
|
|
236
|
+
"description": "远端目录/路径。可在**任意一层**用日期变量,但变量必须**独占一层**:`/data/sub/yyyyMM/yyyyMMdd` 合法,`/data/sub_yyyyMMdd` 非法。只认 yyyyMMdd / yyyyMM / yyyy 三种;不允许 '..'、空目录层。",
|
|
118
237
|
"title": "Remote Path",
|
|
119
238
|
"type": "string"
|
|
120
239
|
},
|
|
240
|
+
"filename_template": {
|
|
241
|
+
"anyOf": [
|
|
242
|
+
{
|
|
243
|
+
"type": "string"
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"type": "null"
|
|
247
|
+
}
|
|
248
|
+
],
|
|
249
|
+
"default": null,
|
|
250
|
+
"description": "自定义文件名模板(不含扩展名)。只允许字母、数字、'_'、'-' 与日期变量,且变量前后必须是 '_' 或首尾:`daily_yyyyMMdd_export`、`yyyyMM_summary` 合法,`dailyyyyyMMdd`、`report-yyyyMMdd-x` 非法。系统统一追加 `_<task_id>` 与扩展名。不传=沿用默认 `<job_id>_<task_id>.<ext>`。",
|
|
251
|
+
"title": "Filename Template"
|
|
252
|
+
},
|
|
121
253
|
"format": {
|
|
122
254
|
"default": "json",
|
|
123
255
|
"description": "文件格式:csv/excel/json(默认 json)",
|
|
@@ -144,7 +276,7 @@
|
|
|
144
276
|
"additionalProperties": false,
|
|
145
277
|
"properties": {
|
|
146
278
|
"name": {
|
|
147
|
-
"description": "job
|
|
279
|
+
"description": "job 名称,同一凭证(token)下唯一",
|
|
148
280
|
"maxLength": 128,
|
|
149
281
|
"minLength": 1,
|
|
150
282
|
"title": "Name",
|
|
@@ -171,15 +303,39 @@
|
|
|
171
303
|
"type": "array"
|
|
172
304
|
},
|
|
173
305
|
"published": {
|
|
174
|
-
"description": "
|
|
175
|
-
"
|
|
176
|
-
"T-0",
|
|
177
|
-
"T-1",
|
|
178
|
-
"T-7"
|
|
179
|
-
],
|
|
306
|
+
"description": "**发布时间**口径(必填,主口径 —— 它同时决定查哪个月的索引、怎么拆分片,所以不能缺省)。支持两种相对时间口径:**按天 T-M~T-N** 与**按分钟 T-M@HH:mm~T-N@HH:mm**。M/N 是相对基准日的天数偏移,HH:mm 使用 24 小时制(00:00–23:59);基准时间取本次触发的 cron 槽位时间(东八区),手动触发取触发时间。**两个端点都必须写全且精度必须一致**:不接受 T-1 单值简写,也不允许T-1@07:00~T-0 这类按天、按分钟混用。所有口径均为左闭右闭区间 [start,end],即起止端点都包含。按天格式包含首尾自然日,查询时起始日补 00:00:00、结束日补 23:59:59。例如:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-1=前天到昨天;T-7~T-1=近7天到昨天。按分钟格式包含首尾分钟,查询时起始分钟补 :00、结束分钟补 :59。例如:T-1@07:00~T-0@06:59=昨天07:00:00至今天06:59:59,完整覆盖昨天7点到今天6点时段;T-0@09:30~T-0@10:45=今天09:30:00至10:45:59。起点不得晚于终点;跨度最多 731 天(两年)、偏移最多 915 天(30个月),超限直接报错(不会静默回落)。",
|
|
307
|
+
"pattern": "^(?:T-\\d+~T-\\d+|T-\\d+@(?:[01]\\d|2[0-3]):[0-5]\\d~T-\\d+@(?:[01]\\d|2[0-3]):[0-5]\\d)$",
|
|
180
308
|
"title": "Published",
|
|
181
309
|
"type": "string"
|
|
182
310
|
},
|
|
311
|
+
"idate": {
|
|
312
|
+
"anyOf": [
|
|
313
|
+
{
|
|
314
|
+
"pattern": "^(?:T-\\d+~T-\\d+|T-\\d+@(?:[01]\\d|2[0-3]):[0-5]\\d~T-\\d+@(?:[01]\\d|2[0-3]):[0-5]\\d)$",
|
|
315
|
+
"type": "string"
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"type": "null"
|
|
319
|
+
}
|
|
320
|
+
],
|
|
321
|
+
"default": null,
|
|
322
|
+
"description": "**入库时间**口径(选填,不传=该维度不过滤)。在发布时间窗**之内**再 AND 一层:入库时间落在本区间的数据。支持两种相对时间口径:**按天 T-M~T-N** 与**按分钟 T-M@HH:mm~T-N@HH:mm**。M/N 是相对基准日的天数偏移,HH:mm 使用 24 小时制(00:00–23:59);基准时间取本次触发的 cron 槽位时间(东八区),手动触发取触发时间。**两个端点都必须写全且精度必须一致**:不接受 T-1 单值简写,也不允许T-1@07:00~T-0 这类按天、按分钟混用。所有口径均为左闭右闭区间 [start,end],即起止端点都包含。按天格式包含首尾自然日,查询时起始日补 00:00:00、结束日补 23:59:59。例如:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-1=前天到昨天;T-7~T-1=近7天到昨天。按分钟格式包含首尾分钟,查询时起始分钟补 :00、结束分钟补 :59。例如:T-1@07:00~T-0@06:59=昨天07:00:00至今天06:59:59,完整覆盖昨天7点到今天6点时段;T-0@09:30~T-0@10:45=今天09:30:00至10:45:59。起点不得晚于终点;跨度最多 731 天(两年)、偏移最多 915 天(30个月),超限直接报错(不会静默回落)。",
|
|
323
|
+
"title": "Idate"
|
|
324
|
+
},
|
|
325
|
+
"udate": {
|
|
326
|
+
"anyOf": [
|
|
327
|
+
{
|
|
328
|
+
"pattern": "^(?:T-\\d+~T-\\d+|T-\\d+@(?:[01]\\d|2[0-3]):[0-5]\\d~T-\\d+@(?:[01]\\d|2[0-3]):[0-5]\\d)$",
|
|
329
|
+
"type": "string"
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"type": "null"
|
|
333
|
+
}
|
|
334
|
+
],
|
|
335
|
+
"default": null,
|
|
336
|
+
"description": "**更新时间**口径(选填,不传=该维度不过滤)。在发布时间窗**之内**再 AND 一层:更新时间落在本区间的数据。支持两种相对时间口径:**按天 T-M~T-N** 与**按分钟 T-M@HH:mm~T-N@HH:mm**。M/N 是相对基准日的天数偏移,HH:mm 使用 24 小时制(00:00–23:59);基准时间取本次触发的 cron 槽位时间(东八区),手动触发取触发时间。**两个端点都必须写全且精度必须一致**:不接受 T-1 单值简写,也不允许T-1@07:00~T-0 这类按天、按分钟混用。所有口径均为左闭右闭区间 [start,end],即起止端点都包含。按天格式包含首尾自然日,查询时起始日补 00:00:00、结束日补 23:59:59。例如:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-1=前天到昨天;T-7~T-1=近7天到昨天。按分钟格式包含首尾分钟,查询时起始分钟补 :00、结束分钟补 :59。例如:T-1@07:00~T-0@06:59=昨天07:00:00至今天06:59:59,完整覆盖昨天7点到今天6点时段;T-0@09:30~T-0@10:45=今天09:30:00至10:45:59。起点不得晚于终点;跨度最多 731 天(两年)、偏移最多 915 天(30个月),超限直接报错(不会静默回落)。",
|
|
337
|
+
"title": "Udate"
|
|
338
|
+
},
|
|
183
339
|
"frequency": {
|
|
184
340
|
"description": "自然语言同步频率,系统转 cron(东八区)。可指定具体时间、并**支持一天多次**:如「每天9点」「每天9点和15点」(一天跑两次)「每周一9点」「每小时」「每30分钟」。无法解析为 cron 会被拒绝。",
|
|
185
341
|
"maxLength": 64,
|
|
@@ -196,6 +352,14 @@
|
|
|
196
352
|
"title": "Fields",
|
|
197
353
|
"type": "array"
|
|
198
354
|
},
|
|
355
|
+
"size": {
|
|
356
|
+
"default": 500000,
|
|
357
|
+
"description": "每次执行最多导出的记录行数,默认且最大为 500000",
|
|
358
|
+
"maximum": 500000,
|
|
359
|
+
"minimum": 1,
|
|
360
|
+
"title": "Size",
|
|
361
|
+
"type": "integer"
|
|
362
|
+
},
|
|
199
363
|
"target": {
|
|
200
364
|
"anyOf": [
|
|
201
365
|
{
|
|
@@ -224,7 +388,7 @@
|
|
|
224
388
|
}
|
|
225
389
|
],
|
|
226
390
|
"default": null,
|
|
227
|
-
"description": "投递目标;省略默认 octo(
|
|
391
|
+
"description": "投递目标;省略默认 octo(json)。本期支持 octo(上传存储→CDN url)与 sftp(账密上传远端,路径/文件名可用日期变量);kafka: 暂未实现。",
|
|
228
392
|
"title": "Target"
|
|
229
393
|
}
|
|
230
394
|
},
|
|
@@ -240,15 +404,15 @@
|
|
|
240
404
|
},
|
|
241
405
|
"output_schema": {
|
|
242
406
|
"additionalProperties": false,
|
|
243
|
-
"description": "订阅 job
|
|
407
|
+
"description": "订阅 job 出参对象。",
|
|
244
408
|
"properties": {
|
|
245
409
|
"job_id": {
|
|
246
|
-
"description": "job ID
|
|
410
|
+
"description": "job ID",
|
|
247
411
|
"title": "Job Id",
|
|
248
412
|
"type": "integer"
|
|
249
413
|
},
|
|
250
414
|
"name": {
|
|
251
|
-
"description": "job
|
|
415
|
+
"description": "job 名称,同一凭证(token)下唯一",
|
|
252
416
|
"title": "Name",
|
|
253
417
|
"type": "string"
|
|
254
418
|
},
|
|
@@ -269,10 +433,34 @@
|
|
|
269
433
|
"type": "array"
|
|
270
434
|
},
|
|
271
435
|
"published": {
|
|
272
|
-
"description": "
|
|
436
|
+
"description": "发布时间口径(相对,支持按天或按分钟);触发时按 task_time 折算成绝对时间区间",
|
|
273
437
|
"title": "Published",
|
|
274
438
|
"type": "string"
|
|
275
439
|
},
|
|
440
|
+
"idate": {
|
|
441
|
+
"anyOf": [
|
|
442
|
+
{
|
|
443
|
+
"type": "string"
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"type": "null"
|
|
447
|
+
}
|
|
448
|
+
],
|
|
449
|
+
"description": "入库时间口径(相对,按天或按分钟);null=该维度不过滤",
|
|
450
|
+
"title": "Idate"
|
|
451
|
+
},
|
|
452
|
+
"udate": {
|
|
453
|
+
"anyOf": [
|
|
454
|
+
{
|
|
455
|
+
"type": "string"
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
"type": "null"
|
|
459
|
+
}
|
|
460
|
+
],
|
|
461
|
+
"description": "更新时间口径(相对,按天或按分钟);null=该维度不过滤",
|
|
462
|
+
"title": "Udate"
|
|
463
|
+
},
|
|
276
464
|
"fields": {
|
|
277
465
|
"description": "拉取/导出字段(空=全量)",
|
|
278
466
|
"items": {
|
|
@@ -281,6 +469,11 @@
|
|
|
281
469
|
"title": "Fields",
|
|
282
470
|
"type": "array"
|
|
283
471
|
},
|
|
472
|
+
"size": {
|
|
473
|
+
"description": "每次执行最多导出的记录行数,范围 1–500000",
|
|
474
|
+
"title": "Size",
|
|
475
|
+
"type": "integer"
|
|
476
|
+
},
|
|
284
477
|
"frequency": {
|
|
285
478
|
"description": "自然语言频率",
|
|
286
479
|
"title": "Frequency",
|
|
@@ -292,7 +485,7 @@
|
|
|
292
485
|
"type": "string"
|
|
293
486
|
},
|
|
294
487
|
"target_type": {
|
|
295
|
-
"description": "投递类型:octo(
|
|
488
|
+
"description": "投递类型:octo、sftp、kafka(暂不支持)",
|
|
296
489
|
"title": "Target Type",
|
|
297
490
|
"type": "string"
|
|
298
491
|
},
|
|
@@ -324,7 +517,10 @@
|
|
|
324
517
|
"rule_ids",
|
|
325
518
|
"source",
|
|
326
519
|
"published",
|
|
520
|
+
"idate",
|
|
521
|
+
"udate",
|
|
327
522
|
"fields",
|
|
523
|
+
"size",
|
|
328
524
|
"frequency",
|
|
329
525
|
"cron",
|
|
330
526
|
"target_type",
|
|
@@ -342,28 +538,42 @@
|
|
|
342
538
|
"field": "name",
|
|
343
539
|
"type": "string",
|
|
344
540
|
"required": true,
|
|
345
|
-
"desc": "job
|
|
541
|
+
"desc": "job 名称,同一凭证(token)下唯一"
|
|
346
542
|
},
|
|
347
543
|
{
|
|
348
544
|
"flag": "--rule-ids",
|
|
349
545
|
"field": "rule_ids",
|
|
350
|
-
"type": "list[str]",
|
|
546
|
+
"type": "list[str](json)",
|
|
351
547
|
"required": true,
|
|
352
548
|
"desc": "魔方规则ID数组,至少 1 个"
|
|
353
549
|
},
|
|
354
550
|
{
|
|
355
551
|
"flag": "--source",
|
|
356
552
|
"field": "source",
|
|
357
|
-
"type": "list[str]",
|
|
553
|
+
"type": "list[str](json)",
|
|
358
554
|
"required": true,
|
|
359
555
|
"desc": "站点数组,至少 1 个;只能取已配置站点"
|
|
360
556
|
},
|
|
361
557
|
{
|
|
362
558
|
"flag": "--published",
|
|
363
559
|
"field": "published",
|
|
364
|
-
"type": "
|
|
560
|
+
"type": "string",
|
|
365
561
|
"required": true,
|
|
366
|
-
"desc": "
|
|
562
|
+
"desc": "**发布时间**口径(必填,主口径 —— 它同时决定查哪个月的索引、怎么拆分片,所以不能缺省)。支持两种相对时间口径:**按天 T-M~T-N** 与**按分钟 T-M@HH:mm~T-N@HH:mm**。M/N 是相对基准日的天数偏移,HH:mm 使用 24 小时制(00:00–23:59);基准时间取本次触发的 cron 槽位时间(东八区),手动触发取触发时间。**两个端点都必须写全且精度必须一致**:不接受 T-1 单值简写,也不允许T-1@07:00~T-0 这类按天、按分钟混用。所有口径均为左闭右闭区间 [start,end],即起止端点都包含。按天格式包含首尾自然日,查询时起始日补 00:00:00、结束日补 23:59:59。例如:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-1=前天到昨天;T-7~T-1=近7天到昨天。按分钟格式包含首尾分钟,查询时起始分钟补 :00、结束分钟补 :59。例如:T-1@07:00~T-0@06:59=昨天07:00:00至今天06:59:59,完整覆盖昨天7点到今天6点时段;T-0@09:30~T-0@10:45=今天09:30:00至10:45:59。起点不得晚于终点;跨度最多 731 天(两年)、偏移最多 915 天(30个月),超限直接报错(不会静默回落)。"
|
|
563
|
+
},
|
|
564
|
+
{
|
|
565
|
+
"flag": "--idate",
|
|
566
|
+
"field": "idate",
|
|
567
|
+
"type": "string",
|
|
568
|
+
"required": false,
|
|
569
|
+
"desc": "**入库时间**口径(选填,不传=该维度不过滤)。在发布时间窗**之内**再 AND 一层:入库时间落在本区间的数据。支持两种相对时间口径:**按天 T-M~T-N** 与**按分钟 T-M@HH:mm~T-N@HH:mm**。M/N 是相对基准日的天数偏移,HH:mm 使用 24 小时制(00:00–23:59);基准时间取本次触发的 cron 槽位时间(东八区),手动触发取触发时间。**两个端点都必须写全且精度必须一致**:不接受 T-1 单值简写,也不允许T-1@07:00~T-0 这类按天、按分钟混用。所有口径均为左闭右闭区间 [start,end],即起止端点都包含。按天格式包含首尾自然日,查询时起始日补 00:00:00、结束日补 23:59:59。例如:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-1=前天到昨天;T-7~T-1=近7天到昨天。按分钟格式包含首尾分钟,查询时起始分钟补 :00、结束分钟补 :59。例如:T-1@07:00~T-0@06:59=昨天07:00:00至今天06:59:59,完整覆盖昨天7点到今天6点时段;T-0@09:30~T-0@10:45=今天09:30:00至10:45:59。起点不得晚于终点;跨度最多 731 天(两年)、偏移最多 915 天(30个月),超限直接报错(不会静默回落)。"
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
"flag": "--udate",
|
|
573
|
+
"field": "udate",
|
|
574
|
+
"type": "string",
|
|
575
|
+
"required": false,
|
|
576
|
+
"desc": "**更新时间**口径(选填,不传=该维度不过滤)。在发布时间窗**之内**再 AND 一层:更新时间落在本区间的数据。支持两种相对时间口径:**按天 T-M~T-N** 与**按分钟 T-M@HH:mm~T-N@HH:mm**。M/N 是相对基准日的天数偏移,HH:mm 使用 24 小时制(00:00–23:59);基准时间取本次触发的 cron 槽位时间(东八区),手动触发取触发时间。**两个端点都必须写全且精度必须一致**:不接受 T-1 单值简写,也不允许T-1@07:00~T-0 这类按天、按分钟混用。所有口径均为左闭右闭区间 [start,end],即起止端点都包含。按天格式包含首尾自然日,查询时起始日补 00:00:00、结束日补 23:59:59。例如:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-1=前天到昨天;T-7~T-1=近7天到昨天。按分钟格式包含首尾分钟,查询时起始分钟补 :00、结束分钟补 :59。例如:T-1@07:00~T-0@06:59=昨天07:00:00至今天06:59:59,完整覆盖昨天7点到今天6点时段;T-0@09:30~T-0@10:45=今天09:30:00至10:45:59。起点不得晚于终点;跨度最多 731 天(两年)、偏移最多 915 天(30个月),超限直接报错(不会静默回落)。"
|
|
367
577
|
},
|
|
368
578
|
{
|
|
369
579
|
"flag": "--frequency",
|
|
@@ -375,16 +585,23 @@
|
|
|
375
585
|
{
|
|
376
586
|
"flag": "--fields",
|
|
377
587
|
"field": "fields",
|
|
378
|
-
"type": "list[str]",
|
|
588
|
+
"type": "list[str](json)",
|
|
379
589
|
"required": false,
|
|
380
590
|
"desc": "拉取/导出字段;不填拉全量"
|
|
381
591
|
},
|
|
592
|
+
{
|
|
593
|
+
"flag": "--size",
|
|
594
|
+
"field": "size",
|
|
595
|
+
"type": "integer",
|
|
596
|
+
"required": false,
|
|
597
|
+
"desc": "每次执行最多导出的记录行数,默认且最大为 500000"
|
|
598
|
+
},
|
|
382
599
|
{
|
|
383
600
|
"flag": "--target",
|
|
384
601
|
"field": "target",
|
|
385
602
|
"type": "object(json)",
|
|
386
603
|
"required": false,
|
|
387
|
-
"desc": "投递目标;省略默认 octo(
|
|
604
|
+
"desc": "投递目标;省略默认 octo(json)。本期支持 octo(上传存储→CDN url)与 sftp(账密上传远端,路径/文件名可用日期变量);kafka: 暂未实现。"
|
|
388
605
|
}
|
|
389
606
|
],
|
|
390
607
|
"transport": {
|
|
@@ -498,15 +715,15 @@
|
|
|
498
715
|
"$defs": {
|
|
499
716
|
"SubJob": {
|
|
500
717
|
"additionalProperties": false,
|
|
501
|
-
"description": "订阅 job
|
|
718
|
+
"description": "订阅 job 出参对象。",
|
|
502
719
|
"properties": {
|
|
503
720
|
"job_id": {
|
|
504
|
-
"description": "job ID
|
|
721
|
+
"description": "job ID",
|
|
505
722
|
"title": "Job Id",
|
|
506
723
|
"type": "integer"
|
|
507
724
|
},
|
|
508
725
|
"name": {
|
|
509
|
-
"description": "job
|
|
726
|
+
"description": "job 名称,同一凭证(token)下唯一",
|
|
510
727
|
"title": "Name",
|
|
511
728
|
"type": "string"
|
|
512
729
|
},
|
|
@@ -527,10 +744,34 @@
|
|
|
527
744
|
"type": "array"
|
|
528
745
|
},
|
|
529
746
|
"published": {
|
|
530
|
-
"description": "
|
|
747
|
+
"description": "发布时间口径(相对,支持按天或按分钟);触发时按 task_time 折算成绝对时间区间",
|
|
531
748
|
"title": "Published",
|
|
532
749
|
"type": "string"
|
|
533
750
|
},
|
|
751
|
+
"idate": {
|
|
752
|
+
"anyOf": [
|
|
753
|
+
{
|
|
754
|
+
"type": "string"
|
|
755
|
+
},
|
|
756
|
+
{
|
|
757
|
+
"type": "null"
|
|
758
|
+
}
|
|
759
|
+
],
|
|
760
|
+
"description": "入库时间口径(相对,按天或按分钟);null=该维度不过滤",
|
|
761
|
+
"title": "Idate"
|
|
762
|
+
},
|
|
763
|
+
"udate": {
|
|
764
|
+
"anyOf": [
|
|
765
|
+
{
|
|
766
|
+
"type": "string"
|
|
767
|
+
},
|
|
768
|
+
{
|
|
769
|
+
"type": "null"
|
|
770
|
+
}
|
|
771
|
+
],
|
|
772
|
+
"description": "更新时间口径(相对,按天或按分钟);null=该维度不过滤",
|
|
773
|
+
"title": "Udate"
|
|
774
|
+
},
|
|
534
775
|
"fields": {
|
|
535
776
|
"description": "拉取/导出字段(空=全量)",
|
|
536
777
|
"items": {
|
|
@@ -539,6 +780,11 @@
|
|
|
539
780
|
"title": "Fields",
|
|
540
781
|
"type": "array"
|
|
541
782
|
},
|
|
783
|
+
"size": {
|
|
784
|
+
"description": "每次执行最多导出的记录行数,范围 1–500000",
|
|
785
|
+
"title": "Size",
|
|
786
|
+
"type": "integer"
|
|
787
|
+
},
|
|
542
788
|
"frequency": {
|
|
543
789
|
"description": "自然语言频率",
|
|
544
790
|
"title": "Frequency",
|
|
@@ -550,7 +796,7 @@
|
|
|
550
796
|
"type": "string"
|
|
551
797
|
},
|
|
552
798
|
"target_type": {
|
|
553
|
-
"description": "投递类型:octo(
|
|
799
|
+
"description": "投递类型:octo、sftp、kafka(暂不支持)",
|
|
554
800
|
"title": "Target Type",
|
|
555
801
|
"type": "string"
|
|
556
802
|
},
|
|
@@ -582,7 +828,10 @@
|
|
|
582
828
|
"rule_ids",
|
|
583
829
|
"source",
|
|
584
830
|
"published",
|
|
831
|
+
"idate",
|
|
832
|
+
"udate",
|
|
585
833
|
"fields",
|
|
834
|
+
"size",
|
|
586
835
|
"frequency",
|
|
587
836
|
"cron",
|
|
588
837
|
"target_type",
|
|
@@ -644,8 +893,8 @@
|
|
|
644
893
|
"action": "job-trigger",
|
|
645
894
|
"op": "job_trigger",
|
|
646
895
|
"name": "subscription/job_trigger",
|
|
647
|
-
"summary": "临时触发一次本人 job,落一条
|
|
648
|
-
"description": "临时触发一次本人 job,落一条
|
|
896
|
+
"summary": "临时触发一次本人 job,落一条 ik_subscription_task(manual);默认用 job 存的 target,可覆盖。",
|
|
897
|
+
"description": "临时触发一次本人 job,落一条 ik_subscription_task(manual);默认用 job 存的 target,可覆盖。\n\n落 pending task 后触发 Airflow DAG(``social_capability_subscription``)\n跑取数→组装→投递(上传取 url);\n未配 airflow_base_url 时(本地/测试)触发被跳过,仅留 pending task。**无通知**:结果落\n``file_info.url``,调用方轮询 ``task-list`` 拉取。",
|
|
649
898
|
"input_schema": {
|
|
650
899
|
"$defs": {
|
|
651
900
|
"KafkaTarget": {
|
|
@@ -720,7 +969,7 @@
|
|
|
720
969
|
},
|
|
721
970
|
"SftpTarget": {
|
|
722
971
|
"additionalProperties": false,
|
|
723
|
-
"description": "sftp(本期):把导出文件上传到 SFTP
|
|
972
|
+
"description": "sftp(本期):把导出文件上传到 SFTP 远端目录。\n目录与文件名都支持日期变量 ``yyyyMMdd`` / ``yyyyMM`` / ``yyyy``,同一个 task\n重跑多少次,远端路径与文件名都不变。",
|
|
724
973
|
"properties": {
|
|
725
974
|
"type": {
|
|
726
975
|
"const": "sftp",
|
|
@@ -750,10 +999,23 @@
|
|
|
750
999
|
"type": "string"
|
|
751
1000
|
},
|
|
752
1001
|
"remote_path": {
|
|
753
|
-
"description": "
|
|
1002
|
+
"description": "远端目录/路径。可在**任意一层**用日期变量,但变量必须**独占一层**:`/data/sub/yyyyMM/yyyyMMdd` 合法,`/data/sub_yyyyMMdd` 非法。只认 yyyyMMdd / yyyyMM / yyyy 三种;不允许 '..'、空目录层。",
|
|
754
1003
|
"title": "Remote Path",
|
|
755
1004
|
"type": "string"
|
|
756
1005
|
},
|
|
1006
|
+
"filename_template": {
|
|
1007
|
+
"anyOf": [
|
|
1008
|
+
{
|
|
1009
|
+
"type": "string"
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
"type": "null"
|
|
1013
|
+
}
|
|
1014
|
+
],
|
|
1015
|
+
"default": null,
|
|
1016
|
+
"description": "自定义文件名模板(不含扩展名)。只允许字母、数字、'_'、'-' 与日期变量,且变量前后必须是 '_' 或首尾:`daily_yyyyMMdd_export`、`yyyyMM_summary` 合法,`dailyyyyyMMdd`、`report-yyyyMMdd-x` 非法。系统统一追加 `_<task_id>` 与扩展名。不传=沿用默认 `<job_id>_<task_id>.<ext>`。",
|
|
1017
|
+
"title": "Filename Template"
|
|
1018
|
+
},
|
|
757
1019
|
"format": {
|
|
758
1020
|
"default": "json",
|
|
759
1021
|
"description": "文件格式:csv/excel/json(默认 json)",
|
|
@@ -787,6 +1049,7 @@
|
|
|
787
1049
|
"start_time": {
|
|
788
1050
|
"anyOf": [
|
|
789
1051
|
{
|
|
1052
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T(?:[01]\\d|2[0-3]):[0-5]\\d)?$",
|
|
790
1053
|
"type": "string"
|
|
791
1054
|
},
|
|
792
1055
|
{
|
|
@@ -794,12 +1057,13 @@
|
|
|
794
1057
|
}
|
|
795
1058
|
],
|
|
796
1059
|
"default": null,
|
|
797
|
-
"description": "
|
|
1060
|
+
"description": "**发布时间**闭区间下界(东八区)。支持 yyyy-MM-dd(整日)、yyyy-MM-ddTHH:mm(整分钟);与 end_time 同传同不传;不传则按 job 上的 published 相对口径折算",
|
|
798
1061
|
"title": "Start Time"
|
|
799
1062
|
},
|
|
800
1063
|
"end_time": {
|
|
801
1064
|
"anyOf": [
|
|
802
1065
|
{
|
|
1066
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T(?:[01]\\d|2[0-3]):[0-5]\\d)?$",
|
|
803
1067
|
"type": "string"
|
|
804
1068
|
},
|
|
805
1069
|
{
|
|
@@ -807,9 +1071,65 @@
|
|
|
807
1071
|
}
|
|
808
1072
|
],
|
|
809
1073
|
"default": null,
|
|
810
|
-
"description": "
|
|
1074
|
+
"description": "**发布时间**闭区间上界(东八区,精度须与下界一致);日期包含整日,分钟包含整分钟",
|
|
811
1075
|
"title": "End Time"
|
|
812
1076
|
},
|
|
1077
|
+
"idate_start": {
|
|
1078
|
+
"anyOf": [
|
|
1079
|
+
{
|
|
1080
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T(?:[01]\\d|2[0-3]):[0-5]\\d)?$",
|
|
1081
|
+
"type": "string"
|
|
1082
|
+
},
|
|
1083
|
+
{
|
|
1084
|
+
"type": "null"
|
|
1085
|
+
}
|
|
1086
|
+
],
|
|
1087
|
+
"default": null,
|
|
1088
|
+
"description": "**入库时间**闭区间下界(东八区,支持日期/分钟);与 idate_end 同传同不传;不传则按 job 上的 idate 相对口径折算,job 也没配=该维度不过滤",
|
|
1089
|
+
"title": "Idate Start"
|
|
1090
|
+
},
|
|
1091
|
+
"idate_end": {
|
|
1092
|
+
"anyOf": [
|
|
1093
|
+
{
|
|
1094
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T(?:[01]\\d|2[0-3]):[0-5]\\d)?$",
|
|
1095
|
+
"type": "string"
|
|
1096
|
+
},
|
|
1097
|
+
{
|
|
1098
|
+
"type": "null"
|
|
1099
|
+
}
|
|
1100
|
+
],
|
|
1101
|
+
"default": null,
|
|
1102
|
+
"description": "本次**入库时间**闭区间上界(东八区,精度须与下界一致)",
|
|
1103
|
+
"title": "Idate End"
|
|
1104
|
+
},
|
|
1105
|
+
"udate_start": {
|
|
1106
|
+
"anyOf": [
|
|
1107
|
+
{
|
|
1108
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T(?:[01]\\d|2[0-3]):[0-5]\\d)?$",
|
|
1109
|
+
"type": "string"
|
|
1110
|
+
},
|
|
1111
|
+
{
|
|
1112
|
+
"type": "null"
|
|
1113
|
+
}
|
|
1114
|
+
],
|
|
1115
|
+
"default": null,
|
|
1116
|
+
"description": "**更新时间**闭区间下界(东八区,支持日期/分钟);与 udate_end 同传同不传;不传则按 job 上的 udate 相对口径折算,job 也没配=该维度不过滤",
|
|
1117
|
+
"title": "Udate Start"
|
|
1118
|
+
},
|
|
1119
|
+
"udate_end": {
|
|
1120
|
+
"anyOf": [
|
|
1121
|
+
{
|
|
1122
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}(?:T(?:[01]\\d|2[0-3]):[0-5]\\d)?$",
|
|
1123
|
+
"type": "string"
|
|
1124
|
+
},
|
|
1125
|
+
{
|
|
1126
|
+
"type": "null"
|
|
1127
|
+
}
|
|
1128
|
+
],
|
|
1129
|
+
"default": null,
|
|
1130
|
+
"description": "**更新时间**闭区间上界(东八区,精度须与下界一致)",
|
|
1131
|
+
"title": "Udate End"
|
|
1132
|
+
},
|
|
813
1133
|
"target": {
|
|
814
1134
|
"anyOf": [
|
|
815
1135
|
{
|
|
@@ -840,6 +1160,21 @@
|
|
|
840
1160
|
"default": null,
|
|
841
1161
|
"description": "覆盖本次投递目标",
|
|
842
1162
|
"title": "Target"
|
|
1163
|
+
},
|
|
1164
|
+
"size": {
|
|
1165
|
+
"anyOf": [
|
|
1166
|
+
{
|
|
1167
|
+
"maximum": 500000,
|
|
1168
|
+
"minimum": 1,
|
|
1169
|
+
"type": "integer"
|
|
1170
|
+
},
|
|
1171
|
+
{
|
|
1172
|
+
"type": "null"
|
|
1173
|
+
}
|
|
1174
|
+
],
|
|
1175
|
+
"default": null,
|
|
1176
|
+
"description": "覆盖本次导出行数;不传则继承 job 的 size,最大 500000",
|
|
1177
|
+
"title": "Size"
|
|
843
1178
|
}
|
|
844
1179
|
},
|
|
845
1180
|
"required": [
|
|
@@ -882,14 +1217,42 @@
|
|
|
882
1217
|
"field": "start_time",
|
|
883
1218
|
"type": "string",
|
|
884
1219
|
"required": false,
|
|
885
|
-
"desc": "
|
|
1220
|
+
"desc": "**发布时间**闭区间下界(东八区)。支持 yyyy-MM-dd(整日)、yyyy-MM-ddTHH:mm(整分钟);与 end_time 同传同不传;不传则按 job 上的 published 相对口径折算"
|
|
886
1221
|
},
|
|
887
1222
|
{
|
|
888
1223
|
"flag": "--end-time",
|
|
889
1224
|
"field": "end_time",
|
|
890
1225
|
"type": "string",
|
|
891
1226
|
"required": false,
|
|
892
|
-
"desc": "
|
|
1227
|
+
"desc": "**发布时间**闭区间上界(东八区,精度须与下界一致);日期包含整日,分钟包含整分钟"
|
|
1228
|
+
},
|
|
1229
|
+
{
|
|
1230
|
+
"flag": "--idate-start",
|
|
1231
|
+
"field": "idate_start",
|
|
1232
|
+
"type": "string",
|
|
1233
|
+
"required": false,
|
|
1234
|
+
"desc": "**入库时间**闭区间下界(东八区,支持日期/分钟);与 idate_end 同传同不传;不传则按 job 上的 idate 相对口径折算,job 也没配=该维度不过滤"
|
|
1235
|
+
},
|
|
1236
|
+
{
|
|
1237
|
+
"flag": "--idate-end",
|
|
1238
|
+
"field": "idate_end",
|
|
1239
|
+
"type": "string",
|
|
1240
|
+
"required": false,
|
|
1241
|
+
"desc": "本次**入库时间**闭区间上界(东八区,精度须与下界一致)"
|
|
1242
|
+
},
|
|
1243
|
+
{
|
|
1244
|
+
"flag": "--udate-start",
|
|
1245
|
+
"field": "udate_start",
|
|
1246
|
+
"type": "string",
|
|
1247
|
+
"required": false,
|
|
1248
|
+
"desc": "**更新时间**闭区间下界(东八区,支持日期/分钟);与 udate_end 同传同不传;不传则按 job 上的 udate 相对口径折算,job 也没配=该维度不过滤"
|
|
1249
|
+
},
|
|
1250
|
+
{
|
|
1251
|
+
"flag": "--udate-end",
|
|
1252
|
+
"field": "udate_end",
|
|
1253
|
+
"type": "string",
|
|
1254
|
+
"required": false,
|
|
1255
|
+
"desc": "**更新时间**闭区间上界(东八区,精度须与下界一致)"
|
|
893
1256
|
},
|
|
894
1257
|
{
|
|
895
1258
|
"flag": "--target",
|
|
@@ -897,6 +1260,13 @@
|
|
|
897
1260
|
"type": "object(json)",
|
|
898
1261
|
"required": false,
|
|
899
1262
|
"desc": "覆盖本次投递目标"
|
|
1263
|
+
},
|
|
1264
|
+
{
|
|
1265
|
+
"flag": "--size",
|
|
1266
|
+
"field": "size",
|
|
1267
|
+
"type": "integer",
|
|
1268
|
+
"required": false,
|
|
1269
|
+
"desc": "覆盖本次导出行数;不传则继承 job 的 size,最大 500000"
|
|
900
1270
|
}
|
|
901
1271
|
],
|
|
902
1272
|
"transport": {
|
|
@@ -992,7 +1362,7 @@
|
|
|
992
1362
|
},
|
|
993
1363
|
"SftpTarget": {
|
|
994
1364
|
"additionalProperties": false,
|
|
995
|
-
"description": "sftp(本期):把导出文件上传到 SFTP
|
|
1365
|
+
"description": "sftp(本期):把导出文件上传到 SFTP 远端目录。\n目录与文件名都支持日期变量 ``yyyyMMdd`` / ``yyyyMM`` / ``yyyy``,同一个 task\n重跑多少次,远端路径与文件名都不变。",
|
|
996
1366
|
"properties": {
|
|
997
1367
|
"type": {
|
|
998
1368
|
"const": "sftp",
|
|
@@ -1022,10 +1392,23 @@
|
|
|
1022
1392
|
"type": "string"
|
|
1023
1393
|
},
|
|
1024
1394
|
"remote_path": {
|
|
1025
|
-
"description": "
|
|
1395
|
+
"description": "远端目录/路径。可在**任意一层**用日期变量,但变量必须**独占一层**:`/data/sub/yyyyMM/yyyyMMdd` 合法,`/data/sub_yyyyMMdd` 非法。只认 yyyyMMdd / yyyyMM / yyyy 三种;不允许 '..'、空目录层。",
|
|
1026
1396
|
"title": "Remote Path",
|
|
1027
1397
|
"type": "string"
|
|
1028
1398
|
},
|
|
1399
|
+
"filename_template": {
|
|
1400
|
+
"anyOf": [
|
|
1401
|
+
{
|
|
1402
|
+
"type": "string"
|
|
1403
|
+
},
|
|
1404
|
+
{
|
|
1405
|
+
"type": "null"
|
|
1406
|
+
}
|
|
1407
|
+
],
|
|
1408
|
+
"default": null,
|
|
1409
|
+
"description": "自定义文件名模板(不含扩展名)。只允许字母、数字、'_'、'-' 与日期变量,且变量前后必须是 '_' 或首尾:`daily_yyyyMMdd_export`、`yyyyMM_summary` 合法,`dailyyyyyMMdd`、`report-yyyyMMdd-x` 非法。系统统一追加 `_<task_id>` 与扩展名。不传=沿用默认 `<job_id>_<task_id>.<ext>`。",
|
|
1410
|
+
"title": "Filename Template"
|
|
1411
|
+
},
|
|
1029
1412
|
"format": {
|
|
1030
1413
|
"default": "json",
|
|
1031
1414
|
"description": "文件格式:csv/excel/json(默认 json)",
|
|
@@ -1068,7 +1451,7 @@
|
|
|
1068
1451
|
}
|
|
1069
1452
|
],
|
|
1070
1453
|
"default": null,
|
|
1071
|
-
"description": "新名称(
|
|
1454
|
+
"description": "新名称(同一凭证下唯一)",
|
|
1072
1455
|
"title": "Name"
|
|
1073
1456
|
},
|
|
1074
1457
|
"rule_ids": {
|
|
@@ -1110,11 +1493,7 @@
|
|
|
1110
1493
|
"published": {
|
|
1111
1494
|
"anyOf": [
|
|
1112
1495
|
{
|
|
1113
|
-
"
|
|
1114
|
-
"T-0",
|
|
1115
|
-
"T-1",
|
|
1116
|
-
"T-7"
|
|
1117
|
-
],
|
|
1496
|
+
"pattern": "^(?:T-\\d+~T-\\d+|T-\\d+@(?:[01]\\d|2[0-3]):[0-5]\\d~T-\\d+@(?:[01]\\d|2[0-3]):[0-5]\\d)$",
|
|
1118
1497
|
"type": "string"
|
|
1119
1498
|
},
|
|
1120
1499
|
{
|
|
@@ -1122,9 +1501,37 @@
|
|
|
1122
1501
|
}
|
|
1123
1502
|
],
|
|
1124
1503
|
"default": null,
|
|
1125
|
-
"description": "
|
|
1504
|
+
"description": "**发布时间**口径(必填字段,只能改不能清)。支持两种相对时间口径:**按天 T-M~T-N** 与**按分钟 T-M@HH:mm~T-N@HH:mm**。M/N 是相对基准日的天数偏移,HH:mm 使用 24 小时制(00:00–23:59);基准时间取本次触发的 cron 槽位时间(东八区),手动触发取触发时间。**两个端点都必须写全且精度必须一致**:不接受 T-1 单值简写,也不允许T-1@07:00~T-0 这类按天、按分钟混用。所有口径均为左闭右闭区间 [start,end],即起止端点都包含。按天格式包含首尾自然日,查询时起始日补 00:00:00、结束日补 23:59:59。例如:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-1=前天到昨天;T-7~T-1=近7天到昨天。按分钟格式包含首尾分钟,查询时起始分钟补 :00、结束分钟补 :59。例如:T-1@07:00~T-0@06:59=昨天07:00:00至今天06:59:59,完整覆盖昨天7点到今天6点时段;T-0@09:30~T-0@10:45=今天09:30:00至10:45:59。起点不得晚于终点;跨度最多 731 天(两年)、偏移最多 915 天(30个月),超限直接报错(不会静默回落)。",
|
|
1126
1505
|
"title": "Published"
|
|
1127
1506
|
},
|
|
1507
|
+
"idate": {
|
|
1508
|
+
"anyOf": [
|
|
1509
|
+
{
|
|
1510
|
+
"pattern": "^(?:T-\\d+~T-\\d+|T-\\d+@(?:[01]\\d|2[0-3]):[0-5]\\d~T-\\d+@(?:[01]\\d|2[0-3]):[0-5]\\d)?$",
|
|
1511
|
+
"type": "string"
|
|
1512
|
+
},
|
|
1513
|
+
{
|
|
1514
|
+
"type": "null"
|
|
1515
|
+
}
|
|
1516
|
+
],
|
|
1517
|
+
"default": null,
|
|
1518
|
+
"description": "**入库时间**口径。不传=不改;传空串 \"\"=**清除**该维度(恢复成不过滤)。支持两种相对时间口径:**按天 T-M~T-N** 与**按分钟 T-M@HH:mm~T-N@HH:mm**。M/N 是相对基准日的天数偏移,HH:mm 使用 24 小时制(00:00–23:59);基准时间取本次触发的 cron 槽位时间(东八区),手动触发取触发时间。**两个端点都必须写全且精度必须一致**:不接受 T-1 单值简写,也不允许T-1@07:00~T-0 这类按天、按分钟混用。所有口径均为左闭右闭区间 [start,end],即起止端点都包含。按天格式包含首尾自然日,查询时起始日补 00:00:00、结束日补 23:59:59。例如:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-1=前天到昨天;T-7~T-1=近7天到昨天。按分钟格式包含首尾分钟,查询时起始分钟补 :00、结束分钟补 :59。例如:T-1@07:00~T-0@06:59=昨天07:00:00至今天06:59:59,完整覆盖昨天7点到今天6点时段;T-0@09:30~T-0@10:45=今天09:30:00至10:45:59。起点不得晚于终点;跨度最多 731 天(两年)、偏移最多 915 天(30个月),超限直接报错(不会静默回落)。",
|
|
1519
|
+
"title": "Idate"
|
|
1520
|
+
},
|
|
1521
|
+
"udate": {
|
|
1522
|
+
"anyOf": [
|
|
1523
|
+
{
|
|
1524
|
+
"pattern": "^(?:T-\\d+~T-\\d+|T-\\d+@(?:[01]\\d|2[0-3]):[0-5]\\d~T-\\d+@(?:[01]\\d|2[0-3]):[0-5]\\d)?$",
|
|
1525
|
+
"type": "string"
|
|
1526
|
+
},
|
|
1527
|
+
{
|
|
1528
|
+
"type": "null"
|
|
1529
|
+
}
|
|
1530
|
+
],
|
|
1531
|
+
"default": null,
|
|
1532
|
+
"description": "**更新时间**口径。不传=不改;传空串 \"\"=**清除**该维度(恢复成不过滤)。支持两种相对时间口径:**按天 T-M~T-N** 与**按分钟 T-M@HH:mm~T-N@HH:mm**。M/N 是相对基准日的天数偏移,HH:mm 使用 24 小时制(00:00–23:59);基准时间取本次触发的 cron 槽位时间(东八区),手动触发取触发时间。**两个端点都必须写全且精度必须一致**:不接受 T-1 单值简写,也不允许T-1@07:00~T-0 这类按天、按分钟混用。所有口径均为左闭右闭区间 [start,end],即起止端点都包含。按天格式包含首尾自然日,查询时起始日补 00:00:00、结束日补 23:59:59。例如:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-1=前天到昨天;T-7~T-1=近7天到昨天。按分钟格式包含首尾分钟,查询时起始分钟补 :00、结束分钟补 :59。例如:T-1@07:00~T-0@06:59=昨天07:00:00至今天06:59:59,完整覆盖昨天7点到今天6点时段;T-0@09:30~T-0@10:45=今天09:30:00至10:45:59。起点不得晚于终点;跨度最多 731 天(两年)、偏移最多 915 天(30个月),超限直接报错(不会静默回落)。",
|
|
1533
|
+
"title": "Udate"
|
|
1534
|
+
},
|
|
1128
1535
|
"fields": {
|
|
1129
1536
|
"anyOf": [
|
|
1130
1537
|
{
|
|
@@ -1142,6 +1549,21 @@
|
|
|
1142
1549
|
"description": "整组全量覆盖",
|
|
1143
1550
|
"title": "Fields"
|
|
1144
1551
|
},
|
|
1552
|
+
"size": {
|
|
1553
|
+
"anyOf": [
|
|
1554
|
+
{
|
|
1555
|
+
"maximum": 500000,
|
|
1556
|
+
"minimum": 1,
|
|
1557
|
+
"type": "integer"
|
|
1558
|
+
},
|
|
1559
|
+
{
|
|
1560
|
+
"type": "null"
|
|
1561
|
+
}
|
|
1562
|
+
],
|
|
1563
|
+
"default": null,
|
|
1564
|
+
"description": "每次执行最多导出的记录行数;不传则不修改,最大 500000",
|
|
1565
|
+
"title": "Size"
|
|
1566
|
+
},
|
|
1145
1567
|
"frequency": {
|
|
1146
1568
|
"anyOf": [
|
|
1147
1569
|
{
|
|
@@ -1214,15 +1636,15 @@
|
|
|
1214
1636
|
},
|
|
1215
1637
|
"output_schema": {
|
|
1216
1638
|
"additionalProperties": false,
|
|
1217
|
-
"description": "订阅 job
|
|
1639
|
+
"description": "订阅 job 出参对象。",
|
|
1218
1640
|
"properties": {
|
|
1219
1641
|
"job_id": {
|
|
1220
|
-
"description": "job ID
|
|
1642
|
+
"description": "job ID",
|
|
1221
1643
|
"title": "Job Id",
|
|
1222
1644
|
"type": "integer"
|
|
1223
1645
|
},
|
|
1224
1646
|
"name": {
|
|
1225
|
-
"description": "job
|
|
1647
|
+
"description": "job 名称,同一凭证(token)下唯一",
|
|
1226
1648
|
"title": "Name",
|
|
1227
1649
|
"type": "string"
|
|
1228
1650
|
},
|
|
@@ -1243,10 +1665,34 @@
|
|
|
1243
1665
|
"type": "array"
|
|
1244
1666
|
},
|
|
1245
1667
|
"published": {
|
|
1246
|
-
"description": "
|
|
1668
|
+
"description": "发布时间口径(相对,支持按天或按分钟);触发时按 task_time 折算成绝对时间区间",
|
|
1247
1669
|
"title": "Published",
|
|
1248
1670
|
"type": "string"
|
|
1249
1671
|
},
|
|
1672
|
+
"idate": {
|
|
1673
|
+
"anyOf": [
|
|
1674
|
+
{
|
|
1675
|
+
"type": "string"
|
|
1676
|
+
},
|
|
1677
|
+
{
|
|
1678
|
+
"type": "null"
|
|
1679
|
+
}
|
|
1680
|
+
],
|
|
1681
|
+
"description": "入库时间口径(相对,按天或按分钟);null=该维度不过滤",
|
|
1682
|
+
"title": "Idate"
|
|
1683
|
+
},
|
|
1684
|
+
"udate": {
|
|
1685
|
+
"anyOf": [
|
|
1686
|
+
{
|
|
1687
|
+
"type": "string"
|
|
1688
|
+
},
|
|
1689
|
+
{
|
|
1690
|
+
"type": "null"
|
|
1691
|
+
}
|
|
1692
|
+
],
|
|
1693
|
+
"description": "更新时间口径(相对,按天或按分钟);null=该维度不过滤",
|
|
1694
|
+
"title": "Udate"
|
|
1695
|
+
},
|
|
1250
1696
|
"fields": {
|
|
1251
1697
|
"description": "拉取/导出字段(空=全量)",
|
|
1252
1698
|
"items": {
|
|
@@ -1255,6 +1701,11 @@
|
|
|
1255
1701
|
"title": "Fields",
|
|
1256
1702
|
"type": "array"
|
|
1257
1703
|
},
|
|
1704
|
+
"size": {
|
|
1705
|
+
"description": "每次执行最多导出的记录行数,范围 1–500000",
|
|
1706
|
+
"title": "Size",
|
|
1707
|
+
"type": "integer"
|
|
1708
|
+
},
|
|
1258
1709
|
"frequency": {
|
|
1259
1710
|
"description": "自然语言频率",
|
|
1260
1711
|
"title": "Frequency",
|
|
@@ -1266,7 +1717,7 @@
|
|
|
1266
1717
|
"type": "string"
|
|
1267
1718
|
},
|
|
1268
1719
|
"target_type": {
|
|
1269
|
-
"description": "投递类型:octo(
|
|
1720
|
+
"description": "投递类型:octo、sftp、kafka(暂不支持)",
|
|
1270
1721
|
"title": "Target Type",
|
|
1271
1722
|
"type": "string"
|
|
1272
1723
|
},
|
|
@@ -1298,7 +1749,10 @@
|
|
|
1298
1749
|
"rule_ids",
|
|
1299
1750
|
"source",
|
|
1300
1751
|
"published",
|
|
1752
|
+
"idate",
|
|
1753
|
+
"udate",
|
|
1301
1754
|
"fields",
|
|
1755
|
+
"size",
|
|
1302
1756
|
"frequency",
|
|
1303
1757
|
"cron",
|
|
1304
1758
|
"target_type",
|
|
@@ -1323,36 +1777,57 @@
|
|
|
1323
1777
|
"field": "name",
|
|
1324
1778
|
"type": "string",
|
|
1325
1779
|
"required": false,
|
|
1326
|
-
"desc": "新名称(
|
|
1780
|
+
"desc": "新名称(同一凭证下唯一)"
|
|
1327
1781
|
},
|
|
1328
1782
|
{
|
|
1329
1783
|
"flag": "--rule-ids",
|
|
1330
1784
|
"field": "rule_ids",
|
|
1331
|
-
"type": "list[str]",
|
|
1785
|
+
"type": "list[str](json)",
|
|
1332
1786
|
"required": false,
|
|
1333
1787
|
"desc": "整组全量覆盖"
|
|
1334
1788
|
},
|
|
1335
1789
|
{
|
|
1336
1790
|
"flag": "--source",
|
|
1337
1791
|
"field": "source",
|
|
1338
|
-
"type": "list[str]",
|
|
1792
|
+
"type": "list[str](json)",
|
|
1339
1793
|
"required": false,
|
|
1340
1794
|
"desc": "整组全量覆盖"
|
|
1341
1795
|
},
|
|
1342
1796
|
{
|
|
1343
1797
|
"flag": "--published",
|
|
1344
1798
|
"field": "published",
|
|
1345
|
-
"type": "
|
|
1799
|
+
"type": "string",
|
|
1346
1800
|
"required": false,
|
|
1347
|
-
"desc": "
|
|
1801
|
+
"desc": "**发布时间**口径(必填字段,只能改不能清)。支持两种相对时间口径:**按天 T-M~T-N** 与**按分钟 T-M@HH:mm~T-N@HH:mm**。M/N 是相对基准日的天数偏移,HH:mm 使用 24 小时制(00:00–23:59);基准时间取本次触发的 cron 槽位时间(东八区),手动触发取触发时间。**两个端点都必须写全且精度必须一致**:不接受 T-1 单值简写,也不允许T-1@07:00~T-0 这类按天、按分钟混用。所有口径均为左闭右闭区间 [start,end],即起止端点都包含。按天格式包含首尾自然日,查询时起始日补 00:00:00、结束日补 23:59:59。例如:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-1=前天到昨天;T-7~T-1=近7天到昨天。按分钟格式包含首尾分钟,查询时起始分钟补 :00、结束分钟补 :59。例如:T-1@07:00~T-0@06:59=昨天07:00:00至今天06:59:59,完整覆盖昨天7点到今天6点时段;T-0@09:30~T-0@10:45=今天09:30:00至10:45:59。起点不得晚于终点;跨度最多 731 天(两年)、偏移最多 915 天(30个月),超限直接报错(不会静默回落)。"
|
|
1802
|
+
},
|
|
1803
|
+
{
|
|
1804
|
+
"flag": "--idate",
|
|
1805
|
+
"field": "idate",
|
|
1806
|
+
"type": "string",
|
|
1807
|
+
"required": false,
|
|
1808
|
+
"desc": "**入库时间**口径。不传=不改;传空串 \"\"=**清除**该维度(恢复成不过滤)。支持两种相对时间口径:**按天 T-M~T-N** 与**按分钟 T-M@HH:mm~T-N@HH:mm**。M/N 是相对基准日的天数偏移,HH:mm 使用 24 小时制(00:00–23:59);基准时间取本次触发的 cron 槽位时间(东八区),手动触发取触发时间。**两个端点都必须写全且精度必须一致**:不接受 T-1 单值简写,也不允许T-1@07:00~T-0 这类按天、按分钟混用。所有口径均为左闭右闭区间 [start,end],即起止端点都包含。按天格式包含首尾自然日,查询时起始日补 00:00:00、结束日补 23:59:59。例如:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-1=前天到昨天;T-7~T-1=近7天到昨天。按分钟格式包含首尾分钟,查询时起始分钟补 :00、结束分钟补 :59。例如:T-1@07:00~T-0@06:59=昨天07:00:00至今天06:59:59,完整覆盖昨天7点到今天6点时段;T-0@09:30~T-0@10:45=今天09:30:00至10:45:59。起点不得晚于终点;跨度最多 731 天(两年)、偏移最多 915 天(30个月),超限直接报错(不会静默回落)。"
|
|
1809
|
+
},
|
|
1810
|
+
{
|
|
1811
|
+
"flag": "--udate",
|
|
1812
|
+
"field": "udate",
|
|
1813
|
+
"type": "string",
|
|
1814
|
+
"required": false,
|
|
1815
|
+
"desc": "**更新时间**口径。不传=不改;传空串 \"\"=**清除**该维度(恢复成不过滤)。支持两种相对时间口径:**按天 T-M~T-N** 与**按分钟 T-M@HH:mm~T-N@HH:mm**。M/N 是相对基准日的天数偏移,HH:mm 使用 24 小时制(00:00–23:59);基准时间取本次触发的 cron 槽位时间(东八区),手动触发取触发时间。**两个端点都必须写全且精度必须一致**:不接受 T-1 单值简写,也不允许T-1@07:00~T-0 这类按天、按分钟混用。所有口径均为左闭右闭区间 [start,end],即起止端点都包含。按天格式包含首尾自然日,查询时起始日补 00:00:00、结束日补 23:59:59。例如:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-1=前天到昨天;T-7~T-1=近7天到昨天。按分钟格式包含首尾分钟,查询时起始分钟补 :00、结束分钟补 :59。例如:T-1@07:00~T-0@06:59=昨天07:00:00至今天06:59:59,完整覆盖昨天7点到今天6点时段;T-0@09:30~T-0@10:45=今天09:30:00至10:45:59。起点不得晚于终点;跨度最多 731 天(两年)、偏移最多 915 天(30个月),超限直接报错(不会静默回落)。"
|
|
1348
1816
|
},
|
|
1349
1817
|
{
|
|
1350
1818
|
"flag": "--fields",
|
|
1351
1819
|
"field": "fields",
|
|
1352
|
-
"type": "list[str]",
|
|
1820
|
+
"type": "list[str](json)",
|
|
1353
1821
|
"required": false,
|
|
1354
1822
|
"desc": "整组全量覆盖"
|
|
1355
1823
|
},
|
|
1824
|
+
{
|
|
1825
|
+
"flag": "--size",
|
|
1826
|
+
"field": "size",
|
|
1827
|
+
"type": "integer",
|
|
1828
|
+
"required": false,
|
|
1829
|
+
"desc": "每次执行最多导出的记录行数;不传则不修改,最大 500000"
|
|
1830
|
+
},
|
|
1356
1831
|
{
|
|
1357
1832
|
"flag": "--frequency",
|
|
1358
1833
|
"field": "frequency",
|
|
@@ -1388,6 +1863,197 @@
|
|
|
1388
1863
|
"internal"
|
|
1389
1864
|
]
|
|
1390
1865
|
},
|
|
1866
|
+
{
|
|
1867
|
+
"action": "list-fields",
|
|
1868
|
+
"op": "list_fields",
|
|
1869
|
+
"name": "subscription/list_fields",
|
|
1870
|
+
"summary": "列出所选站点下可导出的字段:name_en(填 fields 用)、中文名、类型、是否枚举 / code。",
|
|
1871
|
+
"description": "列出所选站点下可导出的字段:name_en(填 fields 用)、中文名、类型、是否枚举 / code。\n\n``is_enum`` / ``is_code`` 为真的字段,导出文件里存的是枚举码 / 编码值;\n**若**调用方要把它们换成中文,再调 ``get_field_values`` 取字典自行替换(按需,非必经步骤)。",
|
|
1872
|
+
"input_schema": {
|
|
1873
|
+
"additionalProperties": false,
|
|
1874
|
+
"properties": {
|
|
1875
|
+
"source": {
|
|
1876
|
+
"description": "站点数组(中文站点名,取自 list_sites),至少 1 个;返回这些站点下字段的并集",
|
|
1877
|
+
"items": {
|
|
1878
|
+
"minLength": 1,
|
|
1879
|
+
"type": "string"
|
|
1880
|
+
},
|
|
1881
|
+
"minItems": 1,
|
|
1882
|
+
"title": "Source",
|
|
1883
|
+
"type": "array"
|
|
1884
|
+
},
|
|
1885
|
+
"keyword": {
|
|
1886
|
+
"anyOf": [
|
|
1887
|
+
{
|
|
1888
|
+
"maxLength": 64,
|
|
1889
|
+
"type": "string"
|
|
1890
|
+
},
|
|
1891
|
+
{
|
|
1892
|
+
"type": "null"
|
|
1893
|
+
}
|
|
1894
|
+
],
|
|
1895
|
+
"default": null,
|
|
1896
|
+
"description": "按字段中文名 / name_en 模糊过滤(如「情感」「互动」);不传=该站点全部字段",
|
|
1897
|
+
"title": "Keyword"
|
|
1898
|
+
}
|
|
1899
|
+
},
|
|
1900
|
+
"required": [
|
|
1901
|
+
"source"
|
|
1902
|
+
],
|
|
1903
|
+
"title": "SubListFieldsInput",
|
|
1904
|
+
"type": "object"
|
|
1905
|
+
},
|
|
1906
|
+
"output_schema": {
|
|
1907
|
+
"$defs": {
|
|
1908
|
+
"SubField": {
|
|
1909
|
+
"additionalProperties": false,
|
|
1910
|
+
"description": "一个可导出字段(**订阅口径**:只给填 ``fields`` 与翻译列值要用的信息)。",
|
|
1911
|
+
"properties": {
|
|
1912
|
+
"name_en": {
|
|
1913
|
+
"description": "字段标识(ES 字段名),即 job_create / job_update 的 fields 该填的值",
|
|
1914
|
+
"title": "Name En",
|
|
1915
|
+
"type": "string"
|
|
1916
|
+
},
|
|
1917
|
+
"name": {
|
|
1918
|
+
"description": "字段中文名 —— 把用户说法对齐到 name_en 用",
|
|
1919
|
+
"title": "Name",
|
|
1920
|
+
"type": "string"
|
|
1921
|
+
},
|
|
1922
|
+
"data_type": {
|
|
1923
|
+
"description": "语义类型:keyword / text / long / double / date / boolean / object / nested",
|
|
1924
|
+
"title": "Data Type",
|
|
1925
|
+
"type": "string"
|
|
1926
|
+
},
|
|
1927
|
+
"description": {
|
|
1928
|
+
"default": "",
|
|
1929
|
+
"description": "字段描述;元数据未登记描述时为空串",
|
|
1930
|
+
"title": "Description",
|
|
1931
|
+
"type": "string"
|
|
1932
|
+
},
|
|
1933
|
+
"is_enum": {
|
|
1934
|
+
"description": "值来自内置枚举(如数据类型、情感):导出列存的是枚举码;如需换成中文,再按需调 get_field_values 取字典自行替换",
|
|
1935
|
+
"title": "Is Enum",
|
|
1936
|
+
"type": "boolean"
|
|
1937
|
+
},
|
|
1938
|
+
"is_code": {
|
|
1939
|
+
"description": "值是编码值(如品牌标签、品类标签):导出列存的是 code 而非中文;如需换成中文,再按需调 get_field_values 取字典自行替换",
|
|
1940
|
+
"title": "Is Code",
|
|
1941
|
+
"type": "boolean"
|
|
1942
|
+
}
|
|
1943
|
+
},
|
|
1944
|
+
"required": [
|
|
1945
|
+
"name_en",
|
|
1946
|
+
"name",
|
|
1947
|
+
"data_type",
|
|
1948
|
+
"is_enum",
|
|
1949
|
+
"is_code"
|
|
1950
|
+
],
|
|
1951
|
+
"title": "SubField",
|
|
1952
|
+
"type": "object"
|
|
1953
|
+
}
|
|
1954
|
+
},
|
|
1955
|
+
"additionalProperties": false,
|
|
1956
|
+
"properties": {
|
|
1957
|
+
"items": {
|
|
1958
|
+
"description": "字段列表(所选站点的并集,按 name_en 排序)",
|
|
1959
|
+
"items": {
|
|
1960
|
+
"$ref": "#/$defs/SubField"
|
|
1961
|
+
},
|
|
1962
|
+
"title": "Items",
|
|
1963
|
+
"type": "array"
|
|
1964
|
+
},
|
|
1965
|
+
"total": {
|
|
1966
|
+
"description": "字段总数",
|
|
1967
|
+
"title": "Total",
|
|
1968
|
+
"type": "integer"
|
|
1969
|
+
}
|
|
1970
|
+
},
|
|
1971
|
+
"required": [
|
|
1972
|
+
"items",
|
|
1973
|
+
"total"
|
|
1974
|
+
],
|
|
1975
|
+
"title": "SubFieldList",
|
|
1976
|
+
"type": "object"
|
|
1977
|
+
},
|
|
1978
|
+
"flags": [
|
|
1979
|
+
{
|
|
1980
|
+
"flag": "--source",
|
|
1981
|
+
"field": "source",
|
|
1982
|
+
"type": "list[str](json)",
|
|
1983
|
+
"required": true,
|
|
1984
|
+
"desc": "站点数组(中文站点名,取自 list_sites),至少 1 个;返回这些站点下字段的并集"
|
|
1985
|
+
},
|
|
1986
|
+
{
|
|
1987
|
+
"flag": "--keyword",
|
|
1988
|
+
"field": "keyword",
|
|
1989
|
+
"type": "string",
|
|
1990
|
+
"required": false,
|
|
1991
|
+
"desc": "按字段中文名 / name_en 模糊过滤(如「情感」「互动」);不传=该站点全部字段"
|
|
1992
|
+
}
|
|
1993
|
+
],
|
|
1994
|
+
"transport": {
|
|
1995
|
+
"method": "POST",
|
|
1996
|
+
"path": "/subscription/list_fields",
|
|
1997
|
+
"send": "args"
|
|
1998
|
+
},
|
|
1999
|
+
"errors": [
|
|
2000
|
+
"auth_error",
|
|
2001
|
+
"validation",
|
|
2002
|
+
"api_error",
|
|
2003
|
+
"network",
|
|
2004
|
+
"internal"
|
|
2005
|
+
]
|
|
2006
|
+
},
|
|
2007
|
+
{
|
|
2008
|
+
"action": "list-sites",
|
|
2009
|
+
"op": "list_sites",
|
|
2010
|
+
"name": "subscription/list_sites",
|
|
2011
|
+
"summary": "列出可订阅站点(中文站点名)—— job_create / job_update 的 source 只能取这里的值。",
|
|
2012
|
+
"description": "列出可订阅站点(中文站点名)—— job_create / job_update 的 source 只能取这里的值。",
|
|
2013
|
+
"input_schema": {
|
|
2014
|
+
"type": "object",
|
|
2015
|
+
"properties": {},
|
|
2016
|
+
"additionalProperties": false
|
|
2017
|
+
},
|
|
2018
|
+
"output_schema": {
|
|
2019
|
+
"additionalProperties": false,
|
|
2020
|
+
"description": "可订阅站点名单(全量,无需翻页:站点由运维在表里配,量级有界)。",
|
|
2021
|
+
"properties": {
|
|
2022
|
+
"items": {
|
|
2023
|
+
"description": "中文站点名列表,即 job_create / job_update 的 source 该填的值(按配置顺序)",
|
|
2024
|
+
"items": {
|
|
2025
|
+
"type": "string"
|
|
2026
|
+
},
|
|
2027
|
+
"title": "Items",
|
|
2028
|
+
"type": "array"
|
|
2029
|
+
},
|
|
2030
|
+
"total": {
|
|
2031
|
+
"description": "站点总数",
|
|
2032
|
+
"title": "Total",
|
|
2033
|
+
"type": "integer"
|
|
2034
|
+
}
|
|
2035
|
+
},
|
|
2036
|
+
"required": [
|
|
2037
|
+
"items",
|
|
2038
|
+
"total"
|
|
2039
|
+
],
|
|
2040
|
+
"title": "SubSiteList",
|
|
2041
|
+
"type": "object"
|
|
2042
|
+
},
|
|
2043
|
+
"flags": [],
|
|
2044
|
+
"transport": {
|
|
2045
|
+
"method": "POST",
|
|
2046
|
+
"path": "/subscription/list_sites",
|
|
2047
|
+
"send": "args"
|
|
2048
|
+
},
|
|
2049
|
+
"errors": [
|
|
2050
|
+
"auth_error",
|
|
2051
|
+
"validation",
|
|
2052
|
+
"api_error",
|
|
2053
|
+
"network",
|
|
2054
|
+
"internal"
|
|
2055
|
+
]
|
|
2056
|
+
},
|
|
1391
2057
|
{
|
|
1392
2058
|
"action": "task-list",
|
|
1393
2059
|
"op": "task_list",
|
|
@@ -1497,10 +2163,10 @@
|
|
|
1497
2163
|
"$defs": {
|
|
1498
2164
|
"SubTask": {
|
|
1499
2165
|
"additionalProperties": false,
|
|
1500
|
-
"description": "订阅 task 出参对象(
|
|
2166
|
+
"description": "订阅 task 出参对象(**对外精简**:只给调用方轮询/下载所需)。",
|
|
1501
2167
|
"properties": {
|
|
1502
2168
|
"task_id": {
|
|
1503
|
-
"description": "task ID
|
|
2169
|
+
"description": "task ID",
|
|
1504
2170
|
"title": "Task Id",
|
|
1505
2171
|
"type": "integer"
|
|
1506
2172
|
},
|
|
@@ -1509,6 +2175,11 @@
|
|
|
1509
2175
|
"title": "Job Id",
|
|
1510
2176
|
"type": "integer"
|
|
1511
2177
|
},
|
|
2178
|
+
"size": {
|
|
2179
|
+
"description": "本次执行最多导出的记录行数",
|
|
2180
|
+
"title": "Size",
|
|
2181
|
+
"type": "integer"
|
|
2182
|
+
},
|
|
1512
2183
|
"status": {
|
|
1513
2184
|
"description": "pending/running/success/failed/terminated",
|
|
1514
2185
|
"title": "Status",
|
|
@@ -1555,6 +2226,7 @@
|
|
|
1555
2226
|
"required": [
|
|
1556
2227
|
"task_id",
|
|
1557
2228
|
"job_id",
|
|
2229
|
+
"size",
|
|
1558
2230
|
"status",
|
|
1559
2231
|
"created_at",
|
|
1560
2232
|
"updated_at"
|
|
@@ -1660,13 +2332,16 @@
|
|
|
1660
2332
|
],
|
|
1661
2333
|
"skill": {
|
|
1662
2334
|
"slug": "social-neuron-subscription",
|
|
1663
|
-
"description": "使用场景:定时导出/订阅推送/定期拉数/大批量出文件——需异步产出文件并下载时用能力:按魔方规则、定时 cron 或手动触发,把大库数据异步导出为文件,上传 octo/sftp,产出下载 url 供调用方轮询拉取;可创建/修改/列出/删除/触发订阅 job、翻页查询 task。概念:job=订阅定义(数据范围+频率+投递方式,系统按频率生成 cron);task=job 的一次执行,产物与下载地址落在 file_info。边界:①每 token 生效 job 默认≤10
|
|
2335
|
+
"description": "使用场景:定时导出/订阅推送/定期拉数/大批量出文件——需异步产出文件并下载时用能力:按魔方规则、定时 cron 或手动触发,把大库数据异步导出为文件,上传 octo/sftp,产出下载 url 供调用方轮询拉取;可创建/修改/列出/删除/触发订阅 job、翻页查询 task;另有三个只读发现接口:list_sites / list_fields 用于建 job 前对齐站点与字段取值;get_field_values 给出枚举值 / 编码值的中文字典,仅在用户明确要求把导出的码值换成中文时按需取用(换值由调用方拿到数据后自行完成,系统不自动回显)。概念:job=订阅定义(数据范围+频率+投递方式,系统按频率生成 cron);task=job 的一次执行,产物与下载地址落在 file_info。边界:①每 token 生效 job 默认≤10;②单次拉数可指定 size,默认且最大 50 万行,超出截断;③投递仅 octo/sftp(kafka 规划中,暂不支持),无主动通知、须轮询 task 取结果。④如果拉取不到数据则不会产生文件上传,也就没有文件url信息",
|
|
1664
2336
|
"actions": [
|
|
2337
|
+
"get-field-values",
|
|
1665
2338
|
"job-create",
|
|
1666
2339
|
"job-delete",
|
|
1667
2340
|
"job-list",
|
|
1668
2341
|
"job-trigger",
|
|
1669
2342
|
"job-update",
|
|
2343
|
+
"list-fields",
|
|
2344
|
+
"list-sites",
|
|
1670
2345
|
"task-list"
|
|
1671
2346
|
]
|
|
1672
2347
|
}
|