【发布时间】: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