2016-11-21 6 views
0

일부 블록 BLOB를 저장 한 Azure에 BLOB 컨테이너가 있습니다. 다음 코드는 특정 BLOB를 읽는 방법입니다. BLOB ETag 변수에 저장 하겠지만 항상 null을 반환합니다.Azure 블록 BLOB ETag가 null입니다.

public static string DownloadAsText(string ContainerName, string BlobName, out string ETag) 
{ 
    CloudBlobContainer BlobContainer = CreateCloudBlobClient().GetContainerReference(ContainerName); 
    CloudBlockBlob Blob = BlobContainer.GetBlockBlobReference(BlobName); 
    ETag = Blob.Properties.ETag; 
    return Blob.DownloadText(); 
} 
+0

왜 BLOB의 ETag가 필요합니까? 사실, BlobContainer.GetBlockBlobReference()는 Azure Storage 서비스에 대한 요청을 트리거하지 않으므로 Blob.FetchAttributes()를 호출하여 서버 측에서 정보를 가져와야 할 수 있습니다. –

답변

1

알다시피, CloudBlockBlob.GetBlockBlobReference은 클라이언트 쪽 컨테이너의 블록 BLOB에 대한 참조를 반환합니다. Blob의 속성을 검색하려면 명시 적으로 서버 측에 요청을 보내야합니다.

또한 ETag는 Blob 서비스의 동시성을 관리하는 데 사용됩니다. 그것은 당신의 blob (파일)의 식별자이고 blob (파일)에 대한 업데이트 작업이 수행 될 때마다 업데이트됩니다. 자세한 내용은이 공식 tutorial을 따라 ETag에 대해 더 잘 이해하고 잘 활용할 수 있습니다.