问题描述
我想为blob中上传的大文件(大约1 GB)创建校验和(MD5)。我正在使用Blob触发天蓝色函数。任何方法。目前,我的代码是这个
const {
exec
} = require('child_process');
function execShellCommand(cmd) {
return new Promise((resolve,reject) => {
exec(cmd,(error,stdout,stderr) => {
if (error) {
console.log(error);
}
resolve(stdout? stdout : stderr);
});
});
}
module.exports = async function (context,myBlob) {
context.log(myBlob.toString());
context.log(context.bindingData.blobTrigger);
const data = myBlob.toString();
const output = await execShellCommand(`echo -n ${data} | md5sum`);
context.log(output);
context.bindings.outputBlob = output;
};
但这不会处理大文件
解决方法
您不必自己计算MD5。默认情况下,Azure Blob存储会自动为您计算。
将通过此属性向您提供:
for(vote in AllVotes){
voters_+ <- unlist(AllVotes[[i]]$votes$`+`$groups)
voters_- <- unlist(AllVotes[[i]]$votes$`-`$groups)
voters_0 <- unlist(AllVotes[[i]]$votes$`0`$groups)
meps[,vote] <-ifelse(meps$mepid %in% voters_+,"+",ifelse(meps$mepid %in% voters_-,"-",ifelse(meps$mepid %in% voters_0,"0",NA)))
}