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

Not

Sıfırdan Build seçeneği, bir proje oluşturma, paket yükleme, kod yazma ve temel bir konsol uygulaması çalıştırma sürecini kolaylaştırır. Azure Blob Depolama'a bağlanan bir uygulama nasıl oluşturulacağını anlamak için bu seçeneği seçin. Dağıtım görevlerini otomatikleştirmek ve tamamlanmış bir projeyle başlamak için Şablonla Başlat seçeneğini seçin.

Not

Şablonla Başlat seçeneği, dağıtım görevlerini otomatikleştirmek için Azure Developer CLI'yı kullanır ve tamamlanmış bir proje sunar. Kurulum görevlerini tamamlamadan kodu keşfetmek için bu seçeneği seçin. Uygulamayı geliştirmek için adım adım talimatlar için Sıfırdan Oluştur seçeneğini 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

Azure Depolama kaynaklarını kullanan Spring uygulamaları için Spring Cloud Azure'ı düşünün. Bu açık kaynak projesi, Spring'i Azure hizmetleriyle entegre eder. Blob Depolama örneği için bkz. Upload a file to an Azure Depolama Blob.

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

Önkoşullar

Kurulum

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. "Hello world!" Java projesi oluşturmak için aşağıdaki mvn komutunu yazın.

    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. Projenin üretiminden elde edilen çıktıyı gözden geçirin.

    [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 dizininin içinde, data adı verilen başka bir dizin oluşturun. Bu klasör, blob veri dosyalarının oluşturulduğu ve saklandığı yerdir.

    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 kullanarak, her bağımlılığın bireysel sürümünü belirtmenize gerek kalmaz. BOM hakkında daha fazla bilgi edinmek için Azure SDK BOM README'ye bakın.

<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 servislerine şifresiz bağlantılar için Azure-identity bağımlılığına ihtiyacınız var.

<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

Projenin temel yapısını oluşturmak için proje dizininden şu 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 Developer CLI'yı kullanarak bir depolama hesabı oluşturabilir ve örnek kodu sadece birkaç komutla çalıştırabilirsiniz. Projeyi yerel geliştirme ortamınızda veya bir 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:

    • Environment name: Azure Developer CLI, oluşturduğu tüm Azure kaynaklar için ön ek olarak bu değeri kullanır. Ad tüm Azure aboneliklerde benzersiz olmalı ve 3 ile 24 karakter uzunluğunda olmalıdır. 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ı dağıtmak için Azure aboneliği.
    • Konum: Kaynaklarınızı dağıtmak için 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 daha sonra kodu çalıştırmanı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 azd up komutuyla oluşturulan depolama hesabının gerçek adıyla değiştirin.
    3. Değişiklikleri kaydedin.
  • Projeyi çalıştırın:
    1. dizinine 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 oluşturulan kaynakları silmek için Kaynaklarıazd up.

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.

Bir blob konteyneri ve bir blob içeren bir depolama hesabını gösteren 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 konteynerlerini yönetir. Depolama hesabı, Blob hizmeti için en üst düzey ad alanını sağlar.
  • BlobServiceClientBuilder: Sınıf, BlobServiceClientBuilder nesneleri yapılandırmak ve oluşturmak BlobServiceClient için akıcı bir API sağlar.
  • BlobContainerClient: Sınıf, BlobContainerClient Azure Depolama konteynerlerini ve onların bloblarını yönetir.
  • BlobClient: Class BlobClient Azure Depolama blobs'ları yönetir.
  • BlobItem: BlobItem çağrısından döndürülen tek tek blobları temsil eden sınıftır.

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:

Önemli

Kod örneklerini kullanmadan önce Kurulum bölümünde tanımlanan bağımlılıkları ve direktifleri ekleyin.

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.

Azure Blob Depolama'ya istekleri, hesap erişim anahtarını kullanarak da yetkilendirebilirsiniz. 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.

DefaultAzureCredential kimlik bilgilerini hangi sırayla ve hangi konumlarda aradığını Azure Identity kitaplığına genel bakış içinde bulabilirsiniz.

Örneğin, uygulamanız yerel olarak geliştirirken Visual Studio Code giriş kimlik bilgilerinizi kullanarak kimlik doğrulaması yapabilir. Uygulamanız, Azure'a dağıtımdan sonra yönetilen bir kimlik 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. Depolama Blob Verisi Katkıda Bulunan rolü hakkında daha fazla bilgi için Depolama Blob Verisi Katkıda Bulunan sayfasına bakın. Rol atamaları için kullanılabilir kapsamlar hakkında daha fazla bilgi için bkz. Azure RBAC kapsamını anlama.

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 atama altında, Kullanıcı, grup veya hizmet sorumlusu seçeneğini seçin ve ardından + Üyeleri seç seçeneğine 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. Gözden geçir + ata seçeneğini son sayfaya gitmek için ve ardından işlemi tamamlamak için Gözden geçir + ata seçeneğini tekrar seçin.

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

Depolama hesabınızdaki verilere erişimi şu adımları izleyerek yetkileyin:

  1. Depolama hesabı rolünü atadığınız Microsoft Entra hesabını kullanarak kimlik doğrulama yapın. Azure CLI, Visual Studio Code veya Azure PowerShell kullanın.

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

    az login
    
  2. DefaultAzureCredential kullanmak için, azure-identity bağımlılığını pom.xml içine ekleyin:

    <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'a kimlik doğrulaması için giriş yaptığınız öncelikli aracın geliştirici kimlik bilgilerini kullanır; örneğin Azure CLI veya Visual Studio Code gibi.

    /*
     * 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. BlobServiceClient öğenizin URI’sindeki depolama hesabı adını güncelleyin. Azure portalındaki genel bakış sayfasında depolama hesabı adını bulun.

    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'de 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

Depolama hesabınızda yeni bir kapsayıcı oluşturmak için nesnesi üzerinde blobServiceClient yöntemini çağırın. 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);

Daha fazla bilgi ve örnekler için bkz. Java ile bir blob konteyneri oluştur.

Ö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);

Daha fazla bilgi ve örnekler için, Java ile bir blob yükleme bölümüne bakınız.

Kapsayıcıdaki blobları listeleme

listBlobs yöntemini çağırarak kapsayıcıdaki blobları listeleyin. Bu durumda, kapsayıcıya yalnızca bir blob eklediniz, bu nedenle listeleme işlemi yalnızca o 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());
}

Daha fazla bilgi ve örnekler için Java ile blobları listeleme bölümüne bakın.

Blob’ları indirme

downloadToFile yöntemini çağırarak daha önce oluşturulmuş blobu indirin. Örnek kod, dosya adına DOWNLOAD son ekini ekler; böylece her iki dosyayı da yerel dosya sisteminde görebilirsiniz.

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);

Daha fazla bilgi ve örnekler için, Java ile bir blob indir bölümüne bakınız.

Bir kapsayıcıyı sil

Aşağıdaki kod, uygulamanın oluşturduğu kaynakları silme yöntemiyle tüm konteyneri kaldırarak temizler. Ayrıca uygulama tarafından oluşturulan yerel dosyaları da siler.

Uygulama, blob'u, kapsayıcıyı ve yerel dosyaları silmeden önce System.console().readLine() çağrısı yaparak kullanıcı girişi için duraklatılır. Bu duraklama, uygulamanın kaynakları silmeden önce doğru oluşturup oluşturmadığını doğrulama şansı verir.

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");

Daha fazla bilgi ve örnekler için, Java ile blob konteyneri sil ve restore et'e bakınız.

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 şu 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, exec-maven-plugin öğesini pom.xml öğesine ekleyin ve aşağıdaki kodda gösterildiği gibi yapılandırın:
    <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 çalıştırın:
    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ı temizleyin:

azd down

Kaynakların silindiğini onaylamanız için bir uyarı alırsınız. Onaylamak için girin y .

Sonraki adım