【问题标题】:JS Azure Blog Storage - Getting require error when running?JS Azure 博客存储 - 运行时出现需要错误?
【发布时间】:2021-10-14 18:23:06
【问题描述】:

我目前正在尝试将数据从 Azure Blob Storage 获取到我的 Flask 应用程序中。通过这样做,我正在使用适用于浏览器的 JavaScript SDK v12。

我在运行代码时遇到问题,它在控制台中显示:

未捕获的错误:模块名称“@azure/storage-blob”尚未加载 然而对于上下文:_。使用要求([]) https://requirejs.org/docs/errors.html#notloaded 在 makeError (require.js:5) 在 Object.s [as require] (require.js:5) 在 requirejs (require.js:5) 在 java.js:1

代码(缩进有点乱)

const { BlobServiceClient } = require("@azure/storage-blob");

const containerName = "danicontainer";
const blobName = "Blobname foo";
const connStr = "ConnectionString foo";

const blobServiceClient = BlobServiceClient.fromConnectionString(connStr);

async function main() {
   const containerClient = blobServiceClient.getContainerClient(containerName);
   const blobClient = containerClient.getBlobClient(blobName);

// Get blob content from position 0 to the end
// In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody
   const downloadBlockBlobResponse = await blobClient.download();
   const downloaded = await blobToString(await downloadBlockBlobResponse.blobBody);
   console.log("Downloaded blob content", downloaded);

 // [Browsers only] A helper method used to convert a browser Blob into string.
async function blobToString(blob) {
const fileReader = new FileReader();
return new Promise((resolve, reject) => {
  fileReader.onloadend = (ev) => {
    resolve(ev.target.result);
  };
  fileReader.onerror = reject;
  fileReader.readAsText(blob);
  });
  }
   document.write("Finished!");
   document.write(downloaded);
  }

 main();
 console.log("Test");

除此之外,我们还有 require.js 文件以及 Flask 的 html/python 文件。

【问题讨论】:

    标签: javascript azure-blob-storage


    【解决方案1】:

    试试这些步骤

    1) 创建一个名为 package.json 的新文本文件。此文件定义 Node.js 项目。将此文件保存在 blob-quickstart-v12 目录中。这是文件的内容:

    {
        "name": "blob-quickstart-v12",
        "version": "1.0.0",
        "description": "Use the @azure/storage-blob SDK version 12 to interact with Azure Blob storage",
        "main": "blob-quickstart-v12.js",
        "scripts": {
            "start": "node blob-quickstart-v12.js"
        },
        "author": "Your Name",
        "license": "MIT",
        "dependencies": {
            "@azure/storage-blob": "^12.0.0",
            "@types/dotenv": "^4.0.3",
            "dotenv": "^6.0.0"
        }
    }
    

    2) 仍在 blob-quickstart-v12 目录中时,使用 npm install 命令安装适用于 JavaScript 包的 Azure Blob 存储客户端库。此命令读取 package.json 文件并安装适用于 JavaScript 包的 Azure Blob 存储客户端库 v12 及其依赖的所有库。

    npm install
    

    3)试试这个代码下载blob

    // Get blob content from position 0 to the end
    // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody
    // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody
    
    const downloadBlockBlobResponse = await blockBlobClient.download(0);
    console.log('\nDownloaded blob content...');
    console.log('\t', await streamToString(downloadBlockBlobResponse.readableStreamBody));
    

    更多详情请参考document

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-13
      • 1970-01-01
      • 2021-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多