Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使用azure函数在blob触发器上生成大型blob文件的校验和?_Node.js_Azure_Azure Functions_Md5sum_Azure Blob Trigger - Fatal编程技术网

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

Node.js 如何使用azure函数在blob触发器上生成大型blob文件的校验和?,node.js,azure,azure-functions,md5sum,azure-blob-trigger,Node.js,Azure,Azure Functions,Md5sum,Azure Blob Trigger,我想为blob中上传的大文件(大约1GB)创建校验和(MD5)。我使用blob触发器azure函数。任何方法。目前,我的代码是 const { exec } = require('child_process'); function execShellCommand(cmd) { return new Promise((resolve, reject) => { exec(cmd, (error, stdout, stderr) => {

我想为blob中上传的大文件(大约1GB)创建校验和(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;
};

但这不会处理大文件

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

您可以通过此属性访问:

myBlob.properties.contentMD5

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

您可以通过此属性访问:

myBlob.properties.contentMD5

当触发器触发时,不是已经为您计算好了吗
myBlob.properties.contentMd5
——我不是javascript高手,但我可以通过在C#/)中调用
myBlob.properties.contentMd5
来获得它。NETI检查过,它有空值。我们是否必须启用自动计算md5的任何选项?blob由adf作业存储在容器中。有时,我必须调用一个方法才能使用它:
myBlob.fetchAttributes()
——该对象上是否有类似的方法?这将要求服务器填写properties对象。谢谢,@Andy,我可以在
myBlob.properties.contentMD5
中找到它。我只是想确认一件事。azure是否默认为所有文件计算md5?我将添加一个答案在触发时是否已经为您计算了
myBlob.properties.contentMd5
——我不是javascript高手,但我可以通过在C#/)中调用
myBlob.properties.contentMd5
来获得它。NETI检查过,它有空值。我们是否必须启用自动计算md5的任何选项?blob由adf作业存储在容器中。有时,我必须调用一个方法才能使用它:
myBlob.fetchAttributes()
——该对象上是否有类似的方法?这将要求服务器填写properties对象。谢谢,@Andy,我可以在
myBlob.properties.contentMD5
中找到它。我只是想确认一件事。azure是否默认为所有文件计算md5?我将添加一个答案