微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用azure函数在blob触发器上生成大blob文件的校验和?

如何解决如何使用azure函数在blob触发器上生成大blob文件的校验和?

我想为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)))
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。