Aracılığıyla paylaş


Uygulamaların Blob Depolama veri kaynaklarıyla nasıl etkileşimde olduğunu anlama

Azure Blob Depolama'da veri kaynaklarıyla çalışacak uygulamalar oluştururken kodunuz öncelikli olarak üç kaynak türüyle etkileşim kurar: depolama hesapları, kapsayıcılar ve bloblar. Bu makalede bu kaynak türleri açıklanır ve birbirleriyle ilişkileri gösterilir. Ayrıca uygulama kodunun bu çeşitli kaynaklarla etkileşime geçmek için Azure Blob Depolama istemci kitaplıklarını nasıl kullandığını da gösterir.

Blob Depolama kaynak türleri

Azure Blob Depolama istemci kitaplıkları, depolama hizmetindeki üç tür kaynakla etkileşim kurmanızı sağlar:

Aşağıdaki diyagramda bu kaynaklar arasındaki ilişki gösterilmektedir:

Depolama hesabı, kapsayıcılar ve bloblar arasındaki ilişkiyi gösteren diyagram

Depolama hesapları

Depolama hesabı, verileriniz için Azure'da benzersiz bir ad alanı sağlar. Azure Depolama'da depoladığınız her nesnenin benzersiz hesap adınızı içeren bir adresi vardır. Hesap adı ve Blob Depolama uç noktasının birleşimi, depolama hesabınızdaki nesnelerin temel adresini oluşturur.

Örneğin, depolama hesabınızın adı sampleaccount ise Blob Depolama için varsayılan uç nokta şudur:

https://sampleaccount.blob.core.windows.net

Depolama hesabı türleri hakkında daha fazla bilgi edinmek için bkz. Azure depolama hesabına genel bakış.

Konteyner

Kapsayıcı, dosya sistemindeki bir dizine benzer şekilde bir dizi blobu düzenler. Depolama hesabı sınırsız sayıda kapsayıcı içerebilir ve kapsayıcı sınırsız sayıda blob depolayabilir.

Kapsayıcının URI'si şuna benzer:

https://sampleaccount.blob.core.windows.net/sample-container

Kapsayıcıları adlandırma hakkında daha fazla bilgi için bkz. Kapsayıcıları, Blobları ve Meta Verileri Adlandırma ve Başvurma.

Bloblar

Azure Depolama üç blob türünü destekler:

  • Blok blobları metin ve ikili verileri depolar. Blok blobları, tek tek yönetilebilen veri bloklarından oluşur. Blok blobları yaklaşık 190,7 TiB'a kadar depolayabilir.
  • Ekleme blobları blok blobları gibi bloklardan oluşur, ancak ekleme işlemleri için iyileştirilmiştir. Eklenebilir bloblar, sanal makinelerdeki verileri günlüğe kaydetme gibi senaryolar için idealdir.
  • Sayfa blobları , boyutu 8 TiB'a kadar olan rastgele erişim dosyalarını depolar. Sayfa blobları hakkında daha fazla bilgi için bkz. Azure sayfa bloblarına genel bakış

Farklı blob türleri hakkında daha fazla bilgi için bkz. Blok Bloblarını Anlama, Ekleme Blobları ve Sayfa Blobları.

Blob için URI şuna benzer:

https://sampleaccount.blob.core.windows.net/sample-container/sample-blob

Blobları adlandırma hakkında daha fazla bilgi için bkz. Kapsayıcıları, Blobları ve Meta Verileri Adlandırma ve Başvurma.

Azure SDK'sını kullanarak veri kaynaklarıyla çalışma

Azure SDK'ları, Azure REST API'sinin üzerine inşa edilen kitaplıklar içerir ve tanıdık programlama dili paradigmalarıyla REST API işlemleriyle etkileşim kurmanızı sağlar. SDK'lar, uygulamanızla Azure kaynakları arasındaki etkileşimleri basitleştirmek için tasarlanmıştır.

Nadir senaryolarda, SDK'nın en son beta sürümüne veya genel kullanıma sunulan sürümüne yükseltilen uygulamalar InvalidHeaderValue hata iletisi alabilir. Bu sorun, Depolama kitaplıklarından herhangi biri kullanılırken oluşabilir. Hata iletisi aşağıdaki örneğe benzer:

HTTP/1.1 400 The value for one of the HTTP headers is not in the correct format.
Content-Length: 328
Content-Type: application/xml
Server: Microsoft-HTTPAPI/2.0
x-ms-request-id: <REMOVED>
Date: Fri, 19 May 2023 17:10:33 GMT
 
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>InvalidHeaderValue</Code>
<Message>
The value for one of the HTTP headers is not in the correct format.
RequestId:<REMOVED>
Time:2023-05-19T17:10:34.2972651Z
</Message>
<HeaderName>x-ms-version</HeaderName><HeaderValue>yyyy-mm-dd</HeaderValue>
</Error>

SDK'nın en son beta sürümüne veya genel kullanıma açık sürümüne yükselttiyseniz ve bu hatayla karşılaşıyorsanız, sorunun çözülip çözülmediğini görmek için SDK'nın önceki genel kullanıma açık sürümüne düşürmeniz önerilir.

SDK'ya özgü ayrıntıları aşağıdaki konumlarda görüntüleyebilirsiniz:

Sorun devam ederse veya öneri uygun değilse, diğer seçenekleri keşfetmek için bir destek bileti açın .

Azure Blob Depolama istemci kitaplıklarında her kaynak türü bir veya daha fazla ilişkili sınıfla temsil edilir. Bu sınıflar, Bir Azure Depolama kaynağıyla çalışmak için işlemler sağlar.

Aşağıdaki tabloda, temel sınıfların yanı sıra kısa bir açıklama listelenir:

Sınıf Açıklama
BlobServiceClient Depolama hesabını temsil eder ve hesap özelliklerini alıp yapılandırmaya ve depolama hesabındaki blob kapsayıcılarıyla çalışmaya yönelik işlemler sağlar.
BlobContainerClient Belirli bir blob kapsayıcısını temsil eder ve kapsayıcı ve içindeki bloblarla çalışmak için işlemler sağlar.
BlobClient Belirli bir blobu temsil eder ve karşıya yükleme, indirme, silme ve anlık görüntü oluşturma işlemleri de dahil olmak üzere blobla çalışmak için genel işlemler sağlar.
AppendBlobClient Eklenti bloğunu temsil eder ve günlük verilerini ekleme gibi eklenti bloklarına özgü işlemler sunar.
BlockBlobClient Blok blobunu temsil eder ve blok bloblarına özgü işlemler sağlar; örneğin veri bloklarını hazırlama ve ardından işleme.

Aşağıdaki paketler Blob Depolama veri kaynaklarıyla çalışmak için kullanılan sınıfları içerir:

Sonraki adımlar

SDK kullanarak Azure kaynaklarıyla çalışma, istemci örneği oluşturmayla başlar. İstemci nesnesi oluşturma ve yönetme hakkında daha fazla bilgi edinmek için bkz. Veri kaynaklarıyla etkileşim kuran istemci nesneleri oluşturma ve yönetme.