.NET ile ortak kapsayıcılara ve bloblara anonim olarak erişme

Azure Depolama kapsayıcılar ve bloblar için isteğe bağlı genel okuma erişimini destekler. İstemciler, Azure Depolama istemci kitaplıklarının yanı sıra Azure kapsayıcılarına veri erişimini destekleyen diğer araçları ve yardımcı programları kullanarak ortak kapsayıcılara ve bloblara anonim olarak Depolama.

Bu makalede genel kapsayıcıya veya bloba .NET'den nasıl erişilen açıklanmıştır. Kapsayıcıda anonim okuma erişimini yapılandırma hakkında bilgi için bkz. Kapsayıcılar ve bloblar için anonim genel okuma erişimini yapılandırma. Bir depolama hesabına tüm anonim erişimi engelleme hakkında bilgi için bkz. Kapsayıcılara ve bloblara anonim genel okuma erişimini engelleme.

Kapsayıcılara ve bloblara anonim olarak erişen bir istemci, kimlik bilgileri gerektirmeyen oluşturucuları kullanabilir. Aşağıdaki örnekler, kapsayıcılara ve bloblara anonim olarak başvuru yapmak için birkaç farklı yolu gösterir.

Anonim istemci nesnesi oluşturma

Hesap için Blob depolama uç noktası sağlayarak anonim erişim için yeni bir hizmet istemci nesnesi oluşturabilirsiniz. Ancak, bu hesapta anonim erişim için kullanılabilen bir kapsayıcının adını da biliyor olun.

public static void CreateAnonymousBlobClient()
{
    // Create the client object using the Blob storage endpoint for your account.
    BlobServiceClient blobServiceClient = new BlobServiceClient
        (new Uri(@"https://storagesamples.blob.core.windows.net/"));

    // Get a reference to a container that's available for anonymous access.
    BlobContainerClient container = blobServiceClient.GetBlobContainerClient("sample-container");

    // Read the container's properties. 
    // Note this is only possible when the container supports full public read access.          
    Console.WriteLine(container.GetProperties().Value.LastModified);
    Console.WriteLine(container.GetProperties().Value.ETag);
}

Bir kapsayıcıya anonim olarak başvuru

Anonim olarak kullanılabilir bir kapsayıcının URL'sini kullanıyorsanız, doğrudan kapsayıcıya başvuru yapmak için bunu kullanabilirsiniz.

public static void ListBlobsAnonymously()
{
    // Get a reference to a container that's available for anonymous access.
    BlobContainerClient container = new BlobContainerClient
        (new Uri(@"https://storagesamples.blob.core.windows.net/sample-container"));

    // List blobs in the container.
    // Note this is only possible when the container supports full public read access.
    foreach (BlobItem blobItem in container.GetBlobs())
    {
        Console.WriteLine(container.GetBlockBlobClient(blobItem.Name).Uri);
    }
}

Bloba anonim olarak başvuru

Anonim erişim için kullanılabilen bir blob'un URL'sini kullanıyorsanız, bloba doğrudan şu URL'yi kullanarak başvurabilirsiniz:

public static void DownloadBlobAnonymously()
{
    BlockBlobClient blob = new BlockBlobClient
        (new Uri(@"https://storagesamples.blob.core.windows.net/sample-container/logfile.txt"));
    blob.DownloadTo(@"C:\Temp\logfile.txt");
}

Sonraki adımlar