Azure Blob Depolama ve .NET'i kullanmaya başlama
Bu makalede, .NET için Azure Blob Depolama istemci kitaplığını kullanarak Azure Blob Depolama nasıl bağlanabileceğiniz gösterilmektedir. Bağlandıktan sonra kodunuzun Blob Depolama hizmetinin kapsayıcıları, blobları ve özellikleri üzerinde nasıl çalışabileceğini öğrenmek için geliştirici kılavuzlarını kullanın.
Tam bir örnekle başlamak istiyorsanız bkz. Hızlı Başlangıç: .NET için istemci kitaplığını Azure Blob Depolama.
API başvurusu | Kitaplık kaynak kodu | Paketi (NuGet) | Örnekler | Geri bildirimde bulunmak
Önkoşullar
- Azure aboneliği - ücretsiz bir abonelik oluşturun
- Azure depolama hesabı - depolama hesabı oluşturma
- İşletim sisteminiz için en son .NET SDK'sı . Çalışma zamanını değil SDK'yi aldığınızdan emin olun.
Projenizi ayarlama
Bu bölüm, .NET için Azure Blob Depolama istemci kitaplığıyla çalışmak üzere bir proje hazırlama işleminde size yol gösterir.
Proje dizininizden komutunu kullanarak dotnet add package
Azure Blob Depolama ve Azure Identity istemci kitaplıkları için paketleri yükleyin. Azure hizmetlerine parolasız bağlantılar için Azure.Identity paketi gereklidir.
dotnet add package Azure.Storage.Blobs
dotnet add package Azure.Identity
Kod dosyanızın en üstüne şu using
yönergeleri ekleyin:
using Azure.Identity;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Blobs.Specialized;
Blob istemci kitaplığı bilgileri:
Azure.Storage.Blobs: Hizmet, kapsayıcılar ve bloblar üzerinde çalışmak için kullanabileceğiniz birincil sınıfları (istemci nesneleri) içerir.
Azure.Storage.Blobs.Specialized: Blok blobları gibi bir blob türüne özgü işlemleri gerçekleştirmek için kullanabileceğiniz sınıfları içerir.
Azure.Storage.Blobs.Models: Diğer tüm yardımcı program sınıfları, yapıları ve numaralandırma türleri.
Erişimi yetkilendirme ve Blob Depolama'ya bağlanma
Bir uygulamayı Blob Depolama'ya bağlamak için BlobServiceClient sınıfının bir örneğini oluşturun. Bu nesne, depolama hesabı düzeyinde veri kaynaklarıyla etkileşim kurmak için başlangıç noktanızdır. Depolama hesabında ve kapsayıcılarında çalışmak için bunu kullanabilirsiniz. Çalışmanız gereken kaynağa bağlı olarak kapsayıcı istemcileri veya blob istemcileri oluşturmak için hizmet istemcisini de kullanabilirsiniz.
İstemci nesneleri 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.
Microsoft Entra yetkilendirme belirteci, hesap erişim anahtarı veya paylaşılan erişim imzası (SAS) kullanarak bir nesneyi yetkilandırabilirsiniz BlobServiceClient
. En iyi güvenlik için Microsoft, blob verilerine yönelik istekleri yetkilendirmek için yönetilen kimliklerle Microsoft Entra Id kullanılmasını önerir. Daha fazla bilgi için bkz . Microsoft Entra Id kullanarak bloblara erişimi yetkilendirme.
Microsoft Entra Id ile yetkilendirmek için bir güvenlik sorumlusu kullanmanız gerekir. İhtiyacınız olan güvenlik sorumlusunun türü, uygulamanızın nerede çalıştığına bağlıdır. Bu tabloyu kılavuz olarak kullanın.
Uygulamanın çalıştığı yer | Güvenlik sorumlusu | Rehber |
---|---|---|
Yerel makine (geliştirme ve test) | Hizmet sorumlusu | Uygulamayı kaydetmeyi, bir Microsoft Entra grubu ayarlamayı, rolleri atamayı ve ortam değişkenlerini yapılandırmayı öğrenmek için bkz . Geliştirici hizmet sorumlularını kullanarak erişimi yetkilendirme |
Yerel makine (geliştirme ve test) | Kullanıcı kimliği | Microsoft Entra grubu ayarlamayı, rol atamayı ve Azure'da oturum açmayı öğrenmek için bkz . Geliştirici kimlik bilgilerini kullanarak erişimi yetkilendirme |
Azure'da barındırılan | Yönetilen kimlik | Yönetilen kimliği etkinleştirmeyi ve rol atamayı öğrenmek için bkz . Yönetilen kimlik kullanarak Azure tarafından barındırılan uygulamalardan erişimi yetkilendirme |
Azure dışında barındırılan (örneğin, şirket içi uygulamalar) | Hizmet sorumlusu | Uygulamayı kaydetmeyi, rolleri atamayı ve ortam değişkenlerini yapılandırmayı öğrenmek için bkz . Uygulama hizmet sorumlusu kullanarak şirket içi uygulamalardan erişimi yetkilendirme |
DefaultAzureCredential kullanarak erişimi yetkilendirme
Erişimi yetkilendirmenin ve Blob Depolama'ya bağlanmanın kolay ve güvenli bir yolu, DefaultAzureCredential örneği oluşturarak bir OAuth belirteci almaktır. Ardından bu kimlik bilgilerini kullanarak bir BlobServiceClient nesnesi oluşturabilirsiniz.
Aşağıdaki örnek kullanılarak DefaultAzureCredential
yetkilendirilmiş bir BlobServiceClient
nesne oluşturur:
public BlobServiceClient GetBlobServiceClient(string accountName)
{
BlobServiceClient client = new(
new Uri($"https://{accountName}.blob.core.windows.net"),
new DefaultAzureCredential());
return client;
}
Kullanıcıların kimliğini doğrulamak için tam olarak hangi kimlik bilgisi türünü kullanacağınızı biliyorsanız, .NET için Azure Identity istemci kitaplığındaki diğer sınıfları kullanarak bir OAuth belirteci alabilirsiniz. Bu sınıflar TokenCredential sınıfından türetilir.
Bu yetkilendirme mekanizmalarının her biri hakkında daha fazla bilgi edinmek için bkz . Azure Depolama'da verilere erişimi yetkilendirme.
Uygulamanızı derleme
Azure Blob Depolama'daki 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 kaynak türleri, birbirleriyle ilişkileri ve uygulamaların kaynaklarla nasıl etkileşim kurduğu hakkında daha fazla bilgi edinmek için bkz . Uygulamaların Blob Depolama veri kaynaklarıyla nasıl etkileşim kuracaklarını anlama.
Aşağıdaki kılavuzlarda ,NET için Azure Depolama istemci kitaplığını kullanarak verilere erişme ve belirli eylemleri gerçekleştirme adımları gösterilmektedir:
Kılavuz | Açıklama |
---|---|
Bloblara veri ekleme | Ekleme blobu oluşturmayı ve ardından verileri bu bloba eklemeyi öğrenin. |
Yeniden deneme ilkesi yapılandırma | İstemci işlemleri için yeniden deneme ilkeleri uygulayın. |
Blobları kopyalama | Blobu bir konumdan diğerine kopyalayın. |
Kapsayıcı oluşturma | Kapsayıcılar oluşturun. |
Kullanıcı temsilcisi SAS öğesi oluşturma | Kapsayıcı veya blob için kullanıcı temsilcisi SAS'i oluşturun. |
Blob kiralamaları oluşturma ve yönetme | Blob üzerinde kilit oluşturma ve yönetme. |
Kapsayıcı kiralamaları oluşturma ve yönetme | Kapsayıcıda kilit oluşturma ve yönetme. |
Blobları silme ve geri yükleme | Blobları silin ve geçici silme etkinleştirildiyse silinen blobları geri yükleyin. |
Kapsayıcıları silme ve geri yükleme | Kapsayıcıları silin ve geçici silme etkinleştirildiyse silinen kapsayıcıları geri yükleyin. |
Blobları indirme | Dizeleri, akışları ve dosya yollarını kullanarak blobları indirin. |
Etiketleri kullanarak blobları bulma | Etiketleri ayarlayıp alın ve blobları bulmak için etiketleri kullanın. |
Blobları listeleme | Blobları farklı şekillerde listeleyin. |
Kapsayıcıları listeleme | Bir hesaptaki kapsayıcıları ve listeyi özelleştirmek için kullanılabilecek çeşitli seçenekleri listeleyin. |
Özellikleri ve meta verileri yönetme | Bloblar için özellikleri ve meta verileri alın ve ayarlayın. |
Özellikleri ve meta verileri yönetme | Kapsayıcıların özelliklerini ve meta verilerini alın ve ayarlayın. |
Veri aktarımları için performans ayarlama | Veri aktarımı işlemleri için performansı iyileştirme. |
Blob erişim katmanını ayarlama veya değiştirme | Blok blobu için erişim katmanını ayarlayın veya değiştirin. |
Blobları karşıya yükleme | Dizeleri, akışları, dosya yollarını ve diğer yöntemleri kullanarak blobları karşıya yüklemeyi öğrenin. |