JS Azure 博客存储 - 运行时出现需要错误?
Posted
技术标签:
【中文标题】JS Azure 博客存储 - 运行时出现需要错误?【英文标题】:JS Azure Blog Storage - Getting require error when running? 【发布时间】: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 文件。
【问题讨论】:
【参考方案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
【讨论】:
以上是关于JS Azure 博客存储 - 运行时出现需要错误?的主要内容,如果未能解决你的问题,请参考以下文章
错误:使用 Next.js 应用程序部署到 Azure 时出现“需要域选项”
创建 Azure 存储 Blob 容器时出现错误 403(已启用存储防火墙
为 Azure 存储帐户创建专用终结点连接时出现 ResourceNotFound 错误