fullscreeninteractive/silverstripe-azure-blob-storage

为使用 Azure Blob 适配器添加 Silverstripe Flysystem 支持

1.3.0 2022-09-21 20:56 UTC

This package is auto-updated.

Last update: 2024-09-09 22:36:33 UTC


README

Version License

Silverstripe 模块,用于将资源存储在 Azure Blob Storage 而不是本地文件系统中。该模块利用 Silverstripe 4 中的 Flysystem。

环境设置

模块需要设置一些环境变量

  • AZURE_CONNECTION_URL:从仪表板获取的连接 URL
  • AZURE_CONTAINER_NAME:存储公共资源的容器名称。
  • AZURE_PROTECTED_CONTAINER_NAME:受保护资源的容器名称

默认情况下,模块将从 AZURE_CONNECTION_URL 提供的 URL(例如 silverstripe-assets.blob.core.windows.net)提供公共文件,除非设置了 AZURE_PUBLIC_BLOB_DOMAIN。受保护资源始终从本地域名提供并通过权限检查路由。

安装

composer require fullscreeninteractive/silverstripe-azure-blob-storage

注意: 目前该模块将立即替换 Silverstripe 内置的本地资源存储,使用基于 Azure 的存储。之前已上传到现有资源存储的任何文件将不可用(尽管它们不会被删除 - 可以运行 composer remove fullscreeninteractive/silverstripe-azure-blob-storage 删除模块并恢复访问)。

配置

Silverstripe 将资源分为“公共”或“受保护”两种。公共资源可以自由下载,而受保护资源(例如尚未发布的资源)不应直接访问。

默认情况下,模块通过通过 Web 服务器将受保护文件的内容流式传输到浏览器(而不是直接链接),以支持这一点。为确保受保护资源无法访问,请确保设置了适当的策略。

CORS

CORS 是一种 HTTP 功能,允许运行在一个域下的 Web 应用程序访问另一个域中的资源。请确保您的存储帐户已允许使用 GET 作为允许方法访问网站主机名。