阿里雲 oss 寫入數據例子,適用高帶寬業務的服務器,配合oss 的流量,減少服務器帶寬壓力

高帶寬業務的服務器,配合oss 的流量,減少服務器帶寬壓力。
用戶請求的數據不是通過接口返回,接口只返回oss的連接地址,然後再去觸發請求oss的txt文件。

var fs = require("fs");
let OSS = require('ali-oss');  //必須安裝阿里雲的oss模塊
//oss-cn-shenzhen//申請OSS服務時的區域
let OSSclient = new OSS({region: 'oss-cn-shenzhen', accessKeyId: 'XXXXX', accessKeySecret: 'XXXXXX'});
OSSclient.useBucket('ossTest');
let json_={
    state:true,
    info:"OK",
    data:[1,2,3],
    type:"lxyTestOss",//類型也可以看做是oss文件的上級文件夾
    txt:"lxy-test-oss.txt"
};
async  function main(json,callback){
    let route=`${json.type}/${json.txt}`;
    let str=JSON.stringify({state:json.state,info:json.info,data:json.data});
    let bu=new Buffer(str, "utf8"); //利用緩存對象,不用在linux服務器保存文件然後在上傳到oss
    let result = await OSSclient.put(route, bu);
    callback(result);
}
main(json_, function (result) {
    var url=result.res.requestUrls[0]
    console.log(`遠程文件連接:`,  url);
    //讀取oss靜態文件
    require('http').get(url,function(req,res){var html='';req.on('data',(data)=>{html+=data;});req.on('end',()=>{console.log(JSON.parse(html))});req.on('error',(e)=>{reject(e.message);});});
});

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章