0

Azure 컨테이너에 Azure CDN 끝점을 만들어야합니다. 나는 그렇게하기 위해 아래의 코드를 사용하고있다.azure 컨테이너에 azure cdn 끝점을 만듭니다.

Endpoint endpoint = new Endpoint() { 
       IsHttpAllowed = true, 
       IsHttpsAllowed = true, 
       Location = this.config.ResourceLocation, 
       Origins = new List<DeepCreatedOrigin> { new DeepCreatedOrigin(containerName, string.Format(STORAGE_URL, storageAccountName)) }, 
       OriginPath = "/" + containerName,      
      }; 
      await this.cdnManagementClient.Endpoints.CreateAsync(this.config.ResourceGroupName, storageAccountName, containerName, endpoint); 

제공하는 모든 정보가 정확하며 끝점이 성공적으로 만들어집니다. 하지만 그 안에있는 얼룩에 접근하려고 할 때. InvalidUrl 오류가 발생했습니다.

그러나 이상한 점은 포털을 통해 동일한 값을 사용하여 동일한 끝점을 만들면 모양과 데이터를 액세스하고 다운로드 할 수 있습니다.

누구든지 내 코드에서 내가 뭘 잘못하고 있는지 알려주시겠습니까? 추가 매개 변수를 전달해야합니까?

답변

1

내가 아는 한 코드에서 저장소 CDN을 만들려면 OriginHostHeader 값을 저장소 계정 URL로 설정해야합니다.

자세한 내용은 아래 코드를 참조 수 :

// Create CDN client 
      CdnManagementClient cdn = new CdnManagementClient(new TokenCredentials(token)) 
      { SubscriptionId = subscriptionId }; 
      //ListProfilesAndEndpoints(cdn); 
      Endpoint e1 = new Endpoint() 
      { 
       // OptimizationType = "storage", 
       Origins = new List<DeepCreatedOrigin>() { new DeepCreatedOrigin("{yourstoragename}-blob-core-windows-net", "{yourstoragename}.blob.core.windows.net") }, 
       OriginHostHeader = "{yourstoragename}.blob.core.windows.net", 
       IsHttpAllowed = true, 
       IsHttpsAllowed = true, 
       [email protected]"/foo2", 
       Location = "EastAsia" 
     }; 

     cdn.Endpoints.Create(resourcegroup, profilename, enpointname, e1); 

게다가, 내가 직접 URL에 의해 블롭 파일에 액세스 할 수 SAS 토큰을 생성 할 수 좋습니다.

+0

안녕하세요, Brando, Thanks a lot man. OriginAuthHeader 매개 변수를 전달한 후 내 문제가 해결 된 것 같습니다. 나는 이것을 대답으로 표시하고있다. 비록, 당신은 나에게 호의를 베풀 수 있습니까? Endpoint를 작성하는 동안이 매개 변수가 있어야한다고 언급 한 곳에서이 정보의 출처를 알려주십시오. 다시 한번 감사드립니다. –

+0

정말 유감스럽게 생각합니다. 포털의 enpoit 대화 상자에 따라이 매개 변수를 씁니다. OriginHostHeader 매개 변수가 필요하므로 내 측면에서 테스트합니다. –