当前位置: 首页 > 知识库问答 >
问题:

Azure函数-读取Blob数据[JS]

凌意
2023-03-14

我正在尝试使用 azure 函数读取 azure blob 内容。

var blobName = 'my-awesome-text-blob';
blobService.getBlobToText(
    containerName,
    blobName,
    function(err, blobContent, blob) {
        if (err) {
            console.error("Couldn't download blob %s", blobName);
            console.error(err);
        } else {
            console.log("Sucessfully downloaded blob %s", blobName);
            console.log(blobContent);
        }
    });

容器名称始终相同,Blob名称由触发该函数的队列消息传递。

当我运行此函数时,函数超时(超过5分钟)。

带有blob名称的队列消息是正确的并显示出来,blob只包含一个长json,大约是292kb。

我尝试在创建新blob时直接触发该函数,但它返回了一个带有流的对象,您知道任何方法使该流可读吗?

module.exports = async function (context, myBlob) {
    context.log("JavaScript blob trigger function processed blob \n Blob:", context.bindingData.blobTrigger, "\n Blob Size:", myBlob.length, "Bytes");
    context.log("type of the blob passed:",typeof(myBlob))

使用上面的代码,我可以正确获取blob的类型和长度。

但如果我尝试打印它,我会得到:

( 2020-09-22 [Information] printing blob <Buffer 7b ....... )

谢谢你的帮助。

共有1个答案

曹钊
2023-03-14

只需转换流:

module.exports = async function (context, myBlob) {
    context.log(context.bindings.myBlob.toString());
    context.log("JavaScript blob trigger function processed blob \n Blob:", context.bindingData.blobTrigger, "\n Blob Size:", myBlob.length, "Bytes");
};
 类似资料:
  • 我想利用AZURE Function应用程序从AZURE BLOB存储中读取XLSX文件。该函数应由REST API调用来调用。我可以访问blob并下载文件,但我很难用pandas直接读取文件内容。我找了几个小时,但是找不到解决办法。我的最新方法是这样的: 在MS homepage*上,有一个从blob下载文件并随后进行处理的例子,但由于我使用的是功能应用程序,如果我没有遗漏任何内容,那么首先下载

  • 问题内容: 我在通过火花流从天蓝色斑点读取数据时遇到问题 上面的代码适用于HDFS,但无法从Azure blob读取文件 上面是在azure UI中显示的路径,但是这行不通,我是否丢失了某些内容,以及如何访问它。 我知道Eventhub是流数据的理想选择,但是我目前的情况要求使用存储而不是队列 问题答案: 为了从Blob存储中读取数据,需要完成两件事。首先,您需要告诉Spark在基础Hadoop配

  • 我设置了一个azure函数,它是由添加到特定容器的blob触发的。blob是一个. zip文件,我的意图是使用将blob提取到目录中,然后读取内容。我对这里的留档感到困惑:https://github.com/Azure/azure-content/blob/master/articles/azure-functions/functions-bindings-storage.md#blob-tri

  • 我有一个Azure函数,每当图像上传到Azure存储帐户中的容器时就会触发该函数。我读流并做一些动作。 我还想获取触发函数的blob的uri,但我如何做到这一点?我必须使用额外的输入/输出吗?

  • 我有函数应用,它连接到blob,读取文件内容并将内容发布到API。该函数在Visual Studio的调试中完美运行。我遇到的问题是,部署时无法从 Azure 工作。我得到的错误是: 问题Id:系统。MYFUNCTION处的ArgumentNullException。FA . file manager . blob container manager . getcloudblob containe

  • 我是数据库管理员的新手。我编写示例代码来读取Azure数据库管理员中的存储Blob。 它抛出错误: 我猜它在WASBS链接中没有附加SAS令牌,所以它没有读取数据的权限。 如何在wasbs链接中连接SAS。