你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure CLI 在 Azure Front Door 中清除缓存
在资产的生存时间 (TTL) 到期之前,Azure Front Door 将一直对资产进行缓存。 每当客户端请求的资产的 TTL 已过期时,Azure Front Door 环境会检索新的更新后资产副本以提供请求,然后存储已刷新的缓存。
确保用户始终获取资产的最新副本是最佳做法。 方法如下:针对每次更新将资产版本化,并将其发布为新 URL。 Azure Front Door 标准版/高级版将立即检索用于下一个客户端请求的新资产。 有时候可能希望从所有边缘节点清除缓存的内容,并强制其全部检索新的已更新资产。 清除缓存内容的原因如下:更新了应用程序,或者想要更新包含错误信息的资产。
先决条件
在 Azure Cloud Shell 中使用 Bash 环境。 有关详细信息,请参阅 Azure Cloud Shell 中的 Bash 快速入门。
如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI。
如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录。
出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展。
运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade。
- 查看使用 Azure Front Door 进行缓存以了解缓存的工作原理。
- 具有正常运行的 Azure Front Door 配置文件。 请参阅创建 Front Door - CLI 了解创建方法。
配置缓存清除
在输入类似如下的所需参数后,运行 az afd endpoint purge 以清除缓存:
资源组的名称
包含待清除资产的资源组中 Azure Front Door 配置文件的名称
包含待清除资产的终结点
包含待清除资产的域/子域
重要
不支持对通配符域进行缓存清除,要对通配符域进行缓存清除,必须指定子域。 你可以针对通配符域添加尽可能多的单级子域。 例如,对于通配符域
*.afdxgatest.azfdtest.xyz
,你可以采用contoso.afdxgatest.azfdtest.xyz
或cart.afdxgatest.azfdtest.xyz
之类的格式添加子域。 有关详细信息,请参阅 Azure Front Door 中的通配符域。待清除内容的路径。
- 要清除的路径列表中支持以下格式:
- 单一路径清除:通过指定资产的完整路径(不带协议和域)并包含文件扩展名(例如 /pictures/strasbourg.png)来清除单个资产。
- 根域清除:清除路径中具有“/*”的终结点的根。
- 要清除的路径列表中支持以下格式:
az afd endpoint purge \
--resource-group myRGFD \
--profile-name contosoafd \
--endpoint-name myendpoint \
--domains www.contoso.com \
--content-paths '/scripts/*'
Azure Front Door 配置文件的缓存清除不区分大小写。 此外,它们不区分查询字符串,这意味着清除 URL 时将一并清除其查询字符串的所有变体。
注意
缓存清除最长可能需要 10 分钟才能传播到整个网络以及所有边缘位置。