在现代 Web 开发中,将数据存储在云服务中已成为常见实践。Azure Storage 是一个强大的云存储服务,可用于存储和检索数据,例如 Blob、表、队列和文件共享。然而,通过 JavaScript 在客户端直接与 Azure Storage 交互需要一些复杂的认证和授权操作。
为了帮助简化与 Azure Storage 的交互,开发者可以使用 npm 包 azure-storage-proxy。它提供了一个基于 Node.js 的代理服务器,可在客户端和 Azure Storage 之间进行中介服务。
安装
要使用 azure-storage-proxy,您需要在本地安装 Node.js 和 npm 包管理器。安装方法取决于您所使用的操作系统。
完成 Node.js 的安装后,在终端中运行以下命令安装 azure-storage-proxy:
npm install azure-storage-proxy
使用
1. 创建配置文件
在启动 azure-storage-proxy 之前,您需要创建一个名为 config.json
的配置文件。这个配置文件将包含连接到 Azure Storage 的凭据以及代理服务器所需的其他设置。
-- -------------------- ---- ------- - -------- - -------------- -------------------- ------------- ------------------ -- -------- - ------- ----- ------- ---- - -
在 azure
对象中,您需要提供 Azure Storage 的账户名称和账户密钥。您可以在 Azure 门户中找到这些凭据。
在 proxy
对象中,您需要提供代理服务器的端口号(默认为 8080),以及是否启用 CORS(默认为 true)。CORS 是一个浏览器安全机制,用于限制网站对外部资源的访问。
2. 启动代理服务器
在配置文件创建完成后,在终端中运行以下命令启动代理服务器:
npx azure-storage-proxy
代理服务器将在 localhost:8080 上运行,并且可以通过 CORS 允许任何域名访问。
3. 在客户端使用
在客户端 JavaScript 中,您可以使用 fetch
API 或任何其他 HTTP 客户端库来发出请求。
-- -------------------- ---- ------- ----------------------------------------------------------------------- - ------- ----- -- -------------- -- ---------------- ---------- -- - ----------------- ---------- ------ -- ------------ -- - --------------------- ---
在 URL 中,您需要提供以下信息:
<accountName>
:Azure Storage 的账户名称。<containerName>
:Blob 存储容器的名称。<blobName>
:要检索的 Blob 的名称。
在 fetch
请求中,您可以设置所需的 HTTP 方法(例如 GET、POST、PUT、DELETE 等)。在示例中,我们使用 GET 方法检索 Blob 的内容。然后,我们将内容转换为 Blob,并在控制台中记录。
使用示例
让我们考虑以下示例:在 Azure Storage 中,我们有一个名为 mycontainer
的 Blob 存储容器,其中包含名为 example.jpg
的 Blob。
首先,我们需要在本地创建 config.json
文件并将凭据填入。
接下来,在终端中运行 npx azure-storage-proxy
,让代理服务器开始运行。
最后,在客户端 JavaScript 中,我们可以使用以下代码来检索 Blob 的内容:
-- -------------------- ---- ------- ------------------------------------------------------------------------ - ------- ----- -- -------------- -- ---------------- ---------- -- - ----- --- - -------------------------- ----- --- - ------------------------------ ------- - ---- ------------------------------- -- ------------ -- - --------------------- ---
我们使用 fetch
发出 GET 请求,并将 Blob 内容转换为 URL 对象。然后,我们创建一个 <img>
元素并将 URL 赋值给 src
属性。最后,我们将 <img>
元素添加到页面中。
运行客户端代码后,我们应该能够在页面中看到 example.jpg
的内容。
总结
azure-storage-proxy 是一个非常有用的工具,使得与 Azure Storage 的交互变得简单和方便。本教程涵盖了 azure-storage-proxy 的基本知识,包括安装、配置和使用。我们还提供了一个使用示例,展示了如何从 Azure Blob 存储中检索 Blob 的内容。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600572fa81e8991b448e9240