gpt4 book ai didi

azure-blob-storage - Azure blob 存储为我几乎所有的 PUT 请求提供了 "request was aborted"

转载 作者:行者123 更新时间:2023-12-01 07:50:23 25 4
gpt4 key购买 nike

我正在尝试使用 Azure blob 存储来存储 blob,但大多数时候我从 blob 存储中收到“请求已中止”响应。我在 Express API 中使用 Node.js v10 SDK,我觉得这与我如何配置服务有关。

我正在使用 Azurite 来模拟 Azure 存储服务。

在我的 app.js 中,我运行我的函数 configureBlobStore()启动时:

export const configureBlobStore = async containerName => {
const sharedKeyCredential = new SharedKeyCredential(
process.env.AZURE_STORAGE_ACCOUNT_NAME,
process.env.AZURE_STORAGE_ACCOUNT_ACCESS_KEY,
);
const pipeline = StorageURL.newPipeline(sharedKeyCredential);
serviceUrl = new ServiceURL('http://blob:10000/devstoreaccount1', pipeline);

if (!containerUrl) {
containerUrl = ContainerURL.fromServiceURL(serviceUrl, containerName);
try {
await containerUrl.create(aborter);
} catch (err) {
console.log(err);
console.log('Container already existed, skipping creation');
}
}
return containerUrl;
};

然后为了保存 blob 我运行我的函数 saveToBlobStore()
  let { originalname: blobName } = file;
const blockBlobUrl = BlockBlobURL.fromContainerURL(containerUrl, blobName);
const uploadOptions = { bufferSize: 4 * 1024 * 1024, maxBuffers: 20 };
const stream = intoStream(file.buffer);

try {
await uploadStreamToBlockBlob(
aborter,
stream,
blockBlobUrl,
uploadOptions.bufferSize,
uploadOptions.maxBuffers,
);

return blockBlobUrl.url;
} catch (err) {
console.error('Error saving blob', err);
return err;
}
};

有时它会起作用,通常是当我取下容器并进行卷修剪时,但通常它仅适用于上传的第一个文件,而不适用于任何其他文件。有谁知道为什么会发生这种情况?

最佳答案

发现问题,我创建了一个Aborter一次,将其缓存并用于我的所有调用,但您需要在每次调用 blob 存储之前创建一个新调用。

关于azure-blob-storage - Azure blob 存储为我几乎所有的 PUT 请求提供了 "request was aborted",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55385437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com