Aracılığıyla paylaş


Hızlı Başlangıç: Java için Azure Blob Depolama istemci kitaplığı

Not

Sıfırdan oluştur seçeneği, yeni proje oluşturma, paketleri yükleme, kodu yazma ve temel bir konsol uygulamasını çalıştırma sürecinde adım adım size yol gösterir. Azure Blob Depolama bağlanan bir uygulama oluştururken yer alan tüm ayrıntıları anlamak istiyorsanız bu yaklaşım önerilir. Dağıtım görevlerini otomatikleştirmeyi ve tamamlanmış bir projeyle başlamayı tercih ediyorsanız Şablonla başla'yı seçin.

Not

Şablonla başla seçeneği, dağıtım görevlerini otomatikleştirmek için Azure Geliştirici CLI'sini kullanır ve tamamlanmış bir projeyle çalışmaya başlar. Bu yaklaşım, kurulum görevlerine geçmeden kodu mümkün olan en kısa sürede keşfetmek istiyorsanız önerilir. Uygulamayı derlemek için adım adım yönergeleri tercih ediyorsanız Sıfırdan oluştur'u seçin.

Blobları ve kapsayıcıları yönetmek için Java için Azure Blob Depolama istemci kitaplığını kullanmaya başlayın.

Bu makalede, paketi yüklemek için adımları izleyin ve temel görevler için örnek kodu deneyin.

Bu makalede, Azure kaynaklarını dağıtmak ve yalnızca birkaç komutla tamamlanmış bir konsol uygulaması çalıştırmak için Azure Geliştirici CLI'sini kullanacaksınız.

İpucu

Spring uygulamasında Azure Depolama kaynaklarıyla çalışıyorsanız Spring Cloud Azure'ı alternatif olarak değerlendirmenizi öneririz. Spring Cloud Azure, Azure hizmetleriyle sorunsuz Spring tümleştirmesi sağlayan açık kaynak bir projedir. Spring Cloud Azure hakkında daha fazla bilgi edinmek ve Blob Depolama'yı kullanan bir örneği görmek için bkz . Azure Depolama Blobu'na dosya yükleme.

API başvuru belgeleri | Kitaplık kaynak kodu | Paketi (Maven)Örnekler |

Önkoşullar

Ayarlama

Bu bölümde, Java için Azure Blob Depolama istemci kitaplığıyla çalışmak üzere bir proje hazırlama işleminde size yol gösterilir.

Proje oluşturma

blob-quickstart adlı bir Java uygulaması oluşturun.

  1. Bir konsol penceresinde (PowerShell veya Bash gibi), maven kullanarak blob-quickstart adlı yeni bir konsol uygulaması oluşturun. "Merhaba dünya!" oluşturmak için aşağıdaki mvn komutunu yazın Java projesi.

    mvn archetype:generate `
        --define interactiveMode=n `
        --define groupId=com.blobs.quickstart `
        --define artifactId=blob-quickstart `
        --define archetypeArtifactId=maven-archetype-quickstart `
        --define archetypeVersion=1.4
    
  2. Projeyi oluşturma çıktısı aşağıdakine benzer olmalıdır:

    [INFO] Scanning for projects...
    [INFO]
    [INFO] ------------------< org.apache.maven:standalone-pom >-------------------
    [INFO] Building Maven Stub Project (No POM) 1
    [INFO] --------------------------------[ pom ]---------------------------------
    [INFO]
    [INFO] >>> maven-archetype-plugin:3.1.2:generate (default-cli) > generate-sources @ standalone-pom >>>
    [INFO]
    [INFO] <<< maven-archetype-plugin:3.1.2:generate (default-cli) < generate-sources @ standalone-pom <<<
    [INFO]
    [INFO]
    [INFO] --- maven-archetype-plugin:3.1.2:generate (default-cli) @ standalone-pom ---
    [INFO] Generating project in Batch mode
    [INFO] ----------------------------------------------------------------------------
    [INFO] Using following parameters for creating project from Archetype: maven-archetype-quickstart:1.4
    [INFO] ----------------------------------------------------------------------------
    [INFO] Parameter: groupId, Value: com.blobs.quickstart
    [INFO] Parameter: artifactId, Value: blob-quickstart
    [INFO] Parameter: version, Value: 1.0-SNAPSHOT
    [INFO] Parameter: package, Value: com.blobs.quickstart
    [INFO] Parameter: packageInPathFormat, Value: com/blobs/quickstart
    [INFO] Parameter: version, Value: 1.0-SNAPSHOT
    [INFO] Parameter: package, Value: com.blobs.quickstart
    [INFO] Parameter: groupId, Value: com.blobs.quickstart
    [INFO] Parameter: artifactId, Value: blob-quickstart
    [INFO] Project created from Archetype in dir: C:\QuickStarts\blob-quickstart
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  7.056 s
    [INFO] Finished at: 2019-10-23T11:09:21-07:00
    [INFO] ------------------------------------------------------------------------
        ```
    
    
  3. Yeni oluşturulan blob-quickstart klasörüne geçin.

    cd blob-quickstart
    
  4. Blob-quickstart dizininde data adlı başka bir dizin oluşturun. Bu klasör, blob veri dosyalarının oluşturulacağı ve depolanacağı klasördür.

    mkdir data
    

Paketleri yükleme

pom.xml Dosyayı metin düzenleyicinizde açın.

Kitaplığın en son sürümüne bağımlılığı almak için azure-sdk-bom ekleyin. Aşağıdaki kod parçacığında yer tutucuyu {bom_version_to_target} sürüm numarasıyla değiştirin. azure-sdk-bom kullanmak, her bir bağımlılığın sürümünü belirtmenize gerek kalmamanızı sağlar. Ürün reçetesi hakkında daha fazla bilgi edinmek için bkz . Azure SDK ÜRÜN REÇETESI BENİOKU.

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-sdk-bom</artifactId>
            <version>{bom_version_to_target}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Ardından aşağıdaki bağımlılık öğelerini bağımlılık grubuna ekleyin. Azure hizmetlerine parolasız bağlantılar için azure-identity bağımlılığı gereklidir.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-storage-blob</artifactId>
</dependency>
<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
</dependency>

Uygulama çerçevesini ayarlama

Proje dizininden uygulamanın temel yapısını oluşturmak için aşağıdaki adımları izleyin:

  1. /src/main/java/com/blobs/quickstart dizinine gidin
  2. App.java Dosyayı düzenleyicinizde açma
  3. Satırı silme System.out.println("Hello world!");
  4. Gerekli import yönergeleri ekleme

Kod şu çerçeveye benzemelidir:

package com.blobs.quickstart;

/**
 * Azure Blob Storage quickstart
 */
import com.azure.identity.*;
import com.azure.storage.blob.*;
import com.azure.storage.blob.models.*;
import java.io.*;

public class App
{
    public static void main(String[] args) throws IOException
    {
        // Quickstart code goes here
    }
}

Azure Geliştirici CLI'sı yüklendikten sonra bir depolama hesabı oluşturabilir ve örnek kodu yalnızca birkaç komutla çalıştırabilirsiniz. Projeyi yerel geliştirme ortamınızda veya DevContainer'da çalıştırabilirsiniz.

Azure Geliştirici CLI şablonunu başlatma ve kaynakları dağıtma

Boş bir dizinden şablonu başlatmak azd , Azure kaynaklarını sağlamak ve kodu kullanmaya başlamak için şu adımları izleyin:

  • GitHub'dan hızlı başlangıç deposu varlıklarını kopyalayın ve şablonu yerel olarak başlatın:

    azd init --template blob-storage-quickstart-java
    

    Aşağıdaki bilgiler istenir:

    • Ortam adı: Bu değer, Azure Geliştirici CLI tarafından oluşturulan tüm Azure kaynakları için ön ek olarak kullanılır. Adın tüm Azure aboneliklerinde benzersiz olması ve 3 ile 24 karakter uzunluğunda olması gerekir. Ad yalnızca sayılar ve küçük harfler içerebilir.
  • Azure'da oturum açın:

    azd auth login
    
  • Kaynakları sağlayın ve Azure'a dağıtın:

    azd up
    

    Aşağıdaki bilgiler istenir:

    • Abonelik: Kaynaklarınızın dağıtılacağı Azure aboneliği.
    • Konum: Kaynaklarınızın dağıtıldığı Azure bölgesi.

    Dağıtımın tamamlanması birkaç dakika sürebilir. Komutun çıktısı azd up , yeni oluşturulan depolama hesabının adını içerir ve bu adı daha sonra kodu çalıştırmak için kullanmanız gerekir.

Örnek kodu çalıştırma

Bu noktada kaynaklar Azure'a dağıtılır ve kod neredeyse çalışmaya hazırdır. Koddaki depolama hesabının adını güncelleştirmek ve örnek konsol uygulamasını çalıştırmak için şu adımları izleyin:

  • Depolama hesabı adını güncelleştirin:
    1. Yerel dizinde blob-quickstart/src/main/java/com/blobs/quickstart dizinine gidin.
    2. düzenleyicinizde App.java adlı dosyayı açın. Yer tutucuyu <storage-account-name> bulun ve komutu tarafından azd up oluşturulan depolama hesabının gerçek adıyla değiştirin.
    3. Değişiklikleri kaydedin.
  • Projeyi çalıştırın:
    1. Dosyayı içeren blob-quickstart dizinine pom.xml gidin. Aşağıdaki mvn komutu kullanarak projeyi derleyin:
      mvn compile
      
    2. Derlenen kodu dağıtılabilir biçiminde paketleyin:
      mvn package
      
    3. Uygulamayı yürütmek için aşağıdaki mvn komutu çalıştırın:
      mvn exec:java
      
  • Çıkışı gözlemleyin: Bu uygulama yerel veri klasörünüzde bir test dosyası oluşturur ve depolama hesabındaki bir kapsayıcıya 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.

Örnek kodun nasıl çalıştığı hakkında daha fazla bilgi edinmek için bkz . Kod örnekleri.

Kodu test etme işlemini tamamladığınızda, komutu tarafından azd up oluşturulan kaynakları silmek için Kaynakları temizleme bölümüne bakın.

Nesne modeli

Azure Blob Depolama, çok büyük miktarlarda yapılandırılmamış verileri depolamak için iyileştirilmiştir. Yapılandırılmamış veriler, metin veya ikili veri gibi belirli bir veri modeline veya tanımına uymaz. Blob depolama üç tür kaynak sunar:

  • Depolama hesabı
  • Depolama hesabındaki bir kapsayıcı
  • Kapsayıcıdaki bir blob

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

Blob depolama mimarisi diyagramı

Bu kaynaklarla etkileşime geçmek için aşağıdaki Java sınıflarını kullanın:

  • BlobServiceClient: sınıfı, BlobServiceClient Azure Depolama kaynaklarını ve blob kapsayıcılarını işlemenize olanak tanır. Depolama hesabı, Blob hizmeti için en üst düzey ad alanını sağlar.
  • BlobServiceClientBuilder: BlobServiceClientBuilder sınıfı, nesnelerin yapılandırmasına ve örneğine yardımcı olmak için akıcı bir oluşturucu API'sini BlobServiceClient sağlar.
  • BlobContainerClient: sınıfı, BlobContainerClient Azure Depolama kapsayıcılarını ve bloblarını işlemenize olanak tanır.
  • BlobClient: sınıfı, BlobClient Azure Depolama bloblarını işlemenize olanak tanır.
  • BlobItem: sınıfı listBlobs BlobItemçağrısından döndürülen tek tek blobları temsil eder.

Kod örnekleri

Bu örnek kod parçacıkları, Java için Azure Blob Depolama istemci kitaplığıyla aşağıdaki eylemlerin nasıl gerçekleştirileceğini gösterir:

Not

Azure Geliştirici CLI şablonu, örnek kodun zaten bulunduğu bir dosya içerir. Aşağıdaki örneklerde, örnek kodun her bölümü için ayrıntılı bilgi sağlanır. Şablon, Azure'da kimlik doğrulaması bölümünde açıklandığı gibi önerilen parolasız kimlik doğrulama yöntemini uygular. bağlantı dizesi yöntemi alternatif olarak gösterilir, ancak şablonda kullanılmaz ve üretim kodu için önerilmez.

Azure'da kimlik doğrulaması ve blob verilerine erişim yetkisi verme

Azure Blob Depolama uygulama istekleri yetkilendirilmelidir. DefaultAzureCredential Azure Identity istemci kitaplığı tarafından sağlanan sınıfı kullanmak, Blob Depolama da dahil olmak üzere kodunuzdaki Azure hizmetlerine parolasız bağlantılar uygulamak için önerilen yaklaşımdır.

Ayrıca, hesap erişim anahtarını kullanarak istekleri Azure Blob Depolama yetkilendirmeniz de gerekir. Ancak bu yaklaşım dikkatli kullanılmalıdır. Geliştiriciler, erişim anahtarını güvenli olmayan bir konumda asla kullanıma sunmamak için dikkatli olmalıdır. Erişim anahtarına sahip olan herkes, depolama hesabına yönelik istekleri yetkilendirebiliyor ve tüm verilere etkin bir şekilde erişim sahibi oluyor. DefaultAzureCredential parolasız kimlik doğrulamasına izin vermek için hesap anahtarı üzerinde gelişmiş yönetim ve güvenlik avantajları sunar. Her iki seçenek de aşağıdaki örnekte gösterilmiştir.

DefaultAzureCredential Java için Azure Identity istemci kitaplığı tarafından sağlanan bir sınıftır. DefaultAzureCredential birden çok kimlik doğrulama yöntemini destekler ve çalışma zamanında hangi yöntemin kullanılacağını belirler. Bu yaklaşım, uygulamanızın ortama özgü kod uygulamadan farklı ortamlarda (yerel ve üretim) farklı kimlik doğrulama yöntemleri kullanmasını sağlar.

Kimlik bilgilerinin arandığı DefaultAzureCredential sıra ve konumlar Azure Kimlik kitaplığına genel bakış sayfasında bulunabilir.

Örneğin, uygulamanız yerel olarak geliştirme yaparken Visual Studio Code oturum açma kimlik bilgilerinizi kullanarak kimlik doğrulaması yapabilir. Ardından uygulamanız Azure'a dağıtıldıktan sonra yönetilen kimliği kullanabilir. Bu geçiş için kod değişikliği gerekmez.

Microsoft Entra kullanıcı hesabınıza rol atama

Yerel olarak geliştirme yaparken blob verilerine erişen kullanıcı hesabının doğru izinlere sahip olduğundan emin olun. Blob verilerini okumak ve yazmak için Depolama Blob Verileri Katkıda Bulunanı gerekir. Kendinize bu rolü atamak için Kullanıcı Erişimi Yöneticisi rolüne veya Microsoft.Authorization/roleAssignments/write eylemini içeren başka bir role atanmalısınız. Azure portalı, Azure CLI veya Azure PowerShell'i kullanarak kullanıcıya Azure RBAC rolleri atayabilirsiniz. Rol atamaları için kullanılabilir kapsamlar hakkında daha fazla bilgiyi kapsam genel bakış sayfasından öğrenebilirsiniz.

Bu senaryoda, En Az Ayrıcalık İlkesi'ni izlemek için depolama hesabı kapsamındaki kullanıcı hesabınıza izinler atayacaksınız. Bu uygulama kullanıcılara yalnızca gereken minimum izinleri verir ve daha güvenli üretim ortamları oluşturur.

Aşağıdaki örnek, depolama hesabınızdaki blob verilerine hem okuma hem de yazma erişimi sağlayan Depolama Blob Verileri Katkıda Bulunanı rolünü kullanıcı hesabınıza atar.

Önemli

Çoğu durumda rol atamasının Azure'a yayılması bir veya iki dakika sürer, ancak nadir durumlarda sekiz dakikaya kadar sürebilir. Kodunuzu ilk kez çalıştırdığınızda kimlik doğrulama hataları alıyorsanız, birkaç dakika bekleyin ve yeniden deneyin.

  1. Azure portalında ana arama çubuğunu veya sol gezintiyi kullanarak depolama hesabınızı bulun.

  2. Depolama hesabına genel bakış sayfasında sol taraftaki menüden Erişim denetimi (IAM) öğesini seçin.

  3. Erişim denetimi (IAM) sayfasında Rol atamaları sekmesini seçin.

  4. Üst menüden + Ekle'yi seçin ve ardından açılan menüden Rol ataması ekle'yi seçin.

    Rol atamayı gösteren ekran görüntüsü.

  5. Sonuçları istenen role göre filtrelemek için arama kutusunu kullanın. Bu örnek için Depolama Blobu Veri Katkıda Bulunanı'nı arayın ve eşleşen sonucu seçin ve ardından İleri'yi seçin.

  6. Erişim ata'nın altında Kullanıcı, grup veya hizmet sorumlusu'na tıklayın ve ardından + Üye seç'e tıklayın.

  7. İletişim kutusunda Microsoft Entra kullanıcı adınızı (genellikle user@domain e-posta adresiniz) arayın ve iletişim kutusunun alt kısmındaki Seç'i seçin.

  8. Son sayfaya gitmek için Gözden geçir + ata'yı seçin ve ardından işlemi tamamlamak için Gözden geçir + yeniden ata'yı seçin.

DefaultAzureCredential kullanarak oturum açın ve uygulama kodunuzu Azure'a bağlayın

Aşağıdaki adımları kullanarak depolama hesabınızdaki verilere erişimi yetkileyebilirsiniz:

  1. Depolama hesabınızda rolü atadığınız Microsoft Entra hesabıyla kimliğinizin doğrulanmış olduğundan emin olun. Azure CLI, Visual Studio Code veya Azure PowerShell aracılığıyla kimlik doğrulaması yapabilirsiniz.

    Aşağıdaki komutu kullanarak Azure CLI aracılığıyla Azure'da oturum açın:

    az login
    
  2. kullanmak DefaultAzureCredentialiçin azure-identity bağımlılığının içinde pom.xmleklendiğinden emin olun:

    <dependency>
      <groupId>com.azure</groupId>
      <artifactId>azure-identity</artifactId>
    </dependency>
    
  3. Bu kodu yöntemine Main ekleyin. Kod yerel iş istasyonunuzda çalıştığında, Azure CLI veya Visual Studio Code gibi Azure'da kimlik doğrulaması yapmak için oturum açtığınız öncelikli aracın geliştirici kimlik bilgilerini kullanır.

    /*
     * The default credential first checks environment variables for configuration
     * If environment configuration is incomplete, it will try managed identity
     */
    DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder().build();
    
    // Azure SDK client builders accept the credential as a parameter
    // TODO: Replace <storage-account-name> with your actual storage account name
    BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
            .endpoint("https://<storage-account-name>.blob.core.windows.net/")
            .credential(defaultCredential)
            .buildClient();
    
  4. URI'nizdeki depolama hesabı adını güncelleştirdiğinden BlobServiceClientemin olun. Depolama hesabı adı, Azure portalının genel bakış sayfasında bulunabilir.

    Depolama hesabı adını bulmayı gösteren ekran görüntüsü.

    Not

    Azure'a dağıtıldığında, Azure'da çalışan bir uygulamadan Azure Depolama'ya yönelik istekleri yetkilendirmek için aynı kod kullanılabilir. Ancak Azure'daki uygulamanızda yönetilen kimliği etkinleştirmeniz gerekir. Ardından depolama hesabınızı bu yönetilen kimliğin bağlanmasına izin verecek şekilde yapılandırın. Azure hizmetleri arasında bu bağlantıyı yapılandırma hakkında ayrıntılı yönergeler için Bkz. Azure tarafından barındırılan uygulamalardan kimlik doğrulama öğreticisi.

Kapsayıcı oluşturma

nesnesinde createBlobContainer yöntemini blobServiceClient çağırarak depolama hesabınızda yeni bir kapsayıcı oluşturun. Bu örnekte kod, benzersiz olduğundan emin olmak için kapsayıcı adına bir GUID değeri ekler.

Bu kodu yönteminin Main sonuna ekleyin:

// Create a unique name for the container
String containerName = "quickstartblobs" + java.util.UUID.randomUUID();

// Create the container and return a container client object
BlobContainerClient blobContainerClient = blobServiceClient.createBlobContainer(containerName);

Kapsayıcı oluşturma hakkında daha fazla bilgi edinmek ve daha fazla kod örneği keşfetmek için bkz . Java ile blob kapsayıcısı oluşturma.

Ö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.

Blobları kapsayıcıya yükleme

uploadFromFile yöntemini çağırarak bir blobu kapsayıcıya yükleyin. Örnek kod, kapsayıcıya yüklemek için yerel veri dizininde bir metin dosyası oluşturur.

Bu kodu yönteminin Main sonuna ekleyin:

// Create the ./data/ directory and a file for uploading and downloading
String localPath = "./data/";
new File(localPath).mkdirs();
String fileName = "quickstart" + java.util.UUID.randomUUID() + ".txt";

// Get a reference to a blob
BlobClient blobClient = blobContainerClient.getBlobClient(fileName);

// Write text to the file
FileWriter writer = null;
try
{
    writer = new FileWriter(localPath + fileName, true);
    writer.write("Hello, World!");
    writer.close();
}
catch (IOException ex)
{
    System.out.println(ex.getMessage());
}

System.out.println("\nUploading to Blob storage as blob:\n\t" + blobClient.getBlobUrl());

// Upload the blob
blobClient.uploadFromFile(localPath + fileName);

Blobları karşıya yükleme hakkında daha fazla bilgi edinmek ve daha fazla kod örneği keşfetmek için bkz . Java ile blob yükleme.

Kapsayıcıdaki blobları listeleme

listBlobs yöntemini çağırarak kapsayıcıdaki blobları listeleyin. Bu durumda kapsayıcıya yalnızca bir blob eklendiğinden listeleme işlemi yalnızca bu blobu döndürür.

Bu kodu yönteminin Main sonuna ekleyin:

System.out.println("\nListing blobs...");

// List the blob(s) in the container.
for (BlobItem blobItem : blobContainerClient.listBlobs()) {
    System.out.println("\t" + blobItem.getName());
}

Blobları listeleme hakkında daha fazla bilgi edinmek ve daha fazla kod örneği keşfetmek için bkz . Java ile blobları listeleme.

Blob’ları indirme

downloadToFile yöntemini çağırarak daha önce oluşturulmuş blobu indirin. Örnek kod, her iki dosyayı da yerel dosya sisteminde görebilmeniz için dosya adına "İnDİr" son ekini ekler.

Bu kodu yönteminin Main sonuna ekleyin:

// Download the blob to a local file

// Append the string "DOWNLOAD" before the .txt extension for comparison purposes
String downloadFileName = fileName.replace(".txt", "DOWNLOAD.txt");

System.out.println("\nDownloading blob to\n\t " + localPath + downloadFileName);

blobClient.downloadToFile(localPath + downloadFileName);

Blobları indirme hakkında daha fazla bilgi edinmek ve daha fazla kod örneği keşfetmek için bkz . Java ile blob indirme.

Kapsayıcı silme

Aşağıdaki kod, delete yöntemini kullanarak kapsayıcının tamamını kaldırarak uygulamanın oluşturduğu kaynakları temizler. Ayrıca uygulama tarafından oluşturulan yerel dosyaları da siler.

Uygulama blob, kapsayıcı ve yerel dosyaları silmeden önce çağırarak System.console().readLine() kullanıcı girişi için duraklatılır. Bu, kaynakların silinmeden önce doğru oluşturulduğunu doğrulamak için iyi bir fırsattır.

Bu kodu yönteminin Main sonuna ekleyin:

File downloadedFile = new File(localPath + downloadFileName);
File localFile = new File(localPath + fileName);

// Clean up resources
System.out.println("\nPress the Enter key to begin clean up");
System.console().readLine();

System.out.println("Deleting blob container...");
blobContainerClient.delete();

System.out.println("Deleting the local source and downloaded files...");
localFile.delete();
downloadedFile.delete();

System.out.println("Done");

Kapsayıcı silme hakkında daha fazla bilgi edinmek ve daha fazla kod örneği keşfetmek için bkz . Java ile blob kapsayıcısını silme ve geri yükleme.

Kodu çalıştırma

Bu uygulama yerel klasörünüzde bir test 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.

Kodu derlemek, paketlemek ve çalıştırmak için adımları izleyin

  1. Dosyasını içeren pom.xml dizine gidin ve aşağıdaki mvn komutu kullanarak projeyi derleyin:
    mvn compile
    
  2. Derlenen kodu dağıtılabilir biçiminde paketleyin:
    mvn package
    
  3. Uygulamayı yürütmek için aşağıdaki mvn komutu çalıştırın:
    mvn exec:java -D exec.mainClass=com.blobs.quickstart.App -D exec.cleanupDaemonThreads=false
    
    Çalıştırma adımını basitleştirmek için, aşağıda gösterildiği gibi öğesine pom.xml ekleyebilir exec-maven-plugin ve yapılandırabilirsiniz:
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>exec-maven-plugin</artifactId>
      <version>1.4.0</version>
      <configuration>
        <mainClass>com.blobs.quickstart.App</mainClass>
        <cleanupDaemonThreads>false</cleanupDaemonThreads>
      </configuration>
    </plugin>
    
    Bu yapılandırmayla, uygulamayı aşağıdaki komutla yürütebilirsiniz:
    mvn exec:java
    

Uygulamanın çıkışı aşağıdaki örneğe benzer (okunabilirlik için atlanmış UUID değerleri):

Azure Blob Storage - Java quickstart sample

Uploading to Blob storage as blob:
        https://mystorageacct.blob.core.windows.net/quickstartblobsUUID/quickstartUUID.txt

Listing blobs...
        quickstartUUID.txt

Downloading blob to
        ./data/quickstartUUIDDOWNLOAD.txt

Press the Enter 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. Bunları karşılaştırabilir ve aynı olduklarını gözlemleyebilirsiniz.

Kaynakları temizleme

Dosyaları doğruladıktan ve testi tamamladıktan sonra, depolama hesabında oluşturduğunuz kapsayıcıyla birlikte test dosyalarını silmek için Enter tuşuna basın. Kaynakları silmek için Azure CLI'yi de kullanabilirsiniz.

Hızlı başlangıcı tamamladığınızda, aşağıdaki komutu çalıştırarak oluşturduğunuz kaynakları temizleyebilirsiniz:

azd down

Kaynakların silinmesini onaylamanız istenir. Onaylamak için girin y .

Sonraki adım