@social-data/social-neuron-subscription 1.0.0 → 1.0.2
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/manifest.json +320 -41
- package/package.json +1 -1
- package/skills/social-neuron-subscription/SKILL.md +39 -19
package/manifest.json
CHANGED
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
},
|
|
85
85
|
"SftpTarget": {
|
|
86
86
|
"additionalProperties": false,
|
|
87
|
-
"description": "sftp(本期):把导出文件上传到 SFTP
|
|
87
|
+
"description": "sftp(本期):把导出文件上传到 SFTP 远端目录。\n目录与文件名都支持日期变量 ``yyyyMMdd`` / ``yyyyMM`` / ``yyyy``,同一个 task 重跑多少次,远端路径与文件名都不变。",
|
|
88
88
|
"properties": {
|
|
89
89
|
"type": {
|
|
90
90
|
"const": "sftp",
|
|
@@ -114,10 +114,23 @@
|
|
|
114
114
|
"type": "string"
|
|
115
115
|
},
|
|
116
116
|
"remote_path": {
|
|
117
|
-
"description": "
|
|
117
|
+
"description": "远端目录/路径。可在**任意一层**用日期变量,但变量必须**独占一层**:`/data/sub/yyyyMM/yyyyMMdd` 合法,`/data/sub_yyyyMMdd` 非法。只认 yyyyMMdd / yyyyMM / yyyy 三种;不允许 '..'、空目录层。",
|
|
118
118
|
"title": "Remote Path",
|
|
119
119
|
"type": "string"
|
|
120
120
|
},
|
|
121
|
+
"filename_template": {
|
|
122
|
+
"anyOf": [
|
|
123
|
+
{
|
|
124
|
+
"type": "string"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"type": "null"
|
|
128
|
+
}
|
|
129
|
+
],
|
|
130
|
+
"default": null,
|
|
131
|
+
"description": "自定义文件名模板(不含扩展名)。只允许字母、数字、'_'、'-' 与日期变量,且变量前后必须是 '_' 或首尾:`daily_yyyyMMdd_export`、`yyyyMM_summary` 合法,`dailyyyyyMMdd`、`report-yyyyMMdd-x` 非法。系统统一追加 `_<task_id>` 与扩展名。不传=沿用默认 `<job_id>_<task_id>.<ext>`。",
|
|
132
|
+
"title": "Filename Template"
|
|
133
|
+
},
|
|
121
134
|
"format": {
|
|
122
135
|
"default": "json",
|
|
123
136
|
"description": "文件格式:csv/excel/json(默认 json)",
|
|
@@ -144,7 +157,7 @@
|
|
|
144
157
|
"additionalProperties": false,
|
|
145
158
|
"properties": {
|
|
146
159
|
"name": {
|
|
147
|
-
"description": "job
|
|
160
|
+
"description": "job 名称,同一凭证(token)下唯一",
|
|
148
161
|
"maxLength": 128,
|
|
149
162
|
"minLength": 1,
|
|
150
163
|
"title": "Name",
|
|
@@ -171,15 +184,39 @@
|
|
|
171
184
|
"type": "array"
|
|
172
185
|
},
|
|
173
186
|
"published": {
|
|
174
|
-
"description": "
|
|
175
|
-
"
|
|
176
|
-
"T-0",
|
|
177
|
-
"T-1",
|
|
178
|
-
"T-7"
|
|
179
|
-
],
|
|
187
|
+
"description": "**发布时间**口径(必填,主口径 —— 它同时决定查哪个月的索引、怎么拆分片,所以不能缺省)。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。",
|
|
188
|
+
"pattern": "^T-\\d+~T-\\d+$",
|
|
180
189
|
"title": "Published",
|
|
181
190
|
"type": "string"
|
|
182
191
|
},
|
|
192
|
+
"idate": {
|
|
193
|
+
"anyOf": [
|
|
194
|
+
{
|
|
195
|
+
"pattern": "^T-\\d+~T-\\d+$",
|
|
196
|
+
"type": "string"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"type": "null"
|
|
200
|
+
}
|
|
201
|
+
],
|
|
202
|
+
"default": null,
|
|
203
|
+
"description": "**入库时间**口径(选填,不传=该维度不过滤)。在发布时间窗**之内**再 AND 一层:入库时间落在本区间的数据。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。",
|
|
204
|
+
"title": "Idate"
|
|
205
|
+
},
|
|
206
|
+
"udate": {
|
|
207
|
+
"anyOf": [
|
|
208
|
+
{
|
|
209
|
+
"pattern": "^T-\\d+~T-\\d+$",
|
|
210
|
+
"type": "string"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"type": "null"
|
|
214
|
+
}
|
|
215
|
+
],
|
|
216
|
+
"default": null,
|
|
217
|
+
"description": "**更新时间**口径(选填,不传=该维度不过滤)。在发布时间窗**之内**再 AND 一层:更新时间落在本区间的数据。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。",
|
|
218
|
+
"title": "Udate"
|
|
219
|
+
},
|
|
183
220
|
"frequency": {
|
|
184
221
|
"description": "自然语言同步频率,系统转 cron(东八区)。可指定具体时间、并**支持一天多次**:如「每天9点」「每天9点和15点」(一天跑两次)「每周一9点」「每小时」「每30分钟」。无法解析为 cron 会被拒绝。",
|
|
185
222
|
"maxLength": 64,
|
|
@@ -224,7 +261,7 @@
|
|
|
224
261
|
}
|
|
225
262
|
],
|
|
226
263
|
"default": null,
|
|
227
|
-
"description": "投递目标;省略默认 octo(
|
|
264
|
+
"description": "投递目标;省略默认 octo(json)。本期支持 octo(上传存储→CDN url)与 sftp(账密上传远端,路径/文件名可用日期变量);kafka: 暂未实现。",
|
|
228
265
|
"title": "Target"
|
|
229
266
|
}
|
|
230
267
|
},
|
|
@@ -248,7 +285,7 @@
|
|
|
248
285
|
"type": "integer"
|
|
249
286
|
},
|
|
250
287
|
"name": {
|
|
251
|
-
"description": "job
|
|
288
|
+
"description": "job 名称,同一凭证(token)下唯一",
|
|
252
289
|
"title": "Name",
|
|
253
290
|
"type": "string"
|
|
254
291
|
},
|
|
@@ -269,10 +306,34 @@
|
|
|
269
306
|
"type": "array"
|
|
270
307
|
},
|
|
271
308
|
"published": {
|
|
272
|
-
"description": "
|
|
309
|
+
"description": "发布时间口径(相对,规范形态 T-M~T-N,如 T-1~T-1 / T-7~T-3);触发时按 task_time 折算成绝对日期区间",
|
|
273
310
|
"title": "Published",
|
|
274
311
|
"type": "string"
|
|
275
312
|
},
|
|
313
|
+
"idate": {
|
|
314
|
+
"anyOf": [
|
|
315
|
+
{
|
|
316
|
+
"type": "string"
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
"type": "null"
|
|
320
|
+
}
|
|
321
|
+
],
|
|
322
|
+
"description": "入库时间口径(相对,T-M~T-N);null=该维度不过滤",
|
|
323
|
+
"title": "Idate"
|
|
324
|
+
},
|
|
325
|
+
"udate": {
|
|
326
|
+
"anyOf": [
|
|
327
|
+
{
|
|
328
|
+
"type": "string"
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"type": "null"
|
|
332
|
+
}
|
|
333
|
+
],
|
|
334
|
+
"description": "更新时间口径(相对,T-M~T-N);null=该维度不过滤",
|
|
335
|
+
"title": "Udate"
|
|
336
|
+
},
|
|
276
337
|
"fields": {
|
|
277
338
|
"description": "拉取/导出字段(空=全量)",
|
|
278
339
|
"items": {
|
|
@@ -292,7 +353,7 @@
|
|
|
292
353
|
"type": "string"
|
|
293
354
|
},
|
|
294
355
|
"target_type": {
|
|
295
|
-
"description": "投递类型:octo(
|
|
356
|
+
"description": "投递类型:octo、sftp、kafka(暂不支持)",
|
|
296
357
|
"title": "Target Type",
|
|
297
358
|
"type": "string"
|
|
298
359
|
},
|
|
@@ -324,6 +385,8 @@
|
|
|
324
385
|
"rule_ids",
|
|
325
386
|
"source",
|
|
326
387
|
"published",
|
|
388
|
+
"idate",
|
|
389
|
+
"udate",
|
|
327
390
|
"fields",
|
|
328
391
|
"frequency",
|
|
329
392
|
"cron",
|
|
@@ -342,7 +405,7 @@
|
|
|
342
405
|
"field": "name",
|
|
343
406
|
"type": "string",
|
|
344
407
|
"required": true,
|
|
345
|
-
"desc": "job
|
|
408
|
+
"desc": "job 名称,同一凭证(token)下唯一"
|
|
346
409
|
},
|
|
347
410
|
{
|
|
348
411
|
"flag": "--rule-ids",
|
|
@@ -361,9 +424,23 @@
|
|
|
361
424
|
{
|
|
362
425
|
"flag": "--published",
|
|
363
426
|
"field": "published",
|
|
364
|
-
"type": "
|
|
427
|
+
"type": "string",
|
|
365
428
|
"required": true,
|
|
366
|
-
"desc": "
|
|
429
|
+
"desc": "**发布时间**口径(必填,主口径 —— 它同时决定查哪个月的索引、怎么拆分片,所以不能缺省)。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。"
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"flag": "--idate",
|
|
433
|
+
"field": "idate",
|
|
434
|
+
"type": "string",
|
|
435
|
+
"required": false,
|
|
436
|
+
"desc": "**入库时间**口径(选填,不传=该维度不过滤)。在发布时间窗**之内**再 AND 一层:入库时间落在本区间的数据。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。"
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
"flag": "--udate",
|
|
440
|
+
"field": "udate",
|
|
441
|
+
"type": "string",
|
|
442
|
+
"required": false,
|
|
443
|
+
"desc": "**更新时间**口径(选填,不传=该维度不过滤)。在发布时间窗**之内**再 AND 一层:更新时间落在本区间的数据。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。"
|
|
367
444
|
},
|
|
368
445
|
{
|
|
369
446
|
"flag": "--frequency",
|
|
@@ -384,7 +461,7 @@
|
|
|
384
461
|
"field": "target",
|
|
385
462
|
"type": "object(json)",
|
|
386
463
|
"required": false,
|
|
387
|
-
"desc": "投递目标;省略默认 octo(
|
|
464
|
+
"desc": "投递目标;省略默认 octo(json)。本期支持 octo(上传存储→CDN url)与 sftp(账密上传远端,路径/文件名可用日期变量);kafka: 暂未实现。"
|
|
388
465
|
}
|
|
389
466
|
],
|
|
390
467
|
"transport": {
|
|
@@ -506,7 +583,7 @@
|
|
|
506
583
|
"type": "integer"
|
|
507
584
|
},
|
|
508
585
|
"name": {
|
|
509
|
-
"description": "job
|
|
586
|
+
"description": "job 名称,同一凭证(token)下唯一",
|
|
510
587
|
"title": "Name",
|
|
511
588
|
"type": "string"
|
|
512
589
|
},
|
|
@@ -527,10 +604,34 @@
|
|
|
527
604
|
"type": "array"
|
|
528
605
|
},
|
|
529
606
|
"published": {
|
|
530
|
-
"description": "
|
|
607
|
+
"description": "发布时间口径(相对,规范形态 T-M~T-N,如 T-1~T-1 / T-7~T-3);触发时按 task_time 折算成绝对日期区间",
|
|
531
608
|
"title": "Published",
|
|
532
609
|
"type": "string"
|
|
533
610
|
},
|
|
611
|
+
"idate": {
|
|
612
|
+
"anyOf": [
|
|
613
|
+
{
|
|
614
|
+
"type": "string"
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
"type": "null"
|
|
618
|
+
}
|
|
619
|
+
],
|
|
620
|
+
"description": "入库时间口径(相对,T-M~T-N);null=该维度不过滤",
|
|
621
|
+
"title": "Idate"
|
|
622
|
+
},
|
|
623
|
+
"udate": {
|
|
624
|
+
"anyOf": [
|
|
625
|
+
{
|
|
626
|
+
"type": "string"
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
"type": "null"
|
|
630
|
+
}
|
|
631
|
+
],
|
|
632
|
+
"description": "更新时间口径(相对,T-M~T-N);null=该维度不过滤",
|
|
633
|
+
"title": "Udate"
|
|
634
|
+
},
|
|
534
635
|
"fields": {
|
|
535
636
|
"description": "拉取/导出字段(空=全量)",
|
|
536
637
|
"items": {
|
|
@@ -550,7 +651,7 @@
|
|
|
550
651
|
"type": "string"
|
|
551
652
|
},
|
|
552
653
|
"target_type": {
|
|
553
|
-
"description": "投递类型:octo(
|
|
654
|
+
"description": "投递类型:octo、sftp、kafka(暂不支持)",
|
|
554
655
|
"title": "Target Type",
|
|
555
656
|
"type": "string"
|
|
556
657
|
},
|
|
@@ -582,6 +683,8 @@
|
|
|
582
683
|
"rule_ids",
|
|
583
684
|
"source",
|
|
584
685
|
"published",
|
|
686
|
+
"idate",
|
|
687
|
+
"udate",
|
|
585
688
|
"fields",
|
|
586
689
|
"frequency",
|
|
587
690
|
"cron",
|
|
@@ -720,7 +823,7 @@
|
|
|
720
823
|
},
|
|
721
824
|
"SftpTarget": {
|
|
722
825
|
"additionalProperties": false,
|
|
723
|
-
"description": "sftp(本期):把导出文件上传到 SFTP
|
|
826
|
+
"description": "sftp(本期):把导出文件上传到 SFTP 远端目录。\n目录与文件名都支持日期变量 ``yyyyMMdd`` / ``yyyyMM`` / ``yyyy``,同一个 task 重跑多少次,远端路径与文件名都不变。",
|
|
724
827
|
"properties": {
|
|
725
828
|
"type": {
|
|
726
829
|
"const": "sftp",
|
|
@@ -750,10 +853,23 @@
|
|
|
750
853
|
"type": "string"
|
|
751
854
|
},
|
|
752
855
|
"remote_path": {
|
|
753
|
-
"description": "
|
|
856
|
+
"description": "远端目录/路径。可在**任意一层**用日期变量,但变量必须**独占一层**:`/data/sub/yyyyMM/yyyyMMdd` 合法,`/data/sub_yyyyMMdd` 非法。只认 yyyyMMdd / yyyyMM / yyyy 三种;不允许 '..'、空目录层。",
|
|
754
857
|
"title": "Remote Path",
|
|
755
858
|
"type": "string"
|
|
756
859
|
},
|
|
860
|
+
"filename_template": {
|
|
861
|
+
"anyOf": [
|
|
862
|
+
{
|
|
863
|
+
"type": "string"
|
|
864
|
+
},
|
|
865
|
+
{
|
|
866
|
+
"type": "null"
|
|
867
|
+
}
|
|
868
|
+
],
|
|
869
|
+
"default": null,
|
|
870
|
+
"description": "自定义文件名模板(不含扩展名)。只允许字母、数字、'_'、'-' 与日期变量,且变量前后必须是 '_' 或首尾:`daily_yyyyMMdd_export`、`yyyyMM_summary` 合法,`dailyyyyyMMdd`、`report-yyyyMMdd-x` 非法。系统统一追加 `_<task_id>` 与扩展名。不传=沿用默认 `<job_id>_<task_id>.<ext>`。",
|
|
871
|
+
"title": "Filename Template"
|
|
872
|
+
},
|
|
757
873
|
"format": {
|
|
758
874
|
"default": "json",
|
|
759
875
|
"description": "文件格式:csv/excel/json(默认 json)",
|
|
@@ -787,6 +903,7 @@
|
|
|
787
903
|
"start_time": {
|
|
788
904
|
"anyOf": [
|
|
789
905
|
{
|
|
906
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
|
|
790
907
|
"type": "string"
|
|
791
908
|
},
|
|
792
909
|
{
|
|
@@ -794,12 +911,13 @@
|
|
|
794
911
|
}
|
|
795
912
|
],
|
|
796
913
|
"default": null,
|
|
797
|
-
"description": "
|
|
914
|
+
"description": "**发布时间**下界(绝对日期 yyyy-MM-dd,东八区,按天闭区间,不含时分秒);与 end_time 同传同不传;不传则按 job 上的 published 相对口径折算",
|
|
798
915
|
"title": "Start Time"
|
|
799
916
|
},
|
|
800
917
|
"end_time": {
|
|
801
918
|
"anyOf": [
|
|
802
919
|
{
|
|
920
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
|
|
803
921
|
"type": "string"
|
|
804
922
|
},
|
|
805
923
|
{
|
|
@@ -807,9 +925,65 @@
|
|
|
807
925
|
}
|
|
808
926
|
],
|
|
809
927
|
"default": null,
|
|
810
|
-
"description": "
|
|
928
|
+
"description": "**发布时间**上界(绝对日期 yyyy-MM-dd,东八区,该日整天含在窗内)",
|
|
811
929
|
"title": "End Time"
|
|
812
930
|
},
|
|
931
|
+
"idate_start": {
|
|
932
|
+
"anyOf": [
|
|
933
|
+
{
|
|
934
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
|
|
935
|
+
"type": "string"
|
|
936
|
+
},
|
|
937
|
+
{
|
|
938
|
+
"type": "null"
|
|
939
|
+
}
|
|
940
|
+
],
|
|
941
|
+
"default": null,
|
|
942
|
+
"description": "**入库时间**下界(绝对日期 yyyy-MM-dd,东八区);与 idate_end 同传同不传;不传则按 job 上的 idate 相对口径折算,job 也没配=该维度不过滤",
|
|
943
|
+
"title": "Idate Start"
|
|
944
|
+
},
|
|
945
|
+
"idate_end": {
|
|
946
|
+
"anyOf": [
|
|
947
|
+
{
|
|
948
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
|
|
949
|
+
"type": "string"
|
|
950
|
+
},
|
|
951
|
+
{
|
|
952
|
+
"type": "null"
|
|
953
|
+
}
|
|
954
|
+
],
|
|
955
|
+
"default": null,
|
|
956
|
+
"description": "本次**入库时间**上界(绝对日期 yyyy-MM-dd,东八区,该日整天含在窗内)",
|
|
957
|
+
"title": "Idate End"
|
|
958
|
+
},
|
|
959
|
+
"udate_start": {
|
|
960
|
+
"anyOf": [
|
|
961
|
+
{
|
|
962
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
|
|
963
|
+
"type": "string"
|
|
964
|
+
},
|
|
965
|
+
{
|
|
966
|
+
"type": "null"
|
|
967
|
+
}
|
|
968
|
+
],
|
|
969
|
+
"default": null,
|
|
970
|
+
"description": "**更新时间**下界(绝对日期 yyyy-MM-dd,东八区);与 udate_end 同传同不传;不传则按 job 上的 udate 相对口径折算,job 也没配=该维度不过滤",
|
|
971
|
+
"title": "Udate Start"
|
|
972
|
+
},
|
|
973
|
+
"udate_end": {
|
|
974
|
+
"anyOf": [
|
|
975
|
+
{
|
|
976
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
|
|
977
|
+
"type": "string"
|
|
978
|
+
},
|
|
979
|
+
{
|
|
980
|
+
"type": "null"
|
|
981
|
+
}
|
|
982
|
+
],
|
|
983
|
+
"default": null,
|
|
984
|
+
"description": "**更新时间**上界(绝对日期 yyyy-MM-dd,东八区,该日整天含在窗内)",
|
|
985
|
+
"title": "Udate End"
|
|
986
|
+
},
|
|
813
987
|
"target": {
|
|
814
988
|
"anyOf": [
|
|
815
989
|
{
|
|
@@ -882,14 +1056,42 @@
|
|
|
882
1056
|
"field": "start_time",
|
|
883
1057
|
"type": "string",
|
|
884
1058
|
"required": false,
|
|
885
|
-
"desc": "
|
|
1059
|
+
"desc": "**发布时间**下界(绝对日期 yyyy-MM-dd,东八区,按天闭区间,不含时分秒);与 end_time 同传同不传;不传则按 job 上的 published 相对口径折算"
|
|
886
1060
|
},
|
|
887
1061
|
{
|
|
888
1062
|
"flag": "--end-time",
|
|
889
1063
|
"field": "end_time",
|
|
890
1064
|
"type": "string",
|
|
891
1065
|
"required": false,
|
|
892
|
-
"desc": "
|
|
1066
|
+
"desc": "**发布时间**上界(绝对日期 yyyy-MM-dd,东八区,该日整天含在窗内)"
|
|
1067
|
+
},
|
|
1068
|
+
{
|
|
1069
|
+
"flag": "--idate-start",
|
|
1070
|
+
"field": "idate_start",
|
|
1071
|
+
"type": "string",
|
|
1072
|
+
"required": false,
|
|
1073
|
+
"desc": "**入库时间**下界(绝对日期 yyyy-MM-dd,东八区);与 idate_end 同传同不传;不传则按 job 上的 idate 相对口径折算,job 也没配=该维度不过滤"
|
|
1074
|
+
},
|
|
1075
|
+
{
|
|
1076
|
+
"flag": "--idate-end",
|
|
1077
|
+
"field": "idate_end",
|
|
1078
|
+
"type": "string",
|
|
1079
|
+
"required": false,
|
|
1080
|
+
"desc": "本次**入库时间**上界(绝对日期 yyyy-MM-dd,东八区,该日整天含在窗内)"
|
|
1081
|
+
},
|
|
1082
|
+
{
|
|
1083
|
+
"flag": "--udate-start",
|
|
1084
|
+
"field": "udate_start",
|
|
1085
|
+
"type": "string",
|
|
1086
|
+
"required": false,
|
|
1087
|
+
"desc": "**更新时间**下界(绝对日期 yyyy-MM-dd,东八区);与 udate_end 同传同不传;不传则按 job 上的 udate 相对口径折算,job 也没配=该维度不过滤"
|
|
1088
|
+
},
|
|
1089
|
+
{
|
|
1090
|
+
"flag": "--udate-end",
|
|
1091
|
+
"field": "udate_end",
|
|
1092
|
+
"type": "string",
|
|
1093
|
+
"required": false,
|
|
1094
|
+
"desc": "**更新时间**上界(绝对日期 yyyy-MM-dd,东八区,该日整天含在窗内)"
|
|
893
1095
|
},
|
|
894
1096
|
{
|
|
895
1097
|
"flag": "--target",
|
|
@@ -992,7 +1194,7 @@
|
|
|
992
1194
|
},
|
|
993
1195
|
"SftpTarget": {
|
|
994
1196
|
"additionalProperties": false,
|
|
995
|
-
"description": "sftp(本期):把导出文件上传到 SFTP
|
|
1197
|
+
"description": "sftp(本期):把导出文件上传到 SFTP 远端目录。\n目录与文件名都支持日期变量 ``yyyyMMdd`` / ``yyyyMM`` / ``yyyy``,同一个 task 重跑多少次,远端路径与文件名都不变。",
|
|
996
1198
|
"properties": {
|
|
997
1199
|
"type": {
|
|
998
1200
|
"const": "sftp",
|
|
@@ -1022,10 +1224,23 @@
|
|
|
1022
1224
|
"type": "string"
|
|
1023
1225
|
},
|
|
1024
1226
|
"remote_path": {
|
|
1025
|
-
"description": "
|
|
1227
|
+
"description": "远端目录/路径。可在**任意一层**用日期变量,但变量必须**独占一层**:`/data/sub/yyyyMM/yyyyMMdd` 合法,`/data/sub_yyyyMMdd` 非法。只认 yyyyMMdd / yyyyMM / yyyy 三种;不允许 '..'、空目录层。",
|
|
1026
1228
|
"title": "Remote Path",
|
|
1027
1229
|
"type": "string"
|
|
1028
1230
|
},
|
|
1231
|
+
"filename_template": {
|
|
1232
|
+
"anyOf": [
|
|
1233
|
+
{
|
|
1234
|
+
"type": "string"
|
|
1235
|
+
},
|
|
1236
|
+
{
|
|
1237
|
+
"type": "null"
|
|
1238
|
+
}
|
|
1239
|
+
],
|
|
1240
|
+
"default": null,
|
|
1241
|
+
"description": "自定义文件名模板(不含扩展名)。只允许字母、数字、'_'、'-' 与日期变量,且变量前后必须是 '_' 或首尾:`daily_yyyyMMdd_export`、`yyyyMM_summary` 合法,`dailyyyyyMMdd`、`report-yyyyMMdd-x` 非法。系统统一追加 `_<task_id>` 与扩展名。不传=沿用默认 `<job_id>_<task_id>.<ext>`。",
|
|
1242
|
+
"title": "Filename Template"
|
|
1243
|
+
},
|
|
1029
1244
|
"format": {
|
|
1030
1245
|
"default": "json",
|
|
1031
1246
|
"description": "文件格式:csv/excel/json(默认 json)",
|
|
@@ -1068,7 +1283,7 @@
|
|
|
1068
1283
|
}
|
|
1069
1284
|
],
|
|
1070
1285
|
"default": null,
|
|
1071
|
-
"description": "新名称(
|
|
1286
|
+
"description": "新名称(同一凭证下唯一)",
|
|
1072
1287
|
"title": "Name"
|
|
1073
1288
|
},
|
|
1074
1289
|
"rule_ids": {
|
|
@@ -1110,11 +1325,7 @@
|
|
|
1110
1325
|
"published": {
|
|
1111
1326
|
"anyOf": [
|
|
1112
1327
|
{
|
|
1113
|
-
"
|
|
1114
|
-
"T-0",
|
|
1115
|
-
"T-1",
|
|
1116
|
-
"T-7"
|
|
1117
|
-
],
|
|
1328
|
+
"pattern": "^T-\\d+~T-\\d+$",
|
|
1118
1329
|
"type": "string"
|
|
1119
1330
|
},
|
|
1120
1331
|
{
|
|
@@ -1122,9 +1333,37 @@
|
|
|
1122
1333
|
}
|
|
1123
1334
|
],
|
|
1124
1335
|
"default": null,
|
|
1125
|
-
"description": "
|
|
1336
|
+
"description": "**发布时间**口径(必填字段,只能改不能清)。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。",
|
|
1126
1337
|
"title": "Published"
|
|
1127
1338
|
},
|
|
1339
|
+
"idate": {
|
|
1340
|
+
"anyOf": [
|
|
1341
|
+
{
|
|
1342
|
+
"pattern": "^(?:T-\\d+~T-\\d+)?$",
|
|
1343
|
+
"type": "string"
|
|
1344
|
+
},
|
|
1345
|
+
{
|
|
1346
|
+
"type": "null"
|
|
1347
|
+
}
|
|
1348
|
+
],
|
|
1349
|
+
"default": null,
|
|
1350
|
+
"description": "**入库时间**口径。不传=不改;传空串 \"\"=**清除**该维度(恢复成不过滤)。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。",
|
|
1351
|
+
"title": "Idate"
|
|
1352
|
+
},
|
|
1353
|
+
"udate": {
|
|
1354
|
+
"anyOf": [
|
|
1355
|
+
{
|
|
1356
|
+
"pattern": "^(?:T-\\d+~T-\\d+)?$",
|
|
1357
|
+
"type": "string"
|
|
1358
|
+
},
|
|
1359
|
+
{
|
|
1360
|
+
"type": "null"
|
|
1361
|
+
}
|
|
1362
|
+
],
|
|
1363
|
+
"default": null,
|
|
1364
|
+
"description": "**更新时间**口径。不传=不改;传空串 \"\"=**清除**该维度(恢复成不过滤)。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。",
|
|
1365
|
+
"title": "Udate"
|
|
1366
|
+
},
|
|
1128
1367
|
"fields": {
|
|
1129
1368
|
"anyOf": [
|
|
1130
1369
|
{
|
|
@@ -1222,7 +1461,7 @@
|
|
|
1222
1461
|
"type": "integer"
|
|
1223
1462
|
},
|
|
1224
1463
|
"name": {
|
|
1225
|
-
"description": "job
|
|
1464
|
+
"description": "job 名称,同一凭证(token)下唯一",
|
|
1226
1465
|
"title": "Name",
|
|
1227
1466
|
"type": "string"
|
|
1228
1467
|
},
|
|
@@ -1243,10 +1482,34 @@
|
|
|
1243
1482
|
"type": "array"
|
|
1244
1483
|
},
|
|
1245
1484
|
"published": {
|
|
1246
|
-
"description": "
|
|
1485
|
+
"description": "发布时间口径(相对,规范形态 T-M~T-N,如 T-1~T-1 / T-7~T-3);触发时按 task_time 折算成绝对日期区间",
|
|
1247
1486
|
"title": "Published",
|
|
1248
1487
|
"type": "string"
|
|
1249
1488
|
},
|
|
1489
|
+
"idate": {
|
|
1490
|
+
"anyOf": [
|
|
1491
|
+
{
|
|
1492
|
+
"type": "string"
|
|
1493
|
+
},
|
|
1494
|
+
{
|
|
1495
|
+
"type": "null"
|
|
1496
|
+
}
|
|
1497
|
+
],
|
|
1498
|
+
"description": "入库时间口径(相对,T-M~T-N);null=该维度不过滤",
|
|
1499
|
+
"title": "Idate"
|
|
1500
|
+
},
|
|
1501
|
+
"udate": {
|
|
1502
|
+
"anyOf": [
|
|
1503
|
+
{
|
|
1504
|
+
"type": "string"
|
|
1505
|
+
},
|
|
1506
|
+
{
|
|
1507
|
+
"type": "null"
|
|
1508
|
+
}
|
|
1509
|
+
],
|
|
1510
|
+
"description": "更新时间口径(相对,T-M~T-N);null=该维度不过滤",
|
|
1511
|
+
"title": "Udate"
|
|
1512
|
+
},
|
|
1250
1513
|
"fields": {
|
|
1251
1514
|
"description": "拉取/导出字段(空=全量)",
|
|
1252
1515
|
"items": {
|
|
@@ -1266,7 +1529,7 @@
|
|
|
1266
1529
|
"type": "string"
|
|
1267
1530
|
},
|
|
1268
1531
|
"target_type": {
|
|
1269
|
-
"description": "投递类型:octo(
|
|
1532
|
+
"description": "投递类型:octo、sftp、kafka(暂不支持)",
|
|
1270
1533
|
"title": "Target Type",
|
|
1271
1534
|
"type": "string"
|
|
1272
1535
|
},
|
|
@@ -1298,6 +1561,8 @@
|
|
|
1298
1561
|
"rule_ids",
|
|
1299
1562
|
"source",
|
|
1300
1563
|
"published",
|
|
1564
|
+
"idate",
|
|
1565
|
+
"udate",
|
|
1301
1566
|
"fields",
|
|
1302
1567
|
"frequency",
|
|
1303
1568
|
"cron",
|
|
@@ -1323,7 +1588,7 @@
|
|
|
1323
1588
|
"field": "name",
|
|
1324
1589
|
"type": "string",
|
|
1325
1590
|
"required": false,
|
|
1326
|
-
"desc": "新名称(
|
|
1591
|
+
"desc": "新名称(同一凭证下唯一)"
|
|
1327
1592
|
},
|
|
1328
1593
|
{
|
|
1329
1594
|
"flag": "--rule-ids",
|
|
@@ -1342,9 +1607,23 @@
|
|
|
1342
1607
|
{
|
|
1343
1608
|
"flag": "--published",
|
|
1344
1609
|
"field": "published",
|
|
1345
|
-
"type": "
|
|
1610
|
+
"type": "string",
|
|
1611
|
+
"required": false,
|
|
1612
|
+
"desc": "**发布时间**口径(必填字段,只能改不能清)。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。"
|
|
1613
|
+
},
|
|
1614
|
+
{
|
|
1615
|
+
"flag": "--idate",
|
|
1616
|
+
"field": "idate",
|
|
1617
|
+
"type": "string",
|
|
1618
|
+
"required": false,
|
|
1619
|
+
"desc": "**入库时间**口径。不传=不改;传空串 \"\"=**清除**该维度(恢复成不过滤)。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。"
|
|
1620
|
+
},
|
|
1621
|
+
{
|
|
1622
|
+
"flag": "--udate",
|
|
1623
|
+
"field": "udate",
|
|
1624
|
+
"type": "string",
|
|
1346
1625
|
"required": false,
|
|
1347
|
-
"desc": "
|
|
1626
|
+
"desc": "**更新时间**口径。不传=不改;传空串 \"\"=**清除**该维度(恢复成不过滤)。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。"
|
|
1348
1627
|
},
|
|
1349
1628
|
{
|
|
1350
1629
|
"flag": "--fields",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@social-data/social-neuron-subscription",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Social Neuron subscription 能力 CLI —— 一能力一命令(social-neuron-subscription),薄客户端直达 /subscription/{op}。",
|
|
5
5
|
"bin": {
|
|
6
6
|
"social-neuron-subscription": "bin/cli.js"
|
|
@@ -21,13 +21,15 @@ metadata:
|
|
|
21
21
|
|
|
22
22
|
| flag | 字段 | 类型 | 必填 | 约束 | 说明 |
|
|
23
23
|
|---|---|---|---|---|---|
|
|
24
|
-
| --name | name | string | 是 | minLen=1, maxLen=128 | job
|
|
24
|
+
| --name | name | string | 是 | minLen=1, maxLen=128 | job 名称,同一凭证(token)下唯一 |
|
|
25
25
|
| --rule-ids | rule_ids | list[string] | 是 | minItems=1, minLen=1 | 魔方规则ID数组,至少 1 个 |
|
|
26
26
|
| --source | source | list[string] | 是 | minItems=1, minLen=1 | 站点数组,至少 1 个;只能取已配置站点 |
|
|
27
|
-
| --published | published |
|
|
27
|
+
| --published | published | string | 是 | - | **发布时间**口径(必填,主口径 —— 它同时决定查哪个月的索引、怎么拆分片,所以不能缺省)。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。 |
|
|
28
|
+
| --idate | idate | string | 否 | - | **入库时间**口径(选填,不传=该维度不过滤)。在发布时间窗**之内**再 AND 一层:入库时间落在本区间的数据。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。 |
|
|
29
|
+
| --udate | udate | string | 否 | - | **更新时间**口径(选填,不传=该维度不过滤)。在发布时间窗**之内**再 AND 一层:更新时间落在本区间的数据。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。 |
|
|
28
30
|
| --frequency | frequency | string | 是 | minLen=1, maxLen=64 | 自然语言同步频率,系统转 cron(东八区)。可指定具体时间、并**支持一天多次**:如「每天9点」「每天9点和15点」(一天跑两次)「每周一9点」「每小时」「每30分钟」。无法解析为 cron 会被拒绝。 |
|
|
29
31
|
| --fields | fields | list[string] | 否 | minLen=1 | 拉取/导出字段;不填拉全量 |
|
|
30
|
-
| --target | target | OctoTarget、SftpTarget、KafkaTarget | 否 | - | 投递目标;省略默认 octo(
|
|
32
|
+
| --target | target | OctoTarget、SftpTarget、KafkaTarget | 否 | - | 投递目标;省略默认 octo(json)。本期支持 octo(上传存储→CDN url)与 sftp(账密上传远端,路径/文件名可用日期变量);kafka: 暂未实现。 |
|
|
31
33
|
|
|
32
34
|
**对象 `KafkaTarget`** —— kafka(规划):把记录流投送到 topic(无文件)。
|
|
33
35
|
|
|
@@ -46,6 +48,7 @@ metadata:
|
|
|
46
48
|
| format | enum(csv、excel、json) | 否 | - | 文件格式:csv/excel/json(默认 json) |
|
|
47
49
|
|
|
48
50
|
**对象 `SftpTarget`** —— sftp(本期):把导出文件上传到 SFTP 远端目录。
|
|
51
|
+
目录与文件名都支持日期变量 ``yyyyMMdd`` / ``yyyyMM`` / ``yyyy``,同一个 task 重跑多少次,远端路径与文件名都不变。
|
|
49
52
|
|
|
50
53
|
| 键 | 类型 | 必填 | 约束 | 说明 |
|
|
51
54
|
|---|---|---|---|---|
|
|
@@ -54,7 +57,8 @@ metadata:
|
|
|
54
57
|
| port | integer | 否 | - | 端口,默认 22 |
|
|
55
58
|
| username | string | 是 | - | 登录用户名 |
|
|
56
59
|
| password | string | 是 | - | 登录密码 |
|
|
57
|
-
| remote_path | string | 是 | - |
|
|
60
|
+
| remote_path | string | 是 | - | 远端目录/路径。可在**任意一层**用日期变量,但变量必须**独占一层**:`/data/sub/yyyyMM/yyyyMMdd` 合法,`/data/sub_yyyyMMdd` 非法。只认 yyyyMMdd / yyyyMM / yyyy 三种;不允许 '..'、空目录层。 |
|
|
61
|
+
| filename_template | string | 否 | - | 自定义文件名模板(不含扩展名)。只允许字母、数字、'_'、'-' 与日期变量,且变量前后必须是 '_' 或首尾:`daily_yyyyMMdd_export`、`yyyyMM_summary` 合法,`dailyyyyyMMdd`、`report-yyyyMMdd-x` 非法。系统统一追加 `_<task_id>` 与扩展名。不传=沿用默认 `<job_id>_<task_id>.<ext>`。 |
|
|
58
62
|
| format | enum(csv、excel、json) | 否 | - | 文件格式:csv/excel/json(默认 json) |
|
|
59
63
|
|
|
60
64
|
**出参 `SubJob`**
|
|
@@ -62,14 +66,16 @@ metadata:
|
|
|
62
66
|
| 字段 | 类型 | 必填 | 约束 | 说明 |
|
|
63
67
|
|---|---|---|---|---|
|
|
64
68
|
| job_id | integer | 是 | - | job ID |
|
|
65
|
-
| name | string | 是 | - | job
|
|
69
|
+
| name | string | 是 | - | job 名称,同一凭证(token)下唯一 |
|
|
66
70
|
| rule_ids | list[string] | 是 | - | 魔方规则ID数组 |
|
|
67
71
|
| source | list[string] | 是 | - | 站点数组 |
|
|
68
|
-
| published | string | 是 | - |
|
|
72
|
+
| published | string | 是 | - | 发布时间口径(相对,规范形态 T-M~T-N,如 T-1~T-1 / T-7~T-3);触发时按 task_time 折算成绝对日期区间 |
|
|
73
|
+
| idate | string | 是 | - | 入库时间口径(相对,T-M~T-N);null=该维度不过滤 |
|
|
74
|
+
| udate | string | 是 | - | 更新时间口径(相对,T-M~T-N);null=该维度不过滤 |
|
|
69
75
|
| fields | list[string] | 是 | - | 拉取/导出字段(空=全量) |
|
|
70
76
|
| frequency | string | 是 | - | 自然语言频率 |
|
|
71
77
|
| cron | string | 是 | - | 系统由 frequency 转换的 cron |
|
|
72
|
-
| target_type | string | 是 | - | 投递类型:octo(
|
|
78
|
+
| target_type | string | 是 | - | 投递类型:octo、sftp、kafka(暂不支持) |
|
|
73
79
|
| target_info | object | 是 | - | 投递配置 |
|
|
74
80
|
| active | integer | 是 | - | 1 生效 / 0 停用 |
|
|
75
81
|
| created_at | string | 是 | - | 创建时间(ISO8601,UTC+8) |
|
|
@@ -116,14 +122,16 @@ metadata:
|
|
|
116
122
|
| 键 | 类型 | 必填 | 约束 | 说明 |
|
|
117
123
|
|---|---|---|---|---|
|
|
118
124
|
| job_id | integer | 是 | - | job ID |
|
|
119
|
-
| name | string | 是 | - | job
|
|
125
|
+
| name | string | 是 | - | job 名称,同一凭证(token)下唯一 |
|
|
120
126
|
| rule_ids | list[string] | 是 | - | 魔方规则ID数组 |
|
|
121
127
|
| source | list[string] | 是 | - | 站点数组 |
|
|
122
|
-
| published | string | 是 | - |
|
|
128
|
+
| published | string | 是 | - | 发布时间口径(相对,规范形态 T-M~T-N,如 T-1~T-1 / T-7~T-3);触发时按 task_time 折算成绝对日期区间 |
|
|
129
|
+
| idate | string | 是 | - | 入库时间口径(相对,T-M~T-N);null=该维度不过滤 |
|
|
130
|
+
| udate | string | 是 | - | 更新时间口径(相对,T-M~T-N);null=该维度不过滤 |
|
|
123
131
|
| fields | list[string] | 是 | - | 拉取/导出字段(空=全量) |
|
|
124
132
|
| frequency | string | 是 | - | 自然语言频率 |
|
|
125
133
|
| cron | string | 是 | - | 系统由 frequency 转换的 cron |
|
|
126
|
-
| target_type | string | 是 | - | 投递类型:octo(
|
|
134
|
+
| target_type | string | 是 | - | 投递类型:octo、sftp、kafka(暂不支持) |
|
|
127
135
|
| target_info | object | 是 | - | 投递配置 |
|
|
128
136
|
| active | integer | 是 | - | 1 生效 / 0 停用 |
|
|
129
137
|
| created_at | string | 是 | - | 创建时间(ISO8601,UTC+8) |
|
|
@@ -143,8 +151,12 @@ metadata:
|
|
|
143
151
|
| flag | 字段 | 类型 | 必填 | 约束 | 说明 |
|
|
144
152
|
|---|---|---|---|---|---|
|
|
145
153
|
| --job-id | job_id | integer | 是 | - | 目标 job |
|
|
146
|
-
| --start-time | start_time | string | 否 | - |
|
|
147
|
-
| --end-time | end_time | string | 否 | - |
|
|
154
|
+
| --start-time | start_time | string | 否 | - | **发布时间**下界(绝对日期 yyyy-MM-dd,东八区,按天闭区间,不含时分秒);与 end_time 同传同不传;不传则按 job 上的 published 相对口径折算 |
|
|
155
|
+
| --end-time | end_time | string | 否 | - | **发布时间**上界(绝对日期 yyyy-MM-dd,东八区,该日整天含在窗内) |
|
|
156
|
+
| --idate-start | idate_start | string | 否 | - | **入库时间**下界(绝对日期 yyyy-MM-dd,东八区);与 idate_end 同传同不传;不传则按 job 上的 idate 相对口径折算,job 也没配=该维度不过滤 |
|
|
157
|
+
| --idate-end | idate_end | string | 否 | - | 本次**入库时间**上界(绝对日期 yyyy-MM-dd,东八区,该日整天含在窗内) |
|
|
158
|
+
| --udate-start | udate_start | string | 否 | - | **更新时间**下界(绝对日期 yyyy-MM-dd,东八区);与 udate_end 同传同不传;不传则按 job 上的 udate 相对口径折算,job 也没配=该维度不过滤 |
|
|
159
|
+
| --udate-end | udate_end | string | 否 | - | **更新时间**上界(绝对日期 yyyy-MM-dd,东八区,该日整天含在窗内) |
|
|
148
160
|
| --target | target | OctoTarget、SftpTarget、KafkaTarget | 否 | - | 覆盖本次投递目标 |
|
|
149
161
|
|
|
150
162
|
**对象 `KafkaTarget`** —— kafka(规划):把记录流投送到 topic(无文件)。
|
|
@@ -164,6 +176,7 @@ metadata:
|
|
|
164
176
|
| format | enum(csv、excel、json) | 否 | - | 文件格式:csv/excel/json(默认 json) |
|
|
165
177
|
|
|
166
178
|
**对象 `SftpTarget`** —— sftp(本期):把导出文件上传到 SFTP 远端目录。
|
|
179
|
+
目录与文件名都支持日期变量 ``yyyyMMdd`` / ``yyyyMM`` / ``yyyy``,同一个 task 重跑多少次,远端路径与文件名都不变。
|
|
167
180
|
|
|
168
181
|
| 键 | 类型 | 必填 | 约束 | 说明 |
|
|
169
182
|
|---|---|---|---|---|
|
|
@@ -172,7 +185,8 @@ metadata:
|
|
|
172
185
|
| port | integer | 否 | - | 端口,默认 22 |
|
|
173
186
|
| username | string | 是 | - | 登录用户名 |
|
|
174
187
|
| password | string | 是 | - | 登录密码 |
|
|
175
|
-
| remote_path | string | 是 | - |
|
|
188
|
+
| remote_path | string | 是 | - | 远端目录/路径。可在**任意一层**用日期变量,但变量必须**独占一层**:`/data/sub/yyyyMM/yyyyMMdd` 合法,`/data/sub_yyyyMMdd` 非法。只认 yyyyMMdd / yyyyMM / yyyy 三种;不允许 '..'、空目录层。 |
|
|
189
|
+
| filename_template | string | 否 | - | 自定义文件名模板(不含扩展名)。只允许字母、数字、'_'、'-' 与日期变量,且变量前后必须是 '_' 或首尾:`daily_yyyyMMdd_export`、`yyyyMM_summary` 合法,`dailyyyyyMMdd`、`report-yyyyMMdd-x` 非法。系统统一追加 `_<task_id>` 与扩展名。不传=沿用默认 `<job_id>_<task_id>.<ext>`。 |
|
|
176
190
|
| format | enum(csv、excel、json) | 否 | - | 文件格式:csv/excel/json(默认 json) |
|
|
177
191
|
|
|
178
192
|
**出参 `SubJobTriggerResult`**
|
|
@@ -192,10 +206,12 @@ metadata:
|
|
|
192
206
|
| flag | 字段 | 类型 | 必填 | 约束 | 说明 |
|
|
193
207
|
|---|---|---|---|---|---|
|
|
194
208
|
| --job-id | job_id | integer | 是 | - | 目标 job |
|
|
195
|
-
| --name | name | string | 否 | minLen=1, maxLen=128 | 新名称(
|
|
209
|
+
| --name | name | string | 否 | minLen=1, maxLen=128 | 新名称(同一凭证下唯一) |
|
|
196
210
|
| --rule-ids | rule_ids | list[string] | 否 | minItems=1, minLen=1 | 整组全量覆盖 |
|
|
197
211
|
| --source | source | list[string] | 否 | minItems=1, minLen=1 | 整组全量覆盖 |
|
|
198
|
-
| --published | published |
|
|
212
|
+
| --published | published | string | 否 | - | **发布时间**口径(必填字段,只能改不能清)。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。 |
|
|
213
|
+
| --idate | idate | string | 否 | - | **入库时间**口径。不传=不改;传空串 ""=**清除**该维度(恢复成不过滤)。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。 |
|
|
214
|
+
| --udate | udate | string | 否 | - | **更新时间**口径。不传=不改;传空串 ""=**清除**该维度(恢复成不过滤)。记法 **T-M~T-N**:从 M 天前到 N 天前的闭区间(要求 M>=N),端点按天计,基准日是本次触发的 task_time(东八区;定时=cron 槽位日,手动=触发当日)。**两个端点都必须写全,不接受单值简写** —— 「昨天」写 T-1~T-1,写 T-1 会被拒绝。举例:T-0~T-0=今天;T-1~T-1=昨天;T-2~T-2=前天;T-1~T-0=昨天到今天(2天);T-2~T-1=前天到昨天(2天,口语的「前两天」);T-3~T-1=前三天(3天);T-7~T-3=7天前到3天前(5天);T-7~T-1=近7天到昨天(7天)。跨度最多 120 天、偏移最多 720 天(近两年),M<N 或超限直接报错(不会静默回落)。 |
|
|
199
215
|
| --fields | fields | list[string] | 否 | minLen=1 | 整组全量覆盖 |
|
|
200
216
|
| --frequency | frequency | string | 否 | minLen=1, maxLen=64 | 传入则按新频率重算 cron(用法同创建;支持一天多次,如「每天9点和15点」);无法解析为 cron 会被拒绝 |
|
|
201
217
|
| --target | target | OctoTarget、SftpTarget、KafkaTarget | 否 | - | 整体替换投递目标 |
|
|
@@ -218,6 +234,7 @@ metadata:
|
|
|
218
234
|
| format | enum(csv、excel、json) | 否 | - | 文件格式:csv/excel/json(默认 json) |
|
|
219
235
|
|
|
220
236
|
**对象 `SftpTarget`** —— sftp(本期):把导出文件上传到 SFTP 远端目录。
|
|
237
|
+
目录与文件名都支持日期变量 ``yyyyMMdd`` / ``yyyyMM`` / ``yyyy``,同一个 task 重跑多少次,远端路径与文件名都不变。
|
|
221
238
|
|
|
222
239
|
| 键 | 类型 | 必填 | 约束 | 说明 |
|
|
223
240
|
|---|---|---|---|---|
|
|
@@ -226,7 +243,8 @@ metadata:
|
|
|
226
243
|
| port | integer | 否 | - | 端口,默认 22 |
|
|
227
244
|
| username | string | 是 | - | 登录用户名 |
|
|
228
245
|
| password | string | 是 | - | 登录密码 |
|
|
229
|
-
| remote_path | string | 是 | - |
|
|
246
|
+
| remote_path | string | 是 | - | 远端目录/路径。可在**任意一层**用日期变量,但变量必须**独占一层**:`/data/sub/yyyyMM/yyyyMMdd` 合法,`/data/sub_yyyyMMdd` 非法。只认 yyyyMMdd / yyyyMM / yyyy 三种;不允许 '..'、空目录层。 |
|
|
247
|
+
| filename_template | string | 否 | - | 自定义文件名模板(不含扩展名)。只允许字母、数字、'_'、'-' 与日期变量,且变量前后必须是 '_' 或首尾:`daily_yyyyMMdd_export`、`yyyyMM_summary` 合法,`dailyyyyyMMdd`、`report-yyyyMMdd-x` 非法。系统统一追加 `_<task_id>` 与扩展名。不传=沿用默认 `<job_id>_<task_id>.<ext>`。 |
|
|
230
248
|
| format | enum(csv、excel、json) | 否 | - | 文件格式:csv/excel/json(默认 json) |
|
|
231
249
|
|
|
232
250
|
**出参 `SubJob`**
|
|
@@ -234,14 +252,16 @@ metadata:
|
|
|
234
252
|
| 字段 | 类型 | 必填 | 约束 | 说明 |
|
|
235
253
|
|---|---|---|---|---|
|
|
236
254
|
| job_id | integer | 是 | - | job ID |
|
|
237
|
-
| name | string | 是 | - | job
|
|
255
|
+
| name | string | 是 | - | job 名称,同一凭证(token)下唯一 |
|
|
238
256
|
| rule_ids | list[string] | 是 | - | 魔方规则ID数组 |
|
|
239
257
|
| source | list[string] | 是 | - | 站点数组 |
|
|
240
|
-
| published | string | 是 | - |
|
|
258
|
+
| published | string | 是 | - | 发布时间口径(相对,规范形态 T-M~T-N,如 T-1~T-1 / T-7~T-3);触发时按 task_time 折算成绝对日期区间 |
|
|
259
|
+
| idate | string | 是 | - | 入库时间口径(相对,T-M~T-N);null=该维度不过滤 |
|
|
260
|
+
| udate | string | 是 | - | 更新时间口径(相对,T-M~T-N);null=该维度不过滤 |
|
|
241
261
|
| fields | list[string] | 是 | - | 拉取/导出字段(空=全量) |
|
|
242
262
|
| frequency | string | 是 | - | 自然语言频率 |
|
|
243
263
|
| cron | string | 是 | - | 系统由 frequency 转换的 cron |
|
|
244
|
-
| target_type | string | 是 | - | 投递类型:octo(
|
|
264
|
+
| target_type | string | 是 | - | 投递类型:octo、sftp、kafka(暂不支持) |
|
|
245
265
|
| target_info | object | 是 | - | 投递配置 |
|
|
246
266
|
| active | integer | 是 | - | 1 生效 / 0 停用 |
|
|
247
267
|
| created_at | string | 是 | - | 创建时间(ISO8601,UTC+8) |
|