javascript - Azure 错误 : "The specified resource does not exist"? 是否有多种原因

标签 javascript azure azure-files

我有一个包含大量用户及其上传文件的项目。数据库拥有所有可用文件,但大约一年前,当将项目连接到 Azure 并迁移文件时,一些文件在此过程中被遗忘。虽然代码现在在将文件上传到数据库时会自动将文件上传到 Azure,但尝试删除一些较旧的文件会导致问题。

目前,我的代码首先检查 Azure 删除,然后决定从数据库中删除该文件。当尝试删除 Azure 中不存在的文件时,我收到错误消息:

StorageError: The specified resource does not exist.

这意味着当前逻辑也不会从数据库中删除它。我总是可以忽略 Azure 中的错误并将其删除,但我不知道最好、最安全的方法是什么。

最简单的方法可能是删除该文件

if (!error) { 
    deleteFile(); 
} else {
    console.log("Azure failed, deleting anyways", error);
    deleteFile();
}

如果错误是上述错误,则仅将其删除。

if (!error) { 
    deleteFile(); 
} else if (error.message === "The specified resource does not exist") {
    console.log("Resource doesn't exist, deleting anyways", error);
    deleteFile();
}

但是我对错误消息了解不够。是否有其他原因会收到相同的错误消息并且有可能在错误的情况下删除文件?或者还有其他原因不应该这样做吗?我使用错误消息在网络上进行了搜索,但发现了很多有关权限的帖子,这是否会导致任何安全问题?

最佳答案

出现StorageError:指定的资源不存在的情况有 2 个可能的原因。:

  1. Blob 不存在并且
  2. 该 Blob 的 Blob 容器不存在。

如果您因任何其他原因而无法删除 Blob(例如,授权不正确、Blob 被租用等),您将收到不同的错误消息。

关于javascript - Azure 错误 : "The specified resource does not exist"? 是否有多种原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72376342/

相关文章:

azure - 在power bi中查看原始数据

c# - Microsoft.Azure.Storage.StorageException : The account being accessed does not support http

Javascript Facebook API POST 多部分/表单数据

azure - 无法安装 Az 模块

javascript - 无法在jquery中获取div元素的点击事件

azure - 使用托管标识在 Azure 中进行应用服务到应用服务的身份验证

python - 我可以使用应用服务中的 Azure 文件存储来存储然后读取/写入 SQLite 数据库吗?

java - 如何用 Java 确定 Azure 文件存储上的文件是否完整?

php - 如何在输入ONFOCUS 之外显示文本?

javascript - 如何使用 JavaScript 在循环内将数组中的所有项目相乘