@@ -723,17 +723,22 @@ function putObjectCopy() {
723723
724724function getObject ( ) {
725725 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 获取对象到本地文件
737742 cos . getObject ( {
738743 Bucket : config . Bucket , // Bucket 格式:test-1250000000
739744 Region : config . Region ,
@@ -745,6 +750,19 @@ function getObject() {
745750 } , function ( err , data ) {
746751 console . log ( err || data ) ;
747752 } ) ;
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 ) )
748766}
749767
750768function headObject ( ) {
@@ -845,6 +863,92 @@ function restoreObject() {
845863 } ) ;
846864}
847865
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+
848952function abortUploadTask ( ) {
849953 cos . abortUploadTask ( {
850954 Bucket : config . Bucket , /* 必须 */ // Bucket 格式:test-1250000000
@@ -1113,9 +1217,9 @@ function deleteFolder() {
11131217// getBucketLifecycle();
11141218// putBucketLifecycle();
11151219// deleteBucketLifecycle();
1220+ // putBucketVersioning();
11161221// getBucketVersioning();
11171222// listObjectVersions();
1118- // putBucketVersioning();
11191223// getBucketReplication();
11201224// putBucketReplication();
11211225// deleteBucketReplication();
@@ -1124,9 +1228,19 @@ function deleteFolder() {
11241228// deleteBucketWebsite();
11251229// putBucketReferer();
11261230// getBucketReferer();
1231+ // putBucketDomain()
1232+ // getBucketDomain()
1233+ // deleteBucketDomain()
1234+ // putBucketLogging()
1235+ // getBucketLogging()
1236+ // deleteBucketLogging()
1237+ // putBucketInventory()
1238+ // getBucketInventory()
1239+ // deleteBucketInventory()
1240+ // listBucketInventory()
11271241// deleteBucket();
1128- // putObject();
11291242// putObjectCopy();
1243+ // getObjectStream();
11301244// getObject();
11311245// headObject();
11321246// putObjectAcl();
@@ -1135,11 +1249,14 @@ function deleteFolder() {
11351249// deleteMultipleObject();
11361250// restoreObject();
11371251// abortUploadTask();
1252+ // selectObjectContentStream();
1253+ // selectObjectContent();
11381254// sliceUploadFile();
1255+ // uploadFiles();
11391256// cancelTask();
11401257// pauseTask();
11411258// restartTask();
1142- // uploadFiles ();
1259+ // putObject ();
11431260// sliceCopyFile();
11441261// uploadFolder();
11451262// listFolder();
0 commit comments