b13 / azure-purge
Azure CDN 缓存清除适配器
Requires
- typo3/cms-core: ^9.5 || ^10.0 || ^11.0
Suggests
- b13/proxycachemanager: Proxy Cache Manager Extension to provide integration into TYPO3s Backend Cache Flush methods
README
当 TYPO3 部署在 Azure CDN 配置后,此扩展是您的完美伴侣。
此扩展隐藏了 Azure CDN API 清除缓存的复杂性。
安装
您可以使用 composer 安装此扩展
composer req b13/azure-purge
使用方法
默认情况下,EXT:azure-purge 包含一个 azure:cdnpurge
CLI 命令,用于清除整个 CDN 配置或 CDN 配置中的特定 URL。
您可以清除单个或多个 URL
./vendor/bin/typo3 azure:cdnpurge --url=/page1 --url=/page2
或清除整个 CDN 配置
./vendor/bin/typo3 azure:cdnpurge --profile=abcdef
集成到 TYPO3 后台
EXT:azure-purge 可以与 TYPO3 的代理缓存管理扩展一起使用。
使用 Azure CDN 适配器为 EXT:proxycachemanager 设置,在修改页面时直接清除页面缓存。如果您处理的 Azure CDN 不仅缓存静态资源,还包括页面,这非常完美。
为此,请确保在 EXT:proxycachemanager 的设置中将类 \B13\AzurePurge\Provider\AzureProxyProvider
设置为。
配置
此扩展通过封装在 Guzzle API(包含在 TYPO3 中)的 cURL 请求来清除 CDN 缓存,而不是使用大多数示例中要求的 CLI 二进制文件 az
。
因此,首先需要在 Azure Portal 中创建一个 OAuth 客户端,包括 Client ID
、Tenant ID
和 Secret
。
然后,TYPO3 创建一个访问令牌(oauth2/authorize),该令牌随后用于清除 Azure CDN 配置上的内容。
Azure 因此需要
- Azure 应用 ID / 客户端 ID
- Azure 租户 ID
- Azure 客户端密钥
然后
- Azure 订阅
- Azure 资源组
- Azure CDN 配置
- Azure CDN 端点
- 可选:FrontDoor ID
所有这些都需要通过环境变量提供
- AZURE_CLIENT_ID
- AZURE_TENANT_ID
- AZURE_CLIENT_SECRET
- AZURE_SUBSCRIPTION_ID
- AZURE_RESOURCE_GROUP
- AZURE_CDN_PROFILE
- AZURE_CDN_ENDPOINT
- AZURE_FRONTDOOR
Azure FrontDoor 支持
请参阅https://docs.microsoft.com/de-de/rest/api/frontdoorservice/frontdoor/endpoints/purge-content
请确保将环境变量 AZURE_FRONTDOOR
设置为 Front Door 名称。
在网站配置中使用多个部分/ CDN 端点
尚未实现。
许可证
此扩展受 GPL v2+ 许可,与 TYPO3 核心相同。有关详细信息,请参阅此存储库中的 LICENSE 文件。
图标由 Microsoft Azure Icon Pack 提供。https://docs.microsoft.com/de-de/azure/architecture/icons/
开放问题
如果您发现问题,请随时在 GitHub 上创建问题或拉取请求。
致谢
此扩展由 Benni Mack 在 2022 年为 b13 GmbH 创建。
了解更多我们开发的帮助我们在客户项目中创造价值的 TYPO3 扩展。https://b13.com/useful-typo3-extensions-from-b13-to-you 作为我们工作方式的一部分,我们专注于测试和最佳实践,以确保所有代码的长期性能、可靠性和结果。