1

我想为 blob 中上传的大文件(大约 1 GB)创建校验和(MD5)。我使用 blob 触发 azure 函数。任何方法。目前,我的代码是这个

    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;
};

但这不会处理大文件

4

1 回答 1

0

您不必自己计算 MD5。默认情况下,Azure Blob 存储会自动为你计算。

它将通过此​​属性提供给您:

myBlob.properties.contentMD5
于 2020-08-11T19:27:04.897 回答