성능상의 이유로 Azure CDN에 게재하고 싶은 내용이 거의 없습니다. 그러나 콘텐츠가 변경되면 업데이트 된 데이터를 즉시 사용할 수 있어야합니다. 이상적으로는 긴 TTL을 설정할 수 있지만 업데이트 할 때 CDN에 콘텐츠 만료를 사전에 알리십시오. 이것을 어떻게 할 수 있습니까? 현재 캐시 무효화 또는 삭제 API는 없으며 짧은 TTL을 설정하지 않을 것입니다.Azure CDN 콘텐츠를 제거하거나 무효화하려면 어떻게해야합니까?
답변
Azure CDN을 무효화 할 API가 없습니다.
해결 방법 :
푸른 포털에 CDN의 "쿼리 문자열 상태"를 사용합니다. 그런 다음 새로운 쿼리 문자열 이름과 임의 값을 추가 할 수 있습니다. /images/background.png?v=1234
타임 스탬프 또는 임의 값을 사용하여 새 파일을 업로드하고 이름을 변경하십시오. 예 : /images/background.20140917225200.png
캐시 헤더를 짧게 설정하고 만료 될 때까지 기다리십시오. Azure 팀의 기사입니다. http://msdn.microsoft.com/en-us/library/azure/gg680306.aspx
CDN 제거를 강제로 수행 할 수 없습니다.
파일 이름에 버전/날짜 정보를 추가하고 현재 파일 이름을 동적으로 가져 오도록 앱을 디자인하는 것이 가장 좋습니다.
제품 사진의 경우, blob 이름에 버전을 추가하고 blob 이름을 테이블에 저장 한 다음 파일 이름을 하드 코딩하는 대신 테이블의 이름에 대한 링크를 제공하십시오.
이렇게하면 캐시 헤더에 max-expiry를 설정할 수 있습니다. Azure는 필요할 때 오래된 내용을 정리합니다.
12 월 2015 일 Azure 팀은 REST API (https://msdn.microsoft.com/en-us/library/mt634451.aspx)를 통해 CDN을 새로 고치거나 제거하는 기능을 추가했습니다. 처음에는이 기능이 새로운 Azure Portal (http://portal.azure.com)을 사용하여 만든 끝점에서만 사용할 수 있지만 이전 관리 표면에서 생성 된 CDN은 2016 년 (https://feedback.azure.com/forums/169397-cdn/suggestions/556307-ability-to-force-the-cdn-to-refresh-any-cached-con)의 시작 부분에 마이그레이션됩니다.
고마워요, 기본적으로 제가 취한 경로입니다. 변경 될 때마다 증가하는 DataVersion이 있으며, 클라이언트는 Out of Bend REST를 호출하여 최신 DataVersion을 찾은 다음 파일 이름에 포함 된 파일을 요청합니다. CDN. –
Azure가 파일을 변경 한 후에도 TTL 만료 전에 동일한 문제가 발생했습니다. Amazon S3로 전환했습니다. 무효화가 가능합니다 (비용은 비쌉니다). 또한 우리의 경우 아시아, 오스트레일리아 및 남아메리카에서 더 나은 서비스를 제공합니다. –