1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
|
<?php return [
'version' => '1.0',
'info' => ['style' => 'RPC', 'product' => 'openanalytics-open', 'version' => '2018-06-19'],
'directories' => [
[
'children' => ['GetJobDetail', 'GetJobLog', 'ListSparkJob', 'SubmitSparkJob', 'KillSparkJob'],
'type' => 'directory',
'title' => 'Serverless Spark',
'id' => 25894,
],
[
'children' => ['ValidateVirtualClusterName'],
'type' => 'directory',
'title' => '服务管理',
'id' => 25901,
],
[
'children' => ['SubmitSparkSQL', 'CancelSparkStatement', 'ExecuteSparkStatement', 'GetSparkSessionState', 'GetSparkStatement', 'ListSparkStatements', 'GetJobAttemptLog', 'ListSparkJobAttempt', 'CreateInstance', 'GetJobStatus', 'ReleaseInstance'],
'type' => 'directory',
'title' => '其他',
'id' => 335262,
],
],
'components' => [
'schemas' => [],
],
'apis' => [
'CancelSparkStatement' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'systemTags' => [],
'parameters' => [
[
'name' => 'StatementId',
'in' => 'formData',
'schema' => ['description' => 'Spark作业中代码块的唯一ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2026****'],
],
[
'name' => 'JobId',
'in' => 'formData',
'schema' => ['description' => 'Spark作业的唯一ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'j202106071620hangzhou****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Data' => ['description' => '是否终止成功,取值说明:'."\n"
."\n"
.'- **true**:终止成功。'."\n"
.'- **false**:终止失败。', 'type' => 'string', 'example' => 'true'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '341ADFA1-4A68-4707-9CA7-FA86523A5F14'],
],
],
],
],
'errorCodes' => [],
'responseDemo' => '[{"type":"json","example":"{\\n \\"Data\\": \\"true\\",\\n \\"RequestId\\": \\"341ADFA1-4A68-4707-9CA7-FA86523A5F14\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>341ADFA1-4A68-4707-9CA7-FA86523A5F14</RequestId>\\n<Data>true</Data>","errorExample":""}]',
'title' => '终止一个代码块的执行',
'summary' => '终止一个代码块的执行。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => '此操作为异步操作, 当返回`true`时代表Spark作业收到了终止命令, 开始尝试终止代码块, 但最终能否成功依赖实际运行情况. '."\n"
.'后续应当通过`GetSparkStatement`接口来查看最终是否终止成功.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
],
'CreateInstance' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'formData',
'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-beijing'],
],
[
'name' => 'ChargeType',
'in' => 'formData',
'schema' => ['description' => '固定为**POSTPAY**。暂只支持创建后付费实例。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'POSTPAY'],
],
[
'name' => 'InstanceType',
'in' => 'formData',
'schema' => ['description' => '实例类型,取值说明:'."\n"
."\n"
.'- **CU_SPARK**:云原生Spark引擎。'."\n"
."\n"
.'- **CU_PRESTO**:兼容开源Presto语法。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'CU_PRESTO'],
],
[
'name' => 'Component',
'in' => 'formData',
'schema' => ['description' => 'component模块的JSON序列化。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '"{\\"operable\\":\\"false\\",\\"max_cu\\":\\"8\\",\\"instance_name\\":\\"api-test-9\\",\\"min_cu\\":\\"0\\",\\"engine\\":\\"spark\\",\\"region\\":\\"cn-hangzhou\\",\\"app_name\\":\\"xx\\",\\"app_version_name\\":\\"xx\\"}"'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '312F48C7-AFA0-46AA-B8F6-1B16B8808045'],
'ErrorInfo' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'An internal error occurred'],
'Result' => ['description' => '返回的创建实例的结果。', 'type' => 'string', 'example' => 'true'],
'ErrorCode' => ['description' => '错误码。', 'type' => 'string', 'example' => '600'],
'Success' => ['description' => '请求是否调用成功。', 'type' => 'boolean', 'example' => 'true'],
],
],
],
],
'errorCodes' => [
401 => [
['errorCode' => 'Openanalytics.Unauthorized.Exception', 'errorMessage' => 'You do not have permission to perform the operation.', 'description' => '您没有权限操作'],
],
404 => [
['errorCode' => 'Openanalytics.NotFound.Exception', 'errorMessage' => 'The specified instance does not exist.', 'description' => '实例不存在'],
],
600 => [
['errorCode' => 'Openanalytics.Internal.Exception', 'errorMessage' => 'An internal error occurred.', 'description' => '内部错误'],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"312F48C7-AFA0-46AA-B8F6-1B16B8808045\\",\\n \\"ErrorInfo\\": \\"An internal error occurred\\",\\n \\"Result\\": \\"true\\",\\n \\"ErrorCode\\": \\"600\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<RequestId>312F48C7-AFA0-46AA-B8F6-1B16B8808045</RequestId>\\n<ErrorInfo>An internal error occurred</ErrorInfo>\\n<ErrorCode>600</ErrorCode>\\n<Success>true</Success>\\n<Result>true</Result>","errorExample":""}]',
'title' => '创建实例',
'summary' => '调用CreateInstance创建实例。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
],
'ExecuteSparkStatement' => [
'methods' => ['post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [],
'parameters' => [
[
'name' => 'Code',
'in' => 'formData',
'schema' => ['description' => '一段代码块,使用Linux系统的 \'\\n\' 来代表切到新的一行。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'print(2+2)\\n'],
],
[
'name' => 'JobId',
'in' => 'formData',
'schema' => ['description' => 'Spark作业的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'j202106071620hangzhou****'],
],
[
'name' => 'Kind',
'in' => 'formData',
'schema' => ['description' => '执行代码的语言是什么, 取值:'."\n"
.'- **scala**'."\n"
.'- **python**'."\n"
.'- **sql**', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'sql'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Data' => ['description' => '代码块提交成功后在此Spark作业中的唯一ID。', 'type' => 'string', 'example' => '2'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '0DC5B6F080E8-0DC5B6F080E8-0DC5B'],
],
],
],
],
'errorCodes' => [],
'responseDemo' => '[{"type":"json","example":"{\\n \\"Data\\": \\"2\\",\\n \\"RequestId\\": \\"0DC5B6F080E8-0DC5B6F080E8-0DC5B\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>0DC5B6F080E8-0DC5B6F080E8-0DC5B</RequestId>\\n<Data>2</Data>","errorExample":""}]',
'title' => '执行Spark代码块作业',
'summary' => '提交一段代码块给Spark作业执行。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
],
'GetJobAttemptLog' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [],
'parameters' => [
[
'name' => 'JobId',
'in' => 'formData',
'schema' => ['description' => 'Spark作业ID。您可以在作业管理页面查看作业。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'j202105272322hangzhou5d64f1560000128'],
],
[
'name' => 'VcName',
'in' => 'formData',
'schema' => ['description' => '执行Spark作业的虚拟集群名称。您可以在虚拟集群管理页面查看虚拟集群名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'release-test'],
],
[
'name' => 'JobAttemptId',
'in' => 'formData',
'schema' => ['description' => 'Spark作业尝试ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'j202105272322hangzhou5d64f1560000128-0001'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Data' => ['description' => '返回的日志。', 'type' => 'string', 'example' => 'local:///opt/spark/jars/offline-sql.jar, main_file\\n+ exec /usr/bin/tini -s -- /jdk/jdk8/bin/java -cp \'/opt/tools/exec-wrapper.jar:.:::/opt/spark/jars/*\' com.aliyun.dla.spark.SparkJobWrapper /opt/spark/bin/spark-submit --conf spark.driver.host=172.16.6.205 --conf spark.ui.port=4040 --conf \'spark.driver.extraJavaOptions=-Dlog4j.configuration=file:///opt/spark/log-conf/log4j.properties -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/dump.hprof -XX:OnOutOfMemoryError=\\"bash /opt/tools/oss-cp.sh /tmp/dump.hprof oss://dla-test-cn-hangzhou/spark-logs/release-test/j202105272322hangzhou5d64f1560000128-0001/driver/dump.hprof; bash /opt/tools/job-stop.sh\\" \''],
'RequestId' => ['description' => '请求的唯一ID。', 'type' => 'string', 'example' => '9CE8F271-F918-43B6-8F58-F9F1C2DCFDB8'],
],
],
],
],
'errorCodes' => [],
'responseDemo' => '[{"type":"json","example":"{\\n \\"Data\\": \\"local:///opt/spark/jars/offline-sql.jar, main_file\\\\\\\\n+ exec /usr/bin/tini -s -- /jdk/jdk8/bin/java -cp \'/opt/tools/exec-wrapper.jar:.:::/opt/spark/jars/*\' com.aliyun.dla.spark.SparkJobWrapper /opt/spark/bin/spark-submit --conf spark.driver.host=172.16.6.205 --conf spark.ui.port=4040 --conf \'spark.driver.extraJavaOptions=-Dlog4j.configuration=file:///opt/spark/log-conf/log4j.properties -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/dump.hprof -XX:OnOutOfMemoryError=\\\\\\\\\\\\\\"bash /opt/tools/oss-cp.sh /tmp/dump.hprof oss://dla-test-cn-hangzhou/spark-logs/release-test/j202105272322hangzhou5d64f1560000128-0001/driver/dump.hprof; bash /opt/tools/job-stop.sh\\\\\\\\\\\\\\" \'\\",\\n \\"RequestId\\": \\"9CE8F271-F918-43B6-8F58-F9F1C2DCFDB8\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>9CE8F271-F918-43B6-8F58-F9F1C2DCFDB8</RequestId>\\n<Data>local:///opt/spark/jars/offline-sql.jar, main_file\\\\n+ exec /usr/bin/tini -s -- /jdk/jdk8/bin/java -cp \'/opt/tools/exec-wrapper.jar:.:::/opt/spark/jars/*\' com.aliyun.dla.spark.SparkJobWrapper /opt/spark/bin/spark-submit --conf spark.driver.host=172.16.6.205 --conf spark.ui.port=4040 --conf \'spark.driver.extraJavaOptions=-Dlog4j.configuration=file:///opt/spark/log-conf/log4j.properties -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/dump.hprof -XX:OnOutOfMemoryError=\\\\\\"bash /opt/tools/oss-cp.sh /tmp/dump.hprof oss://dla-test-cn-hangzhou/spark-logs/release-test/j202105272322hangzhou5d64f1560000128-0001/driver/dump.hprof; bash /opt/tools/job-stop.sh\\\\\\" \'</Data>","errorExample":""}]',
'title' => '获取作业日志',
'summary' => '获取对应JobAttempt的日志。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
],
'GetJobDetail' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'JobId',
'in' => 'formData',
'schema' => ['description' => 'Spark作业ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'j202010271622hangzhouf742a4330000923'],
],
[
'name' => 'VcName',
'in' => 'formData',
'schema' => ['description' => '执行Spark作业的虚拟集群名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyCluster'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => '请求的唯一ID。', 'type' => 'string', 'example' => '5F10AB6E-8984-4E32-B821-4E1512711B8C'],
'JobDetail' => [
'description' => 'Spark作业的详细信息。',
'type' => 'object',
'properties' => [
'Status' => ['description' => 'Spark作业的状态码。', 'type' => 'string', 'example' => 'success'],
'UpdateTime' => ['description' => '最后一次更新Spark作业状态的时间,时区为执行作业区域的时区。', 'type' => 'string', 'example' => '2020-10-27 16:23:16'],
'ExecutorResourceSpec' => ['description' => 'Executor计算资源规格。取值范围:'."\n"
."\n"
.'- **small**:1Core 4GB'."\n"
."\n"
.'- **medium**:2Core 8GB'."\n"
."\n"
.'- **large**:4Core 16GB'."\n"
."\n"
.'- **xlarge**:8Core 32GB', 'type' => 'string', 'example' => 'small'],
'CreateTime' => ['description' => 'Spark作业开始执行的时间,时区为执行区域的时区。', 'type' => 'string', 'example' => '2020-10-27 16:23:16'],
'DriverResourceSpec' => ['description' => 'Driver计算资源规格。取值范围:'."\n"
."\n"
.'- **small**:1Core 4GB'."\n"
."\n"
.'- **medium**:2Core 8GB'."\n"
."\n"
.'- **large**:4Core 16GB'."\n"
."\n"
.'- **xlarge**:8Core 32GB', 'type' => 'string', 'example' => 'small'],
'CreateTimeValue' => ['description' => 'Spark作业开始执行的毫秒级时间戳。', 'type' => 'string', 'example' => '1603786996000'],
'UpdateTimeValue' => ['description' => '最后一次更新Spark作业状态的毫秒级时间戳。', 'type' => 'string', 'example' => '1603786996000'],
'SparkUI' => ['description' => 'Spark作业的UI,具体请参考[配置Spark UI](~~163470~~)。', 'type' => 'string', 'example' => 'https://dlaui-cn-hangzhou.aliyuncs.com/?token=xxx'],
'LastJobAttemptId' => ['description' => '最近一次尝试执行的Spark作业ID。', 'type' => 'string', 'example' => '202105251618hzslot9906b0b40000005-0001'],
'SubmitTimeValue' => ['description' => '提交Spark作业的毫秒级时间戳。', 'type' => 'string', 'example' => '1603786996000'],
'JobName' => ['description' => 'Spark作业的名称。', 'type' => 'string', 'example' => 'SparkPi'],
'JobId' => ['description' => 'Spark作业的ID。', 'type' => 'string', 'example' => 'j202010271622hangzhouf742a4330000923'],
'ExecutorInstances' => ['description' => 'Spark作业Executor数量。', 'type' => 'string', 'example' => '1'],
'VcName' => ['description' => '执行Spark作业的虚拟集群名称。', 'type' => 'string', 'example' => 'MyCluster'],
'SubmitTime' => ['description' => '提交Spark作业的时间,时区为执行区域的时区。', 'type' => 'string', 'example' => '2020-10-27 16:23:16'],
'Detail' => ['description' => '定义Spark作业的JSON字符串。', 'type' => 'string', 'example' => '{\\"args\\":[\\"100\\"],\\"name\\":\\"SparkPi\\",\\"className\\":\\"org.apache.spark.examples.SparkPi\\",\\"conf\\":{\\"spark.driver.resourceSpec\\":\\"medium\\",\\"spark.executor.instances\\":5,\\"spark.executor.resourceSpec\\":\\"medium\\"},\\"file\\":\\"local:///tmp/spark-examples.jar\\"}'],
],
],
],
],
],
],
'errorCodes' => [],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5F10AB6E-8984-4E32-B821-4E1512711B8C\\",\\n \\"JobDetail\\": {\\n \\"Status\\": \\"success\\",\\n \\"UpdateTime\\": \\"2020-10-27 16:23:16\\",\\n \\"ExecutorResourceSpec\\": \\"small\\",\\n \\"CreateTime\\": \\"2020-10-27 16:23:16\\",\\n \\"DriverResourceSpec\\": \\"small\\",\\n \\"CreateTimeValue\\": \\"1603786996000\\",\\n \\"UpdateTimeValue\\": \\"1603786996000\\",\\n \\"SparkUI\\": \\"https://dlaui-cn-hangzhou.aliyuncs.com/?token=xxx\\",\\n \\"LastJobAttemptId\\": \\"202105251618hzslot9906b0b40000005-0001\\",\\n \\"SubmitTimeValue\\": \\"1603786996000\\",\\n \\"JobName\\": \\"SparkPi\\",\\n \\"JobId\\": \\"j202010271622hangzhouf742a4330000923\\",\\n \\"ExecutorInstances\\": \\"1\\",\\n \\"VcName\\": \\"MyCluster\\",\\n \\"SubmitTime\\": \\"2020-10-27 16:23:16\\",\\n \\"Detail\\": \\"{\\\\\\\\\\\\\\"args\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"100\\\\\\\\\\\\\\"],\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"SparkPi\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"className\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"org.apache.spark.examples.SparkPi\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"conf\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"spark.driver.resourceSpec\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"medium\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"spark.executor.instances\\\\\\\\\\\\\\":5,\\\\\\\\\\\\\\"spark.executor.resourceSpec\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"medium\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"file\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"local:///tmp/spark-examples.jar\\\\\\\\\\\\\\"}\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<JobDetail>\\n <Status>success</Status>\\n <VcName>MyCluser</VcName>\\n <ExecutorInstances>5</ExecutorInstances>\\n <LastJobAttemptId>j202010271622hangzhouf742a4330000923-0001</LastJobAttemptId>\\n <SparkUI>https://dlaui-cn-hangzhou.aliyuncs.com/?token=xxx</SparkUI>\\n <DriverResourceSpec>medium</DriverResourceSpec>\\n <CreateTime>2020-10-27 16:23:16</CreateTime>\\n <JobName>SparkPi</JobName>\\n <ExecutorResourceSpec>medium</ExecutorResourceSpec>\\n <SubmitTime>2020-10-27 16:22:52</SubmitTime>\\n <CreateTimeValue>1603786996000</CreateTimeValue>\\n <UpdateTimeValue>1603787047000</UpdateTimeValue>\\n <SubmitTimeValue>1603786972000</SubmitTimeValue>\\n <UpdateTime>2020-10-27 16:24:07</UpdateTime>\\n <JobId>j202010271622hangzhouf742a4330000923</JobId>\\n <Detail>{\\"args\\":[\\"100\\"],\\"name\\":\\"SparkPi\\",\\"className\\":\\"org.apache.spark.examples.SparkPi\\",\\"conf\\":{\\"spark.driver.resourceSpec\\":\\"medium\\",\\"spark.executor.instances\\":5,\\"spark.executor.resourceSpec\\":\\"medium\\"},\\"file\\":\\"local:///tmp/spark-examples.jar\\"}</Detail>\\n</JobDetail>\\n<RequestId>5F10AB6E-8984-4E32-B821-4E1512711B8C</RequestId>","errorExample":""}]',
'title' => '获取一个 Spark作业的详细信息',
'summary' => '调用GetJobDetail获取Spark作业的详细信息。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => '**作业的状态码如下表**'."\n"
.'| 状态码 | 语义 |'."\n"
.'|----------|--------------------------------------|'."\n"
.'| starting | 启动中,作业尚未执行。 |'."\n"
.'| running | 作业在执行中。 |'."\n"
.'| error | 作业中的程序执行失败,抛出了Exception。 |'."\n"
.'| dead | 作业因为资源不足等问题失败。 |'."\n"
.'| killed | 作业在执行中被取消。 |'."\n"
.'| success | 作业执行成功。 |',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
],
'GetJobLog' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'JobId',
'in' => 'formData',
'schema' => ['description' => 'Spark作业的ID。您可以登录[DLA控制台](https://datalakeanalytics.console.aliyun.com/),在作业任务列表中获取作业任务ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'j202010271622hangzhouf742a4330000923'],
],
[
'name' => 'VcName',
'in' => 'formData',
'schema' => ['description' => '执行作业的虚拟集群名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyCluster'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Data' => ['description' => '作业的日志内容。', 'type' => 'string', 'example' => 'INFO SparkContext: Running Spark version 2.x'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'EC031B4B-3E07-40D2-9BC5-xxxx'],
],
],
],
],
'errorCodes' => [],
'responseDemo' => '[{"type":"json","example":"{\\n \\"Data\\": \\"INFO SparkContext: Running Spark version 2.x\\",\\n \\"RequestId\\": \\"EC031B4B-3E07-40D2-9BC5-xxxx\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>3970ACB5-3E30-4A3A-B63A-xxxx</RequestId>\\n<Data>Running Spark version 2.x</Data>","errorExample":""}]',
'title' => '获取Spark作业的日志',
'summary' => '获取Spark作业的日志。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
],
'GetJobStatus' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'JobId',
'in' => 'formData',
'schema' => ['description' => 'Spark作业的ID。您可以登录[DLA控制台](https://datalakeanalytics.console.aliyun.com/),在作业任务列表中获取作业任务ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'j202011031935hangzhouf742a4330003667'],
],
[
'name' => 'VcName',
'in' => 'formData',
'schema' => ['description' => '执行作业的虚拟集群名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyCluster'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Status' => ['description' => '作业执行状态码。', 'type' => 'string', 'example' => 'success'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '5C3F9ADD-2350-4C21-A3A1-A906F8DF8016'],
],
],
],
],
'errorCodes' => [],
'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"success\\",\\n \\"RequestId\\": \\"5C3F9ADD-2350-4C21-A3A1-A906F8DF8016\\"\\n}","errorExample":""},{"type":"xml","example":"<Status>success</Status>\\n<RequestId>5C3F9ADD-2350-4C21-A3A1-A906F8DF8016</RequestId>","errorExample":""}]',
'title' => '获取Spark作业的执行状态',
'summary' => '获取Spark作业的执行状态。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => '**作业的状态码如下表**'."\n"
.'| 状态码 | 语义 |'."\n"
.'|----------|--------------------------------------|'."\n"
.'| starting | 启动中,作业尚未执行。 |'."\n"
.'| running | 作业在执行中。 |'."\n"
.'| error | 作业中的程序执行失败,抛出Exception。 |'."\n"
.'| dead | 作业因为资源问题等执行失败。 |'."\n"
.'| killed | 执行中的作业被取消。 |'."\n"
.'| success | 作业执行成功。 |',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
],
'GetSparkSessionState' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'systemTags' => [],
'parameters' => [
[
'name' => 'JobId',
'in' => 'formData',
'schema' => ['description' => 'Spark作业的ID。您可以登录[DLA控制台](https://datalakeanalytics.console.aliyun.com/),在作业任务列表中获取作业任务ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'j202104171040zjkb4cc449d0000000'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'State' => ['description' => 'Spark作业的各种内部状态,如running、success、starting、killing、failed,等等', 'type' => 'string', 'example' => 'killed'],
'RequestId' => ['description' => '阿里云为该请求生成的唯一标识符。', 'type' => 'string', 'example' => '9AD49396-8F80-5511-9268-A6360B205136'],
],
],
],
],
'errorCodes' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"State\\": \\"killed\\",\\n \\"RequestId\\": \\"9AD49396-8F80-5511-9268-A6360B205136\\"\\n}","type":"json"}]',
'title' => '获取可交互Spark作业的状态',
'summary' => '获取可交互Spark作业的状态。',
'description' => '获取当前Session的状态',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
],
'GetSparkStatement' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'systemTags' => [],
'parameters' => [
[
'name' => 'StatementId',
'in' => 'formData',
'schema' => ['description' => '此Spark作业中代码块的唯一id', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'minimum' => '0', 'example' => '1'],
],
[
'name' => 'JobId',
'in' => 'formData',
'schema' => ['description' => 'Spark作业的唯一id', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'j202106071620hangzhou00000000001'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => '请求的唯一id', 'type' => 'string', 'example' => 'C5DB60E0-6EB3-493C-8956-DA0D3A2EE656'],
'Data' => [
'description' => '描述了此段代码块的执行状态',
'type' => 'object',
'properties' => [
'Process' => ['description' => '代码当前执行进度, 为浮点数,`1`代表100%执行完成, `0.5` 代表执行了50%', 'type' => 'number', 'format' => 'float', 'example' => '0.5'],
'CompletedTime' => ['description' => '代码执行结束的毫秒级时间戳', 'type' => 'integer', 'format' => 'int64', 'example' => '1623033200754'],
'State' => ['description' => '代码块的执行状态, 可能的状态有'."\n"
."\n"
.'- waiting 等待执行'."\n"
.'- running 正在还行'."\n"
.'- available 执行完成'."\n"
.'- error 执行失败'."\n"
.'- cancelling 在尝试终止'."\n"
.'- cancelled 已经终止执行', 'type' => 'string', 'example' => 'running'],
'StartedTime' => ['description' => '代码开始执行的毫秒级时间戳', 'type' => 'integer', 'format' => 'int64', 'example' => '1623033200750'],
'Code' => ['description' => '提交的代码块', 'type' => 'string', 'example' => 'print(2+2)'],
'Output' => ['description' => '代码块的执行结果, 执行结果是一个JSON格式的字符串, 其结构如下'."\n"
."\n"
.'- status 执行状态'."\n"
.'- execution_count 当前执行到此代码块的哪一行'."\n"
.'- data 代码执行结果', 'type' => 'string', 'example' => '"{\\"status\\":\\"ok\\",\\"execution_count\\":1,\\"data\\":{\\"text/plain\\":\\"4\\"}}"'],
'Id' => ['description' => '代码块在此Spark作业中的唯一递增id', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
],
],
],
],
],
],
'errorCodes' => [],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C5DB60E0-6EB3-493C-8956-DA0D3A2EE656\\",\\n \\"Data\\": {\\n \\"Process\\": 0.5,\\n \\"CompletedTime\\": 1623033200754,\\n \\"State\\": \\"running\\",\\n \\"StartedTime\\": 1623033200750,\\n \\"Code\\": \\"print(2+2)\\",\\n \\"Output\\": \\"\\\\\\"{\\\\\\\\\\\\\\"status\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"ok\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"execution_count\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"data\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"text/plain\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"4\\\\\\\\\\\\\\"}}\\\\\\"\\",\\n \\"Id\\": 1\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>C5DB60E0-6EB3-493C-8956-DA0D3A2EE656</RequestId>\\n<Data>\\n <CompletedTime>1623033200754</CompletedTime>\\n <State>available</State>\\n <Output>{\\"status\\":\\"ok\\",\\"execution_count\\":1,\\"data\\":{\\"text/plain\\":\\"4\\"}}</Output>\\n <StartedTime>1623033200753</StartedTime>\\n <Process>1</Process>\\n <Id>1</Id>\\n <Code>print(2 + 2)\\n</Code>\\n</Data>","errorExample":""}]',
'title' => '获取代码块的执行状态',
'summary' => '获取指定代码块的执行状态。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
],
'KillSparkJob' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [],
'parameters' => [
[
'name' => 'VcName',
'in' => 'formData',
'schema' => ['description' => '执行Spark作业的虚拟集群名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyCluster'],
],
[
'name' => 'JobId',
'in' => 'formData',
'schema' => ['description' => 'Spark作业的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'j202011031935hangzhouf742a4330003667'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Data' => ['description' => '执行结果,`deleted`代表执行成功。', 'type' => 'string', 'example' => 'deleted'],
'RequestId' => ['description' => '请求的唯一ID。', 'type' => 'string', 'example' => '3970ACB5-3E30-4A3A-B63A-1790FCC261F4'],
],
],
],
],
'errorCodes' => [],
'responseDemo' => '[{"type":"json","example":"{\\n \\"Data\\": \\"deleted\\",\\n \\"RequestId\\": \\"3970ACB5-3E30-4A3A-B63A-1790FCC261F4\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>3970ACB5-3E30-4A3A-B63A-1790FCC261F4</RequestId>\\n<Data>deleted</Data>","errorExample":""}]',
'title' => '强行停止一个运行中的Spark作业',
'summary' => '调用KillSparkJob强行停止一个运行中的Spark作业。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
],
'ListSparkJob' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'VcName',
'in' => 'query',
'schema' => ['description' => '执行Spark作业的虚拟集群名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MySparkCluster'],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => '指定需要查询的页码号,用于遍历全部数据,页码的编码从1开始。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '1'],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => '每页返回的作业的个数。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '10'],
],
[
'name' => 'Condition',
'in' => 'query',
'style' => 'json',
'schema' => ['description' => '提取Spark虚拟集群的历史作业详情信息的过滤条件,不填写表示没有过滤条件。'."\n", 'type' => 'object', 'required' => false, 'example' => '{ "createTime":"2020-12-28 09:00:00", "jobName":"SparkPi" }'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => '本次请求的唯一编码。', 'type' => 'string', 'example' => 'E18B0634-F003-486A-90B9-4AA6932DA3AA'],
'DataResult' => [
'description' => '虚拟集群的历史作业结果列表。',
'type' => 'object',
'properties' => [
'PageNumber' => ['description' => '当前请求返回的页码。', 'type' => 'string', 'example' => '1'],
'PageSize' => ['description' => '当前请求返回的每页作业数量。', 'type' => 'string', 'example' => '10'],
'TotalCount' => ['description' => '当前可查询的历史作业的总数。', 'type' => 'string', 'example' => '4998'],
'JobList' => [
'description' => '历史作业详情数组。',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Status' => ['description' => '作业的状态码。', 'type' => 'string', 'example' => 'running'],
'UpdateTime' => ['description' => '最后一次更新作业状态的时间,时区为该集群所在的地域的时区。', 'type' => 'string', 'example' => '2020-10-27 17:51:05'],
'ExecutorResourceSpec' => ['description' => '作业所申请的Executor的规格。', 'type' => 'string', 'example' => 'small'],
'CreateTime' => ['description' => '创建Spark作业的时间点,时区为该集群所在的地域的时区。', 'type' => 'string', 'example' => '2020-10-27 17:51:05'],
'CreateTimeValue' => ['description' => '创建Spark作业的毫秒级时间戳。', 'type' => 'string', 'example' => '1603792267000'],
'DriverResourceSpec' => ['description' => '作业所申请的Driver的实例规格。', 'type' => 'string', 'example' => 'small'],
'UpdateTimeValue' => ['description' => '最后一次更新作业状态的毫秒级时间戳。', 'type' => 'string', 'example' => '1603792267000'],
'SparkUI' => ['description' => 'Spark作业的UI,具体请参考文档[Spark UI](~~163470~~)。', 'type' => 'string', 'example' => 'https://dlaui-cn-hangzhou.aliyuncs.com/?token=xxx'],
'SubmitTimeValue' => ['description' => '提交作业的毫秒级时间戳。', 'type' => 'string', 'example' => '1603792267000'],
'JobName' => ['description' => 'Spark作业的名称。', 'type' => 'string', 'example' => 'SparkPi'],
'JobId' => ['description' => 'Spark作业的ID。', 'type' => 'string', 'example' => 'j202010271750hangzhouf742a4330000950'],
'VcName' => ['description' => '执行作业的虚拟集群名称。', 'type' => 'string', 'example' => 'MyCluster'],
'ExecutorInstances' => ['description' => '作业所申请的Executor的数量。', 'type' => 'string', 'example' => '100'],
'SubmitTime' => ['description' => '提交作业的时间,时区为该集群所在的地域的时区。', 'type' => 'string', 'example' => '2020-10-27 17:51:05'],
'Detail' => ['description' => '描述此作业的JSON格式的字符串。', 'type' => 'string', 'example' => '{"args":["100"],"name":...}'],
],
],
],
],
],
],
],
],
],
'errorCodes' => [],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E18B0634-F003-486A-90B9-4AA6932DA3AA\\",\\n \\"DataResult\\": {\\n \\"PageNumber\\": \\"1\\",\\n \\"PageSize\\": \\"10\\",\\n \\"TotalCount\\": \\"4998\\",\\n \\"JobList\\": [\\n {\\n \\"Status\\": \\"running\\",\\n \\"UpdateTime\\": \\"2020-10-27 17:51:05\\",\\n \\"ExecutorResourceSpec\\": \\"small\\",\\n \\"CreateTime\\": \\"2020-10-27 17:51:05\\",\\n \\"CreateTimeValue\\": \\"1603792267000\\",\\n \\"DriverResourceSpec\\": \\"small\\",\\n \\"UpdateTimeValue\\": \\"1603792267000\\",\\n \\"SparkUI\\": \\"https://dlaui-cn-hangzhou.aliyuncs.com/?token=xxx\\",\\n \\"SubmitTimeValue\\": \\"1603792267000\\",\\n \\"JobName\\": \\"SparkPi\\",\\n \\"JobId\\": \\"j202010271750hangzhouf742a4330000950\\",\\n \\"VcName\\": \\"MyCluster\\",\\n \\"ExecutorInstances\\": \\"100\\",\\n \\"SubmitTime\\": \\"2020-10-27 17:51:05\\",\\n \\"Detail\\": \\"{\\\\\\"args\\\\\\":[\\\\\\"100\\\\\\"],\\\\\\"name\\\\\\":...}\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DataResult>\\n <TotalCount>4998</TotalCount>\\n <PageSize>2</PageSize>\\n <PageNumber>1</PageNumber>\\n <JobList>\\n <ExecutorInstances>2</ExecutorInstances>\\n <Status>success</Status>\\n <VcName>MyCluster</VcName>\\n <SparkUI>https://dlaui-cn-hangzhou.aliyuncs.com/?token=xxx</SparkUI>\\n <DriverResourceSpec>small</DriverResourceSpec>\\n <CreateTime>2020-10-27 17:51:07</CreateTime>\\n <JobName>localFile</JobName>\\n <ExecutorResourceSpec>small</ExecutorResourceSpec>\\n <SubmitTime>2020-10-27 17:50:43</SubmitTime>\\n <CreateTimeValue>1603792267000</CreateTimeValue>\\n <UpdateTimeValue>1603792302000</UpdateTimeValue>\\n <SubmitTimeValue>1603792243000</SubmitTimeValue>\\n <UpdateTime>2020-10-27 17:51:42</UpdateTime>\\n <Detail>{\\"args\\":[\\"100\\"],\\"name\\"f}</Detail>\\n <JobId>j202010271750hangzhouf742a4330000950</JobId>\\n </JobList>\\n <JobList>\\n <ExecutorInstances>2</ExecutorInstances>\\n <Status>error</Status>\\n <VcName>MyCluster</VcName>\\n <SparkUI>https://dlaui-cn-hangzhou.aliyuncs.com/?token=xxx</SparkUI>\\n <DriverResourceSpec>small</DriverResourceSpec>\\n <CreateTime>2020-10-27 17:51:05</CreateTime>\\n <JobName>localFile</JobName>\\n <ExecutorResourceSpec>small</ExecutorResourceSpec>\\n <SubmitTime>2020-10-27 17:50:39</SubmitTime>\\n <CreateTimeValue>1603792265000</CreateTimeValue>\\n <UpdateTimeValue>1603792300000</UpdateTimeValue>\\n <SubmitTimeValue>1603792239000</SubmitTimeValue>\\n <UpdateTime>2020-10-27 17:51:40</UpdateTime>\\n <Detail>{\\"args\\":[\\"100\\"],\\"name\\"f}</Detail>\\n <JobId>j202010271750hangzhouf742a4330000949</JobId>\\n </JobList>\\n</DataResult>\\n<RequestId>E18B0634-F003-486A-90B9-4AA6932DA3AA</RequestId>","errorExample":""}]',
'title' => '提取数据湖分析Spark虚拟集群历史作业信息',
'summary' => '分页提取某个数据湖分析Spark虚拟集群的历史作业详情信息。',
'requestParamsDescription' => ' Condition是一个JSON格式的字符串,目前支持如下参数。'."\n"
.'- status:Spark作业的状态,取值如下。'."\n"
.' - starting:提交中。'."\n"
.' - running:运行中。'."\n"
.' - success:成功。'."\n"
.' - error:运行失败。'."\n"
.' - killed:被取消。'."\n"
.' - unknown:未知状态。'."\n"
.' - dead:启动失败。'."\n"
.'- createTime:代表筛选指定时间之后提交的作业,格式为yyyy-mm-dd HH:mm:ss,指定该参数的时候,同时需要指定timeZone。'."\n"
.'- timeZone:createTime时间串所在的时区,例如 Asia/Shanghai。'."\n"
.'- jobId:Spark作业的ID。'."\n"
.'- jobName:Spark作业的名称,支持局部匹配。',
'responseParamsDescription' => '**作业的状态码如下表**'."\n"
.'| 状态码 | 语义 |'."\n"
.'|----------|--------------------------------------|'."\n"
.'| starting | 启动中,作业尚未执行。 |'."\n"
.'| running | 作业在执行中。 |'."\n"
.'| error | 作业中的程序执行失败,抛出了Exception。 |'."\n"
.'| dead | 作业因为资源问题等问题失败。 |'."\n"
.'| killed | 作业在执行中被取消。 |'."\n"
.'| success | 作业执行成功。 |',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
],
'ListSparkJobAttempt' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [],
'parameters' => [
[
'name' => 'VcName',
'in' => 'query',
'schema' => ['description' => '执行Spark作业的虚拟集群名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'release-test'],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => '需要查询的页码号,用于遍历全部数据,页码的编码从1开始。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '1000', 'minimum' => '1', 'example' => '1'],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => '每页返回的作业的个数。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '10'],
],
[
'name' => 'Condition',
'in' => 'query',
'style' => 'json',
'schema' => ['description' => 'JobAttempt过滤条件,JSON格式。'."\n", 'type' => 'object', 'required' => false, 'example' => '{"status":"success", "createTime":"2021-05-27 11:00:00", "timeZone":"Asia/Shanghai"}'],
],
[
'name' => 'JobId',
'in' => 'query',
'schema' => ['description' => 'Spark作业ID。您可以在作业管理页面查看作业ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'j202105272322hangzhou5d64f1560000128'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => '请求的唯一ID。', 'type' => 'string', 'example' => '4A839055-70C7-423D-A6F2-E714EA4502DB'],
'DataResult' => [
'description' => '返回结果。',
'type' => 'object',
'properties' => [
'PageNumber' => ['description' => '页数', 'type' => 'string', 'example' => '1'],
'PageSize' => ['description' => '页大小', 'type' => 'string', 'example' => '10'],
'TotalCount' => ['description' => 'JobAttempt总数', 'type' => 'string', 'example' => '1'],
'JobAttemptList' => [
'description' => 'JobAttempt列表',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Status' => ['description' => 'JobAttempt状态', 'type' => 'string', 'example' => 'success'],
'DurationTime' => ['description' => 'JobAttempt持续时间', 'type' => 'string', 'example' => '00:01:12'],
'TerminatedTime' => ['description' => '终止时间', 'type' => 'string', 'example' => '2021-05-27 23:23:20'],
'DurationTimeValue' => ['description' => '持续时间戳', 'type' => 'string', 'example' => '72000'],
'CreateTime' => ['description' => 'JobAttempt创建时间', 'type' => 'string', 'example' => '2021-05-27 23:22:08'],
'CreateTimeValue' => ['description' => 'JobAttempt创建时间戳', 'type' => 'string', 'example' => '1622128928000'],
'SparkUI' => ['description' => 'SparkUI地址', 'type' => 'string', 'example' => 'xxx'],
'JobAttemptId' => ['description' => '作业尝试ID', 'type' => 'string', 'example' => 'j202105272322hangzhou5d64f1560000128-0001'],
'JobName' => ['description' => '作业名称', 'type' => 'string', 'example' => 'xxx'],
'JobId' => ['description' => '作业ID', 'type' => 'string', 'example' => 'j202105272322hangzhou5d64f1560000128'],
'TerminatedTimeValue' => ['description' => '终止时间戳', 'type' => 'string', 'example' => '1622129000000'],
'VcName' => ['description' => '虚拟集群名称', 'type' => 'string', 'example' => 'release-test'],
'Detail' => ['description' => '作业配置', 'type' => 'string', 'example' => '{"xxx":"xxx"}'],
],
],
],
],
],
],
],
],
],
'errorCodes' => [],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4A839055-70C7-423D-A6F2-E714EA4502DB\\",\\n \\"DataResult\\": {\\n \\"PageNumber\\": \\"1\\",\\n \\"PageSize\\": \\"10\\",\\n \\"TotalCount\\": \\"1\\",\\n \\"JobAttemptList\\": [\\n {\\n \\"Status\\": \\"success\\",\\n \\"DurationTime\\": \\"00:01:12\\",\\n \\"TerminatedTime\\": \\"2021-05-27 23:23:20\\",\\n \\"DurationTimeValue\\": \\"72000\\",\\n \\"CreateTime\\": \\"2021-05-27 23:22:08\\",\\n \\"CreateTimeValue\\": \\"1622128928000\\",\\n \\"SparkUI\\": \\"xxx\\",\\n \\"JobAttemptId\\": \\"j202105272322hangzhou5d64f1560000128-0001\\",\\n \\"JobName\\": \\"xxx\\",\\n \\"JobId\\": \\"j202105272322hangzhou5d64f1560000128\\",\\n \\"TerminatedTimeValue\\": \\"1622129000000\\",\\n \\"VcName\\": \\"release-test\\",\\n \\"Detail\\": \\"{\\\\\\"xxx\\\\\\":\\\\\\"xxx\\\\\\"}\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DataResult>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <JobAttemptList>\\n <VcName>release-test</VcName>\\n <Status>success</Status>\\n <JobAttemptId>j202105272322hangzhou5d64f1560000128-0001</JobAttemptId>\\n <TerminatedTime>2021-05-27 23:23:20</TerminatedTime>\\n <SparkUI>xxx</SparkUI>\\n <DurationTimeValue>72000</DurationTimeValue>\\n <CreateTime>2021-05-27 23:22:08</CreateTime>\\n <JobName>xxx</JobName>\\n <TerminatedTimeValue>1622129000000</TerminatedTimeValue>\\n <JobId>j202105272322hangzhou5d64f1560000128</JobId>\\n <Detail>{\\"xxx\\":\\"xxx\\"}</Detail>\\n <CreateTimeValue>1622128928000</CreateTimeValue>\\n <DurationTime>00:01:12</DurationTime>\\n </JobAttemptList>\\n</DataResult>\\n<RequestId>4A839055-70C7-423D-A6F2-E714EA4502DB</RequestId>","errorExample":""}]',
'title' => '获取 Spark 作业记录列表',
'summary' => '获取一个Job对应的所有JobAttempt信息。',
'requestParamsDescription' => ' Condition目前支持下列两个参数'."\n"
."\n"
.'- status: starting、running、unknown、success、dead、killed'."\n"
.'- createTime: 格式为 yyyy-mm-dd HH:mm:ss,代表筛选指定时间之后提交的作业,指定该参数的时候,同时需要指定timeZone'."\n"
.'- timeZone: 例如 Asia/Shanghai',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
],
'ListSparkStatements' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [],
'parameters' => [
[
'name' => 'JobId',
'in' => 'formData',
'schema' => ['description' => 'Spark作业的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'j202106071620hangzhou00000000001'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => '请求的唯一标识ID。', 'type' => 'string', 'example' => 'C2AB7692-B9EF-4A50-BCFF-0DC5B6F080E8'],
'Statements' => [
'description' => '代码块执行结果的列表。',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Progress' => ['description' => '当前执行进度,是一个浮点数,代表执行的百分比,‘1’代表100%执行完成。', 'type' => 'number', 'format' => 'float', 'example' => '1'],
'CompletedTime' => ['description' => '执行完成的毫秒级时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1623033200754'],
'State' => ['description' => '代码块的执行状态,可能的状态有:'."\n"
."\n"
.'- waiting:等待执行。'."\n"
.'- running:正在执行。'."\n"
.'- available:执行完成。'."\n"
.'- error:执行失败。'."\n"
.'- cancelling:尝试终止。'."\n"
.'- cancelled:已经终止执行。', 'type' => 'string', 'example' => 'running'],
'StartedTime' => ['description' => '代码块开始执行的毫秒级时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1623033200750'],
'Code' => ['description' => '提交执行的代码块。', 'type' => 'string', 'example' => 'print(2 + 2)'],
'Output' => ['description' => '代码块的执行结果,执行结果是一个JSON格式的字符串,其结构如下。'."\n"
."\n"
.'- status:执行状态。'."\n"
.'- execution_count:当前执行到此代码块的哪一行。'."\n"
.'- data:代码执行结果。', 'type' => 'string', 'example' => '{\\"status\\":\\"ok\\",\\"execution_count\\":1,\\"data\\":{\\"text/plain\\":\\"4\\"}}'],
'Id' => ['description' => '代码块的唯一ID。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'],
],
],
],
],
],
],
],
'errorCodes' => [],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C2AB7692-B9EF-4A50-BCFF-0DC5B6F080E8\\",\\n \\"Statements\\": [\\n {\\n \\"Progress\\": 1,\\n \\"CompletedTime\\": 1623033200754,\\n \\"State\\": \\"running\\",\\n \\"StartedTime\\": 1623033200750,\\n \\"Code\\": \\"print(2 + 2)\\",\\n \\"Output\\": \\"{\\\\\\\\\\\\\\"status\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"ok\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"execution_count\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"data\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"text/plain\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"4\\\\\\\\\\\\\\"}}\\",\\n \\"Id\\": 2\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<RequestId>C2AB7692-B9EF-4A50-BCFF-0DC5B6F080E8</RequestId>\\n<Statements>\\n <Progress>1</Progress>\\n <CompletedTime>1623033200078</CompletedTime>\\n <State>available</State>\\n <Output>{\\"status\\":\\"ok\\",\\"execution_count\\":0,\\"data\\":{\\"text/plain\\":\\"<pyspark.sql.session.SparkSession object at 0x7f5e4a550390>\\"}}</Output>\\n <StartedTime>1623033200077</StartedTime>\\n <Id>0</Id>\\n <Code>spark</Code>\\n</Statements>\\n<Statements>\\n <Progress>1</Progress>\\n <CompletedTime>1623033200754</CompletedTime>\\n <State>available</State>\\n <Output>{\\"status\\":\\"ok\\",\\"execution_count\\":1,\\"data\\":{\\"text/plain\\":\\"4\\"}}</Output>\\n <StartedTime>1623033200753</StartedTime>\\n <Id>1</Id>\\n <Code>print(2 + 2)\\n</Code>\\n</Statements>","errorExample":""}]',
'title' => '获取 Spark 代码块列表',
'summary' => '获取Spark Session的所有代码块的执行状态。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
],
'ReleaseInstance' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'formData',
'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-beijing'],
],
[
'name' => 'InstanceId',
'in' => 'formData',
'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dla-3qntmdtbqklsbsmceu****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '312F48C7-AFA0-46AA-B8F6-1B16B8808045'],
'ErrorInfo' => ['description' => '错误信息。', 'type' => 'string', 'example' => 'An internal error occurred'],
'Result' => ['description' => '返回的释放实例的结果。', 'type' => 'string', 'example' => 'true'],
'ErrorCode' => ['description' => '错误码。', 'type' => 'string', 'example' => '600'],
'Success' => ['description' => '请求是否调用成功。', 'type' => 'boolean', 'example' => 'true'],
],
],
],
],
'errorCodes' => [
401 => [
['errorCode' => 'Openanalytics.Unauthorized.Exception', 'errorMessage' => 'You do not have permission to perform the operation.', 'description' => '您没有权限操作'],
],
404 => [
['errorCode' => 'Openanalytics.NotFound.Exception', 'errorMessage' => 'The specified instance does not exist.', 'description' => '实例不存在'],
],
600 => [
['errorCode' => 'Openanalytics.Internal.Exception', 'errorMessage' => 'An internal error occurred.', 'description' => '内部错误'],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"312F48C7-AFA0-46AA-B8F6-1B16B8808045\\",\\n \\"ErrorInfo\\": \\"An internal error occurred\\",\\n \\"Result\\": \\"true\\",\\n \\"ErrorCode\\": \\"600\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<requestId>312F48C7-AFA0-46AA-B8F6-1B16B8808045</requestId>\\n<result>true</result>\\n<success>true</success>","errorExample":""}]',
'title' => '释放实例',
'summary' => '调用ReleaseInstance释放实例。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
],
'SubmitSparkJob' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [],
'parameters' => [
[
'name' => 'VcName',
'in' => 'formData',
'schema' => ['description' => '执行作业的虚拟集群名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyCluster'],
],
[
'name' => 'ConfigJson',
'in' => 'formData',
'schema' => ['description' => '定义Spark作业的JSON字符串。JSON字符串的作业参数说明请参见[作业配置指南](~~185924~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '{ "name": "SparkPi", "file": "local:///tmp/spark-examples.jar", "className": "org.apache.spark.examples.SparkPi", "args": [ "100" ], "conf": { "spark.driver.resourceSpec": "medium", "spark.executor.instances": 5, "spark.executor.resourceSpec": "medium" } }'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'JobId' => ['description' => 'Spark作业的ID。', 'type' => 'string', 'example' => 'j202011032013hangzhouf742a4330003679'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'C039FD4D-2F3C-4556-AF09-864D3A6485B2'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"j202011032013hangzhouf742a4330003679\\",\\n \\"RequestId\\": \\"C039FD4D-2F3C-4556-AF09-864D3A6485B2\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>C039FD4D-2F3C-4556-AF09-864D3A6485B2</RequestId>\\n<JobId>j202011032013hangzhouf742a4330003679</JobId>","errorExample":""}]',
'title' => '提交一个Spark作业',
'summary' => '提交Spark作业。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
],
'SubmitSparkSQL' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [],
'parameters' => [
[
'name' => 'VcName',
'in' => 'formData',
'schema' => ['description' => '执行SparkSQL作业的虚拟集群名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MySparkCluster'],
],
[
'name' => 'Sql',
'in' => 'formData',
'schema' => ['description' => 'Spark SQL内容。具体请参考[Spark SQL](~~185724~~)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'set spark.driver.resourceSpec=medium;set spark.executor.instances=5; set spark.executor.resourceSpec=medium; set spark.app.name=sparksqltest; show databases;'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'JobId' => ['description' => 'Spark作业的ID。', 'type' => 'string', 'example' => 'j202104261729hangzhou224ee5230000930'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'B570310A-8A49-461B-B81D-AE0B58D63DA4'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"JobId\\": \\"j202104261729hangzhou224ee5230000930\\",\\n \\"RequestId\\": \\"B570310A-8A49-461B-B81D-AE0B58D63DA4\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>B570310A-8A49-461B-B81D-AE0B58D63DA4</RequestId>\\n<JobId>j202104261729hangzhou224ee5230000930</JobId>","errorExample":""}]',
'title' => '提交 Spark SQL 作业',
'summary' => '提交SubmitSQL作业。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
],
'ValidateVirtualClusterName' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'VcName',
'in' => 'formData',
'schema' => ['description' => '需要校验的虚拟集群的名称。', 'type' => 'string', 'required' => false, 'example' => 'abc123'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'C039FD4D-2F3C-4556-AF09-864D3A6485B2'],
'Data' => [
'description' => '校验返回的数据。',
'type' => 'object',
'properties' => [
'Message' => ['description' => '如果虚拟集群名称不合法,上报的错误信息。', 'type' => 'string', 'example' => 'null'],
'Legal' => ['description' => '校验返回值,是否合法。取值:'."\n"
."\n"
.'- **true**:合法'."\n"
."\n"
.'- **false**:不合法', 'type' => 'string', 'example' => 'true'],
],
],
],
],
],
],
'errorCodes' => [
404 => [
['errorCode' => 'EmptyResult', 'errorMessage' => 'The result is empty.', 'description' => '空结果。'],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C039FD4D-2F3C-4556-AF09-864D3A6485B2\\",\\n \\"Data\\": {\\n \\"Message\\": \\"null\\",\\n \\"Legal\\": \\"true\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>C039FD4D-2F3C-4556-AF09-864D3A6485B2</RequestId>\\n<Data>\\n <Message>null</Message>\\n <Legal>true</Legal>\\n</Data>","errorExample":""}]',
'title' => '校验虚拟集群的名字是否合法',
'summary' => '调用ValidateVirtualClusterName校验虚拟集群的名字是否合法。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
],
],
'endpoints' => [
['regionId' => 'cn-qingdao', 'regionName' => '华北1(青岛)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'openanalytics.cn-qingdao.aliyuncs.com', 'endpoint' => 'openanalytics.cn-qingdao.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-huhehaote', 'regionName' => '华北5(呼和浩特)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'openanalytics.cn-huhehaote.aliyuncs.com', 'endpoint' => 'openanalytics.cn-huhehaote.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-chengdu', 'regionName' => '西南1(成都)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'openanalytics.aliyuncs.com', 'endpoint' => 'openanalytics.aliyuncs.com', 'vpc' => ''],
['regionId' => 'ap-southeast-3', 'regionName' => '马来西亚(吉隆坡)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'openanalytics.ap-southeast-3.aliyuncs.com', 'endpoint' => 'openanalytics.ap-southeast-3.aliyuncs.com', 'vpc' => ''],
['regionId' => 'ap-southeast-2', 'regionName' => '澳大利亚(悉尼)已关停', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'datalakeanalytics.ap-southeast-2.aliyuncs.com', 'endpoint' => 'datalakeanalytics.ap-southeast-2.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'openanalytics.cn-shenzhen.aliyuncs.com', 'endpoint' => 'openanalytics.cn-shenzhen.aliyuncs.com', 'vpc' => 'openanalytics-vpc.cn-shenzhen.aliyuncs.com'],
['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'openanalytics.cn-beijing.aliyuncs.com', 'endpoint' => 'openanalytics.cn-beijing.aliyuncs.com', 'vpc' => 'openanalytics-vpc.cn-beijing.aliyuncs.com'],
['regionId' => 'ap-northeast-1', 'regionName' => '日本(东京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'datalakeanalytics.ap-northeast-1.aliyuncs.com', 'endpoint' => 'datalakeanalytics.ap-northeast-1.aliyuncs.com', 'vpc' => 'openanalytics-vpc.ap-northeast-1.aliyuncs.com'],
['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'openanalytics.cn-shanghai.aliyuncs.com', 'endpoint' => 'openanalytics.cn-shanghai.aliyuncs.com', 'vpc' => 'openanalytics-vpc.cn-shanghai.aliyuncs.com'],
['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'openanalytics.cn-hongkong.aliyuncs.com', 'endpoint' => 'openanalytics.cn-hongkong.aliyuncs.com', 'vpc' => 'openanalytics-vpc.cn-hongkong.aliyuncs.com'],
['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'openanalytics.ap-southeast-1.aliyuncs.com', 'endpoint' => 'openanalytics.ap-southeast-1.aliyuncs.com', 'vpc' => 'openanalytics-vpc.ap-southeast-1.aliyuncs.com'],
['regionId' => 'ap-southeast-5', 'regionName' => '印度尼西亚(雅加达)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'openanalytics.ap-southeast-5.aliyuncs.com', 'endpoint' => 'openanalytics.ap-southeast-5.aliyuncs.com', 'vpc' => 'openanalytics-vpc.ap-southeast-5.aliyuncs.com'],
['regionId' => 'cn-zhangjiakou', 'regionName' => '华北3(张家口)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'openanalytics.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'openanalytics.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'openanalytics-vpc.cn-zhangjiakou.aliyuncs.com'],
['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'openanalytics.cn-hangzhou.aliyuncs.com', 'endpoint' => 'openanalytics.cn-hangzhou.aliyuncs.com', 'vpc' => 'openanalytics-vpc.cn-hangzhou.aliyuncs.com'],
['regionId' => 'us-west-1', 'regionName' => '美国(硅谷)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'openanalytics.us-west-1.aliyuncs.com', 'endpoint' => 'openanalytics.us-west-1.aliyuncs.com', 'vpc' => 'openanalytics-vpc.us-west-1.aliyuncs.com'],
['regionId' => 'us-east-1', 'regionName' => '美国(弗吉尼亚)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'datalakeanalytics.us-east-1.aliyuncs.com', 'endpoint' => 'datalakeanalytics.us-east-1.aliyuncs.com', 'vpc' => 'openanalytics-vpc.us-east-1.aliyuncs.com'],
['regionId' => 'eu-central-1', 'regionName' => '德国(法兰克福)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'datalakeanalytics.eu-central-1.aliyuncs.com', 'endpoint' => 'datalakeanalytics.eu-central-1.aliyuncs.com', 'vpc' => 'openanalytics-vpc.eu-central-1.aliyuncs.com'],
['regionId' => 'eu-west-1', 'regionName' => '英国(伦敦)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'openanalytics.eu-west-1.aliyuncs.com', 'endpoint' => 'openanalytics.eu-west-1.aliyuncs.com', 'vpc' => ''],
['regionId' => 'ap-south-1', 'regionName' => '印度(孟买)已关停', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'openanalytics.ap-south-1.aliyuncs.com', 'endpoint' => 'openanalytics.ap-south-1.aliyuncs.com', 'vpc' => 'openanalytics-vpc.ap-south-1.aliyuncs.com'],
['regionId' => 'me-east-1', 'regionName' => '阿联酋(迪拜)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'openanalytics.me-east-1.aliyuncs.com', 'endpoint' => 'openanalytics.me-east-1.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-hangzhou-finance', 'regionName' => '华东1 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'openanalytics.aliyuncs.com', 'endpoint' => 'openanalytics.aliyuncs.com', 'vpc' => 'openanalytics-vpc.cn-hangzhou-finance.aliyuncs.com'],
['regionId' => 'cn-shanghai-finance-1', 'regionName' => '华东2 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'openanalytics.aliyuncs.com', 'endpoint' => 'openanalytics.aliyuncs.com', 'vpc' => 'openanalytics-vpc.cn-shanghai-finance-1.aliyuncs.com'],
['regionId' => 'cn-north-2-gov-1', 'regionName' => '北京政务云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'openanalytics.aliyuncs.com', 'endpoint' => 'openanalytics.aliyuncs.com', 'vpc' => 'openanalytics-vpc.cn-north-2-gov-1.aliyuncs.com'],
['regionId' => 'cn-shenzhen-finance-1', 'regionName' => '华南1 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'openanalytics.aliyuncs.com', 'endpoint' => 'openanalytics.aliyuncs.com', 'vpc' => 'openanalytics-vpc.cn-shenzhen-finance-1.aliyuncs.com'],
['regionId' => 'cn-beijing-finance-1', 'regionName' => '华北2 金融云(邀测)', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'openanalytics.aliyuncs.com', 'endpoint' => 'openanalytics.aliyuncs.com', 'vpc' => ''],
],
'errorCodes' => [
['code' => 'AlreadyExists', 'message' => 'The formation task already exists.', 'http_code' => 409, 'description' => 'formation task 已经存在'],
['code' => 'AlreadyRunning', 'message' => 'The crawler instance is already running.', 'http_code' => 400, 'description' => 'crawler已经在运行'],
['code' => 'Business.Not.Register', 'message' => 'Your application is not registered in DLA', 'http_code' => 403, 'description' => '您的应用在 DLA 未注册'],
['code' => 'EmptyResult', 'message' => 'The result is empty.', 'http_code' => 404, 'description' => '空结果。'],
['code' => 'Endpoint.Exist', 'message' => 'The specified endpoint already exists.', 'http_code' => 409, 'description' => 'Endpoint已经存在。'],
['code' => 'Endpoint.Lock', 'message' => 'The specified endpoint is locked and you are not authorized to perform the operation.You can delete it and try again.', 'http_code' => 410, 'description' => 'Endpoint目前被锁定,不允许执行该操作。您可以删除它在执行。'],
['code' => 'Endpoint.NotFound', 'message' => 'The specified endpoint does not exist.', 'http_code' => 404, 'description' => 'Endpoint不存在。'],
['code' => 'InvalidInput', 'message' => 'The specified parameter is invalid.', 'http_code' => 400, 'description' => '输入参数不准确'],
['code' => 'InvalidTaskStatus', 'message' => 'The formation task status is invalid.', 'http_code' => 406, 'description' => 'formation task的状态非法'],
['code' => 'MetaInfo.Discount.AddFailed', 'message' => 'An error occurred while adding discount information.', 'http_code' => 430, 'description' => '折扣信息添加失败。'],
['code' => 'MetaInfo.GuidTable.Execute', 'message' => 'An SQL execution error occurred.', 'http_code' => 430, 'description' => 'SQL 执行错误。'],
['code' => 'MetaInfo.GuidTable.Finish', 'message' => 'The table has been created.', 'http_code' => 430, 'description' => '表已经完结。'],
['code' => 'MetaInfo.GuidTable.GeneraterDDL', 'message' => 'An error occurred while generating DDL.', 'http_code' => 430, 'description' => '生成建表语句错误。'],
['code' => 'MetaInfo.GuidTable.InitFailed', 'message' => 'An error occurred while initializing the table.', 'http_code' => 430, 'description' => '表初始化失败。'],
['code' => 'MetaInfo.GuidTable.MissingLocation', 'message' => 'You must specify table location.', 'http_code' => 400, 'description' => '表 Location 信息缺失。'],
['code' => 'MetaInfo.GuidTable.MissingTableName', 'message' => 'You must specify table name.', 'http_code' => 400, 'description' => '表名缺失。'],
['code' => 'MetaInfo.GuidTable.NotFound', 'message' => 'The table does not exist.', 'http_code' => 404, 'description' => '表不存在。'],
['code' => 'MetaInfo.GuidTable.NotReady', 'message' => 'The table is not ready.', 'http_code' => 430, 'description' => '表尚未准备好。'],
['code' => 'MetaInfo.GuidTable.NotSupport', 'message' => 'The specified data source type is invalid.', 'http_code' => 430, 'description' => '数据源类型不支持'],
['code' => 'MetaInfo.GuidTable.OnlySupportCreate', 'message' => 'An SQL parsing error occurred. Only create statement is supported.', 'http_code' => 430, 'description' => 'SQL 解析错误,只支持 create 语句。'],
['code' => 'MetaInfo.GuidTable.Parser', 'message' => 'An SQL parsing error occurred.', 'http_code' => 430, 'description' => 'SQL 解析错误。'],
['code' => 'MetaInfo.GuidTable.TaskFailed', 'message' => 'An error occurred while scheduling a job. Please try again.', 'http_code' => 430, 'description' => '调度执行任务失败,请重试。'],
['code' => 'MetaInfo.GuidTable.Unauthorized', 'message' => 'You are not authorized to access the specified table.', 'http_code' => 403, 'description' => '无权限访问这张表。'],
['code' => 'MissingParameter', 'message' => 'Some required parameters are missing or invalid. Please check the SDK documentation and complete the parameters.', 'http_code' => 400, 'description' => '必要参数缺失或错误,请参考SDK入参补全参数。'],
['code' => 'NotExists', 'message' => 'The formation task does not exist.', 'http_code' => 400, 'description' => 'formation任务不存在'],
['code' => 'NotExists', 'message' => 'The crawler task does not exist.', 'http_code' => 400, 'description' => 'crawler task不存在'],
['code' => 'NotFound', 'message' => 'The formation task does not exist.', 'http_code' => 404, 'description' => 'formation task 不存在'],
['code' => 'NotRunning', 'message' => 'The instance is not running.', 'http_code' => 400, 'description' => '实例没有运行'],
['code' => 'Openanalytics.Internal.Exception', 'message' => 'An internal error occurred.', 'http_code' => 600, 'description' => '内部错误'],
['code' => 'Openanalytics.NotFound.Exception', 'message' => 'The specified instance does not exist.', 'http_code' => 404, 'description' => '实例不存在'],
['code' => 'Openanalytics.Unauthorized.Exception', 'message' => 'You do not have permission to perform the operation.', 'http_code' => 401, 'description' => '您没有权限操作'],
['code' => 'Parameter.Account.Format', 'message' => 'The account name must only contain letters (a-z, A-Z) and numbers (0-9).', 'http_code' => 400, 'description' => '帐号必须是字母 a-z , A-Z 或者数字 0-9 组成。'],
['code' => 'Parameter.Account.Length', 'message' => 'The account name can be 1 to 64 characters in length, and the password can be 1 to 32 characters in length.', 'http_code' => 400, 'description' => '帐号名最长64个字符,密码最长 32个字符。'],
['code' => 'Parameter.Account.Password', 'message' => 'The password must contain at least three types of the following characters: upper case letters, lower case letters, numbers, and special characters ( `~!@#$%^&*()_+-=[]|;\':,./<>? ).', 'http_code' => 400, 'description' => '输入密码至少满足其中三种条件:大写字母、小写字母、数字、特殊字符(`~!@#$%^&*()_+-=[]|;\':,./<>?)'],
['code' => 'Parameter.Account.RamUid.ALREADY.BINGING', 'message' => 'The specified RamUid is already used by another account.', 'http_code' => 400, 'description' => '传入的 ramUid 已经被其他账号绑定'],
['code' => 'Parameter.Account.RamUid.ALREADY.BINGING.other.ramUid', 'message' => 'The current user has already bound another RamUid.', 'http_code' => 400, 'description' => '当前用户已经绑定了其他 ramUid'],
['code' => 'Parameter.Account.RamUid.is.not.belong.to.current.uid', 'message' => 'The RamUid does not belong to the current user.', 'http_code' => 400, 'description' => '需要绑定的 ramuid 不属于当前用户'],
['code' => 'Parameter.InputError', 'message' => 'The specified parameter is invalid.', 'http_code' => 400, 'description' => '参数输入错误。'],
['code' => 'Parameter.NetworkType', 'message' => 'The specified network type is invalid.', 'http_code' => 400, 'description' => '错误的网络类型。'],
['code' => 'RamUid.is.empty', 'message' => 'You must specify RamUid.', 'http_code' => 400, 'description' => '输入的 RamUid 为空。'],
['code' => 'ServerError.Check', 'message' => 'An internal error has occurred, resulting in the failure of status check.', 'http_code' => 401, 'description' => '内部错误,状态校验失败。'],
['code' => 'ServerError.Inner', 'message' => 'An internal error occurred.', 'http_code' => 430, 'description' => '系统内部错误'],
['code' => 'ServerError.Internal', 'message' => 'An internal error has occurred.', 'http_code' => 402, 'description' => '内部错误。'],
['code' => 'ServerError.Store', 'message' => 'An internal error has occurred, resulting in the failure of status check.', 'http_code' => 430, 'description' => '内部错误,状态持久化操作失败。'],
['code' => 'ServerStoreError', 'message' => 'A server storage error occurred.', 'http_code' => 400, 'description' => '内部存储有问题'],
['code' => 'Service.Forbidden', 'message' => 'The user service has been disabled. Certain user actions may have triggered the banning of using any Alibaba Cloud service. For more information, submit a service ticket.', 'http_code' => 403, 'description' => '用户服务被禁用。有可能是由于用户触发了禁用整个阿里云服务。详细细节请联系技术人员。'],
['code' => 'Service.HasMoreResource', 'message' => 'Delete all tables, schema and endpoints before you disable the DLA service in the specified region.', 'http_code' => 403, 'description' => '请先删除所有 Table、Schema、Endpoint。'],
['code' => 'Service.Initialized', 'message' => 'The service has been initialized.', 'http_code' => 304, 'description' => '服务已经初始化。'],
['code' => 'Service.Invalid', 'message' => 'The specified service for the user has not been activated.', 'http_code' => 403, 'description' => '用户的服务未开通。'],
['code' => 'Service.NotFound', 'message' => 'The service has not been initialized.', 'http_code' => 404, 'description' => '服务尚未初始化。'],
['code' => 'User.Exist', 'message' => 'The specified user already exists.', 'http_code' => 409, 'description' => '用户已经存在。'],
['code' => 'User.Invalid', 'message' => 'The user status is invalid or the user has unsubscribed from the DLA service.', 'http_code' => 403, 'description' => '用户状态无效或已经退订DLA服务。'],
['code' => 'User.MaxCount', 'message' => 'The number of accounts has reached the maximum.', 'http_code' => 403, 'description' => '创建的帐号数量达到最大值。'],
['code' => 'User.MetaInfo.Invalid', 'message' => 'You need to activate MetaInfo service.', 'http_code' => 403, 'description' => '需要开通用户元信息服务。'],
['code' => 'User.NotFound', 'message' => 'The specified user does not exist.', 'http_code' => 404, 'description' => '用户不存在。'],
['code' => 'User.Unauthorized', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 401, 'description' => '无权限。'],
],
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'],
],
],
'ram' => [
'productCode' => 'DataLakeAnalytics',
'productName' => '云原生数据湖分析',
'ramCodes' => ['openanalytics'],
'ramLevel' => '资源级',
'ramConditions' => [],
'ramActions' => [],
'resourceTypes' => [],
],
];
|