@@ -723,17 +723,22 @@ function putObjectCopy() {
723
723
724
724
function getObject ( ) {
725
725
var filepath1 = path . resolve ( __dirname , '1mb.out1.zip' ) ;
726
- var filepath2 = path . resolve ( __dirname , '123/1mb.out2.zip' ) ;
727
- // cos.getObject({
728
- // Bucket: config.Bucket, // Bucket 格式:test-1250000000
729
- // Region: config.Region,
730
- // Key: '1mb.zip',
731
- // onProgress: function (progressData) {
732
- // console.log(JSON.stringify(progressData));
733
- // }
734
- // }, function (err, data) {
735
- // fs.writeFileSync(filepath1, data.Body);
736
- // });
726
+ var filepath2 = path . resolve ( __dirname , '1mb.out2.zip' ) ;
727
+ var filepath3 = path . resolve ( __dirname , '1mb.out3.zip' ) ;
728
+
729
+ // file1 获取对象字节到内存变量
730
+ cos . getObject ( {
731
+ Bucket : config . Bucket , // Bucket 格式:test-1250000000
732
+ Region : config . Region ,
733
+ Key : '1mb.zip' ,
734
+ onProgress : function ( progressData ) {
735
+ console . log ( JSON . stringify ( progressData ) ) ;
736
+ }
737
+ } , function ( err , data ) {
738
+ fs . writeFileSync ( filepath1 , data . Body ) ;
739
+ } ) ;
740
+
741
+ // file2 获取对象到本地文件
737
742
cos . getObject ( {
738
743
Bucket : config . Bucket , // Bucket 格式:test-1250000000
739
744
Region : config . Region ,
@@ -745,6 +750,19 @@ function getObject() {
745
750
} , function ( err , data ) {
746
751
console . log ( err || data ) ;
747
752
} ) ;
753
+
754
+ // file3 pipe 格式获取对象到本地文件
755
+ var stream = cos . getObjectStream ( {
756
+ Bucket : config . Bucket , // Bucket 格式:test-1250000000
757
+ Region : config . Region ,
758
+ Key : '1mb.zip' ,
759
+ onProgress : function ( progressData ) {
760
+ console . log ( JSON . stringify ( progressData ) ) ;
761
+ }
762
+ } , function ( err , data ) {
763
+ console . log ( err || data ) ;
764
+ } ) ;
765
+ stream . pipe ( fs . createWriteStream ( filepath3 ) )
748
766
}
749
767
750
768
function headObject ( ) {
@@ -845,6 +863,92 @@ function restoreObject() {
845
863
} ) ;
846
864
}
847
865
866
+ var selectCsvOpt = {
867
+ Bucket : config . Bucket , // Bucket 格式:test-1250000000
868
+ Region : config . Region ,
869
+ Key : '1.csv' ,
870
+ SelectType : 2 ,
871
+ SelectRequest : {
872
+ // Expression: "select * from cosobject s limit 100",
873
+ Expression : "Select * from COSObject" ,
874
+ ExpressionType : "SQL" ,
875
+ InputSerialization : {
876
+ CSV : {
877
+ FileHeaderInfo : "IGNORE" ,
878
+ RecordDelimiter : "\\n" ,
879
+ FieldDelimiter : "," ,
880
+ QuoteCharacter : "\"" ,
881
+ QuoteEscapeCharacter : "\"" ,
882
+ Comments : "#" ,
883
+ AllowQuotedRecordDelimiter : "FALSE"
884
+ }
885
+ } ,
886
+ OutputSerialization : {
887
+ CSV : {
888
+ QuoteFields : "ASNEEDED" ,
889
+ RecordDelimiter : "\\n" ,
890
+ FieldDelimiter : "," ,
891
+ QuoteCharacter : "\"" ,
892
+ QuoteEscapeCharacter : "\""
893
+ }
894
+ } ,
895
+ RequestProgress : {
896
+ Enabled : "FALSE"
897
+ }
898
+ } ,
899
+ } ;
900
+
901
+ var selectJsonOpt = {
902
+ Bucket : config . Bucket , // Bucket 格式:test-1250000000
903
+ Region : config . Region ,
904
+ Key : '1.json' ,
905
+ SelectType : 2 ,
906
+ SelectRequest : {
907
+ Expression : "Select * from COSObject" ,
908
+ ExpressionType : "SQL" ,
909
+ InputSerialization : {
910
+ JSON : {
911
+ Type : "DOCUMENT" ,
912
+ } ,
913
+ } ,
914
+ OutputSerialization : {
915
+ JSON : {
916
+ RecordDelimiter : "\n"
917
+ } ,
918
+ } ,
919
+ RequestProgress : {
920
+ Enabled : "FALSE"
921
+ }
922
+ } ,
923
+ } ;
924
+
925
+ function selectObjectContentStream ( ) {
926
+ // 查询 JSON
927
+ var selectStream = cos . selectObjectContentStream ( {
928
+ ...selectJsonOpt ,
929
+ // DataType: 'raw',
930
+ } , function ( err , data ) {
931
+ console . log ( err || data ) ;
932
+ } ) ;
933
+ var outFile = './result.txt' ;
934
+ selectStream . pipe ( fs . createWriteStream ( outFile ) ) ;
935
+ selectStream . on ( 'end' , ( ) => console . log ( fs . readFileSync ( outFile ) . toString ( ) ) )
936
+ }
937
+
938
+ selectObjectContent ( )
939
+ function selectObjectContent ( ) {
940
+ // // 如果返回结果很大,可以用 selectObjectContentStream 处理
941
+ // // 查询 CSV
942
+ // cos.selectObjectContent(selectCsvOpt, function (err, data) {
943
+ // console.log(err || data);
944
+ // });
945
+
946
+ // 查询 JSON
947
+ cos . selectObjectContent ( selectJsonOpt , function ( err , data ) {
948
+ console . log ( err || data ) ;
949
+ } ) ;
950
+ }
951
+
848
952
function abortUploadTask ( ) {
849
953
cos . abortUploadTask ( {
850
954
Bucket : config . Bucket , /* 必须 */ // Bucket 格式:test-1250000000
@@ -1113,9 +1217,9 @@ function deleteFolder() {
1113
1217
// getBucketLifecycle();
1114
1218
// putBucketLifecycle();
1115
1219
// deleteBucketLifecycle();
1220
+ // putBucketVersioning();
1116
1221
// getBucketVersioning();
1117
1222
// listObjectVersions();
1118
- // putBucketVersioning();
1119
1223
// getBucketReplication();
1120
1224
// putBucketReplication();
1121
1225
// deleteBucketReplication();
@@ -1124,9 +1228,19 @@ function deleteFolder() {
1124
1228
// deleteBucketWebsite();
1125
1229
// putBucketReferer();
1126
1230
// getBucketReferer();
1231
+ // putBucketDomain()
1232
+ // getBucketDomain()
1233
+ // deleteBucketDomain()
1234
+ // putBucketLogging()
1235
+ // getBucketLogging()
1236
+ // deleteBucketLogging()
1237
+ // putBucketInventory()
1238
+ // getBucketInventory()
1239
+ // deleteBucketInventory()
1240
+ // listBucketInventory()
1127
1241
// deleteBucket();
1128
- // putObject();
1129
1242
// putObjectCopy();
1243
+ // getObjectStream();
1130
1244
// getObject();
1131
1245
// headObject();
1132
1246
// putObjectAcl();
@@ -1135,11 +1249,14 @@ function deleteFolder() {
1135
1249
// deleteMultipleObject();
1136
1250
// restoreObject();
1137
1251
// abortUploadTask();
1252
+ // selectObjectContentStream();
1253
+ // selectObjectContent();
1138
1254
// sliceUploadFile();
1255
+ // uploadFiles();
1139
1256
// cancelTask();
1140
1257
// pauseTask();
1141
1258
// restartTask();
1142
- // uploadFiles ();
1259
+ // putObject ();
1143
1260
// sliceCopyFile();
1144
1261
// uploadFolder();
1145
1262
// listFolder();
0 commit comments