티스토리 뷰

azure에서 cdn management를 위한 api를 제공한다.

 

https://docs.microsoft.com/ko-kr/java/api/overview/azure/cdn?view=azure-java-stable 

 

Azure CDN libraries for Java

Reference documentation for the Java CDN management libraries

docs.microsoft.com

 

해당 문서만 봐선 사실 어떻게 사용해야하는지 막막한게 사실이다.

pom.xml을 아래와 같이 추가한다.

 

        <dependency>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>azure-mgmt-cdn</artifactId>
            <version>1.41.1</version>
        </dependency>
        <dependency>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>azure-client-authentication</artifactId>
            <version>1.7.13</version>
        </dependency>

purge를 하는 코드는 아래와 같다.

각 변수의 값에 대해선 아래 링크를 참고하자.

 

azure cdn purge

CDN purge는 CDN의 캐싱을 삭제해주는 기능이다. 앞단에서 CDN을 사용하고 있었지만, 기존에는 png, jpeg 등 파일만 관리했고, azure blob storage에 파일이 올라가면, 파일 경로와 파일명이 무조건 새로 설

jongqui.tistory.com

    ApplicationTokenCredentials tokenCredentials = new ApplicationTokenCredentials(appId, tenentId, value, AzureEnvironment.AZURE);
    AzureTokenCredentials azureTokenCredentials = tokenCredentials.withDefaultSubscriptionId(subscriptionId);
    CdnManagementClientImpl cdnManagementClient = new CdnManagementClientImpl(azureTokenCredentials);
    cdnManagementClient.withSubscriptionId(subscriptionId);
    //비동기처리: cdnManagementClient.endpoints().purgeContentAsync(resourceGroupName, profileName, endpointName, paths); 
    cdnManagementClient.endpoints().purgeContent(resourceGroupName, profileName, endpointName, paths);

 

azure-mgmt-cdn 패키지 자체가 azure-mgmt의 모듈의 하나이고, azure-mgmt가 단순히 cdn만 관리하는 용도가 아니다보니, client를 생성할때 속도가 꽤 느리다.

또한, purgeContent를 실행하면 Hang이 상당히 심한데, 아마도 purge가 처리될때까지 기다렸다가 응답이 나와서 그런것으로 보인다. 경우에 따라 주석에 추가한것처럼 async로 처리도 가능하니 상황에 맞게 쓰면 될 것으로 보인다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함