fullscreeninteractive / silverstripe-azure-blob-storage
为使用 Azure Blob 适配器添加 Silverstripe Flysystem 支持
1.3.0
2022-09-21 20:56 UTC
Requires
README
Silverstripe 模块,用于将资源存储在 Azure Blob Storage 而不是本地文件系统中。该模块利用 Silverstripe 4 中的 Flysystem。
环境设置
模块需要设置一些环境变量
AZURE_CONNECTION_URL
:从仪表板获取的连接 URLAZURE_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
作为允许方法访问网站主机名。