hızlı başlangıç: .net için Azure Blob Depolama istemci kitaplığı v12
.net için v12 istemci kitaplığı Depolama Azure Blob 'u kullanmaya başlayın. Azure Blob Depolama, Microsoft 'un bulut için nesne depolama çözümüdür. Paketi yüklemek ve temel görevler için örnek kodu denemek için adımları izleyin. Blob depolama, çok miktarda yapılandırılmamış veriyi depolamak için iyileştirilmiştir.
bu hızlı başlangıçtaki örneklerde, .net için istemci kitaplığı v12 Depolama Azure Blob 'u nasıl kullanabileceğiniz gösterilmektedir:
- Bağlantı dizesini alma
- Kapsayıcı oluşturma
- Bir kapsayıcıya blob yükleme
- Bir kapsayıcıdaki Blobları listeleme
- Blobu indirme
- Kapsayıcı silme
Ek kaynaklar:
Önkoşullar
- Azure aboneliği- ücretsiz olarak bir tane oluşturun
- Azure depolama hesabı- depolama hesabı oluşturma
- İşletim sisteminiz için geçerli .NET Core SDK . Çalışma zamanını değil, SDK 'Yı aldığınızdan emin olun.
Ayarlanıyor
bu bölümde, bir projeyi .net için istemci kitaplığı v12 Depolama Azure Blob ile çalışacak şekilde hazırlama işlemi adım adım açıklanmaktadır.
Proje oluşturma
BlobQuickstartV12 adlı bir .NET Core uygulaması oluşturun.
Konsol penceresinde (cmd, PowerShell veya Bash gibi),
dotnet newBlobQuickstartV12 adlı yeni bir konsol uygulaması oluşturmak için komutunu kullanın. Bu komut, tek bir kaynak dosyası olan basit bir "Merhaba Dünya" C# projesi oluşturur: program. cs.dotnet new console -n BlobQuickstartV12Yeni oluşturulan BlobQuickstartV12 dizinine geçiş yapın.
cd BlobQuickstartV12BlobQuickstartV12 dizininde, veri adlı başka bir dizin oluşturun. Blob veri dosyalarının oluşturulup depolanacağı yerdir.
mkdir data
Paketi yükler
hala uygulama dizininde, komutunu kullanarak .net için Azure Blob Depolama istemci kitaplığı ' nı yükleyebilirsiniz dotnet add package .
dotnet add package Azure.Storage.Blobs
Uygulama çerçevesini ayarlama
Proje dizininden:
Düzenleyicinizde program. cs dosyasını açın.
İfadesini kaldırın
Console.WriteLine("Hello World!");.usingYönergeler ekleyin.MainZaman uyumsuz olarak desteklemek için yöntem bildirimini güncelleştirin.Kod şu şekildedir:
using Azure.Storage.Blobs; using Azure.Storage.Blobs.Models; using System; using System.IO; using System.Threading.Tasks; namespace BlobQuickstartV12 { class Program { static async Task Main() { } } }
Azure portalından kimlik bilgilerinizi kopyalama
örnek uygulama Azure Depolama istek yaptığında yetkilendirilmiş olması gerekir. Bir isteği yetkilendirmek için, depolama hesabı kimlik bilgilerinizi uygulamaya bağlantı dizesi olarak ekleyin. Depolama hesabı kimlik bilgilerinizi görüntülemek için aşağıdaki adımları izleyin:
Azure Portal’ında oturum açın.
Depolama hesabınızı bulun.
Depolama hesabı menü bölmesinde, güvenlik + ağ altında, erişim anahtarları' nı seçin. Burada, her anahtar için hesap erişim anahtarlarını ve tüm bağlantı dizesini görüntüleyebilirsiniz.

Erişim tuşları bölmesinde, anahtarları göster' i seçin.
KEY1 bölümünde bağlantı dizesi değerini bulun. Bağlantı dizesini kopyalamak için Panoya Kopyala simgesini seçin. Bir sonraki bölümde bağlantı dizesi değerini bir ortam değişkenine eklersiniz.

Depolama bağlantı dizelerinizi yapılandırma
Bağlantı dizesini kopyaladıktan sonra, uygulamayı çalıştıran yerel makinede yeni bir ortam değişkenine yazın. Ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminizin yönergelerini izleyin. <yourconnectionstring>Gerçek bağlantı dizeniz ile değiştirin.
Windows
setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"
ortam değişkenini Windows ekledikten sonra, komut penceresinin yeni bir örneğini başlatmanız gerekir.
Linux
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
macOS
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
Programları yeniden Başlat
Ortam değişkenini ekledikten sonra, ortam değişkenini okumak için gereken tüm çalışan programları yeniden başlatın. Örneğin, devam etmeden önce geliştirme ortamınızı veya düzenleyiciyi yeniden başlatın.
Nesne modeli
Azure Blob Depolama, büyük miktarlarda yapılandırılmamış verileri depolamak için iyileştirilmiştir. Yapılandırılmamış veriler, metin veya ikili veriler gibi belirli bir veri modeline veya tanıma bağlı olmayan verilerdir. BLOB depolama üç tür kaynak sunar:
- Depolama hesabı
- Depolama hesabındaki bir kapsayıcı
- Kapsayıcıda bir blob
Aşağıdaki diyagramda bu kaynaklar arasındaki ilişki gösterilmektedir.

Şu kaynaklarla etkileşim kurmak için aşağıdaki .NET sınıflarını kullanın:
- BlobServiceClient:
BlobServiceClientsınıfı, Azure Depolama kaynaklarını ve blob kapsayıcılarını değiştirmenize olanak sağlar. - blobcontainerclient:
BlobContainerClientsınıfı, Azure Depolama kapsayıcıları ve bloblarını değiştirmenize olanak sağlar. - blobclient:
BlobClientsınıfı, Azure Depolama bloblarını değiştirmenize olanak sağlar.
Kod örnekleri
aşağıdaki bölümlerde yer aldığı örnek kod parçacıkları, .net için Azure Blob Depolama istemci kitaplığı ile temel veri işlemlerinin nasıl gerçekleştirileceğini gösterir.
Bağlantı dizesini alma
Aşağıdaki kod, depolama bağlantı dizesini yapılandırma bölümünde oluşturulan ortam değişkeninden depolama hesabının bağlantı dizesini alır.
Bu kodu metodun içine ekleyin Main :
Console.WriteLine("Azure Blob Storage v12 - .NET quickstart sample\n");
// Retrieve the connection string for use with the application. The storage
// connection string is stored in an environment variable on the machine
// running the application called AZURE_STORAGE_CONNECTION_STRING. If the
// environment variable is created after the application is launched in a
// console or with Visual Studio, the shell or application needs to be closed
// and reloaded to take the environment variable into account.
string connectionString = Environment.GetEnvironmentVariable("AZURE_STORAGE_CONNECTION_STRING");
Kapsayıcı oluşturma
Yeni kapsayıcı için bir ad belirleyin. Aşağıdaki kod, benzersiz olduğundan emin olmak için kapsayıcı adına bir GUID değeri ekler.
Önemli
Kapsayıcı adlarının küçük harfle yazılması gerekir. Kapsayıcıları ve blobları adlandırma hakkında daha fazla bilgi için bkz. Kapsayıcıları, Blobları ve Meta Verileri Adlandırma ve Bunlara Başvurma.
BlobServiceClient sınıfının bir örneğini oluşturun. Ardından, depolama hesabınızda kapsayıcıyı oluşturmak için Createblobcontainsısync yöntemini çağırın.
Bu kodu yönteminin sonuna ekleyin Main :
// Create a BlobServiceClient object which will be used to create a container client
BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
//Create a unique name for the container
string containerName = "quickstartblobs" + Guid.NewGuid().ToString();
// Create the container and return a container client object
BlobContainerClient containerClient = await blobServiceClient.CreateBlobContainerAsync(containerName);
Bir kapsayıcıya blob yükleme
Aşağıdaki kod parçacığı:
- Yerel veri dizininde bir metin dosyası oluşturur.
- Kapsayıcı oluşturma bölümünde, kapsayıcıda getblobclient yöntemini çağırarak bir blobclient nesnesine bir başvuru alır.
- Uploadasync yöntemini çağırarak yerel metin dosyasını bloba yükler. Bu yöntem, daha önce oluşturulmadıysa bir blob oluşturur, aksi takdirde üzerine yazar.
Bu kodu yönteminin sonuna ekleyin Main :
// Create a local file in the ./data/ directory for uploading and downloading
string localPath = "./data/";
string fileName = "quickstart" + Guid.NewGuid().ToString() + ".txt";
string localFilePath = Path.Combine(localPath, fileName);
// Write text to the file
await File.WriteAllTextAsync(localFilePath, "Hello, World!");
// Get a reference to a blob
BlobClient blobClient = containerClient.GetBlobClient(fileName);
Console.WriteLine("Uploading to Blob storage as blob:\n\t {0}\n", blobClient.Uri);
// Upload data from the local file
await blobClient.UploadAsync(localFilePath, true);
Bir kapsayıcıdaki Blobları listeleme
Getblobsasync yöntemini çağırarak kapsayıcıdaki Blobları listeleyin. Bu durumda, kapsayıcıya yalnızca bir blob eklenmiş, bu nedenle listeleme işlemi yalnızca bir BLOB döndürüyor.
Bu kodu yönteminin sonuna ekleyin Main :
Console.WriteLine("Listing blobs...");
// List all blobs in the container
await foreach (BlobItem blobItem in containerClient.GetBlobsAsync())
{
Console.WriteLine("\t" + blobItem.Name);
}
Blobu indirme
Downloadtoasync yöntemini çağırarak önceden oluşturulmuş blobu indirin. Örnek kod, yerel dosya sisteminde her iki dosyayı da görebilmeniz için dosya adına "INDIRILMIŞ" bir sonek ekler.
Bu kodu yönteminin sonuna ekleyin Main :
// Download the blob to a local file
// Append the string "DOWNLOADED" before the .txt extension
// so you can compare the files in the data directory
string downloadFilePath = localFilePath.Replace(".txt", "DOWNLOADED.txt");
Console.WriteLine("\nDownloading blob to\n\t{0}\n", downloadFilePath);
// Download the blob's contents and save it to a file
await blobClient.DownloadToAsync(downloadFilePath);
Kapsayıcı silme
Aşağıdaki kod, DeleteAsynckullanarak tüm kapsayıcıyı silerek uygulamanın oluşturduğu kaynakları temizler. Ayrıca, uygulama tarafından oluşturulan yerel dosyaları da siler.
Uygulama, Console.ReadLine BLOB, kapsayıcı ve yerel dosyaları silmeden önce çağırarak kullanıcı girişi için duraklatılır. Bu, kaynakların silinmeden önce gerçekten doğru şekilde oluşturulduğunu doğrulamak iyi bir şansınız olur.
Bu kodu yönteminin sonuna ekleyin Main :
// Clean up
Console.Write("Press any key to begin clean up");
Console.ReadLine();
Console.WriteLine("Deleting blob container...");
await containerClient.DeleteAsync();
Console.WriteLine("Deleting the local source and downloaded files...");
File.Delete(localFilePath);
File.Delete(downloadFilePath);
Console.WriteLine("Done");
Kodu çalıştırma
Bu uygulama yerel veri klasörünüzde bir sınama dosyası oluşturur ve BLOB depolamaya yükler. Örnek daha sonra kapsayıcıdaki Blobları listeler ve eski ve yeni dosyaları karşılaştırabilmeniz için dosyayı yeni bir adla indirir.
Uygulama dizininize gidip uygulamayı derleyin ve çalıştırın.
dotnet build
dotnet run
Uygulamanın çıktısı aşağıdaki örneğe benzer:
Azure Blob Storage v12 - .NET quickstart sample
Uploading to Blob storage as blob:
https://mystorageacct.blob.core.windows.net/quickstartblobs60c70d78-8d93-43ae-954d-8322058cfd64/quickstart2fe6c5b4-7918-46cb-96f4-8c4c5cb2fd31.txt
Listing blobs...
quickstart2fe6c5b4-7918-46cb-96f4-8c4c5cb2fd31.txt
Downloading blob to
./data/quickstart2fe6c5b4-7918-46cb-96f4-8c4c5cb2fd31DOWNLOADED.txt
Press any key to begin clean up
Deleting blob container...
Deleting the local source and downloaded files...
Done
Temizleme işlemine başlamadan önce, iki dosya için veri klasörünüzü denetleyin. Dosyaları açarak aynı olduklarını görebilirsiniz.
Dosyaları doğruladıktan sonra, test dosyalarını silmek ve tanıtımı sona almak için ENTER tuşuna basın.
Sonraki adımlar
Bu hızlı başlangıçta .NET kullanarak blobları karşıya yükleme, indirme ve listeleme hakkında bilgi edindiniz.
BLOB depolama örnek uygulamalarını görmek için devam edin:
- Öğreticiler, örnekler, hızlı ve diğer belgelerde, .net ve .NET Core geliştiricileri Için Azure' u ziyaret edin.
- .NET Core hakkında daha fazla bilgi için bkz. 10 dakika içinde .NET kullanmaya başlama.