Megosztás a következőn keresztül:


Blob letöltése Java használatával

Ez a cikk bemutatja, hogyan tölthet le egy blobot a Java-hoz készült Azure Storage ügyfélkódtár használatával. Blobadatokat különböző célhelyekre tölthet le, például helyi fájl elérési útját, streamét vagy szöveges sztringet. Megnyithat egy blobstreamet is, és olvashat belőle.

Előfeltételek

  • Ez a cikk feltételezi, hogy már rendelkezik egy projekttel, amely a Java Azure Blob Storage ügyfélkódtárával működik együtt. A projekt beállításával, beleértve a csomagtelepítést, az irányelvek hozzáadását import és egy engedélyezett ügyfélobjektum létrehozását, olvassa el az Azure Storage és a Java használatának első lépéseit.
  • Az engedélyezési mechanizmusnak rendelkeznie kell a letöltési művelet végrehajtásához szükséges engedélyekkel. További információkért tekintse meg az alábbi REST API-művelet engedélyezési útmutatóját:

Blob letöltése

A blobok letöltéséhez az alábbi módszerek bármelyikét használhatja:

Letöltés fájlelérési útvonalra

Az alábbi példa egy blobot tölt le egy helyi fájl elérési útjára:

public void downloadBlobToFile(BlobClient blobClient) {
    blobClient.downloadToFile("filepath/local-file.png");
}

Letöltés streambe

Az alábbi példa egy blobot tölt le egy OutputStream objektumba:

public void downloadBlobToStream(BlobClient blobClient) {
    try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
        blobClient.downloadStream(outputStream);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Letöltés sztringre

Az alábbi példa azt feltételezi, hogy a blob egy szöveges fájl, és letölti a blobot egy String objektumba:

public void downloadBlobToText(BlobClient blobClient) {
    String content = blobClient.downloadContent().toString();
    System.out.printf("Blob contents: %s%n", content);
}

Letöltés streamből

Az alábbi példa egy blobot tölt le a BlobInputStream stream megnyitásával és olvasásával:

public void readBlobFromStream(BlobClient blobClient) {
    // Opening a blob input stream allows you to read from a blob through a normal
    // stream interface

    try (BlobInputStream blobStream = blobClient.openInputStream()) {
        blobStream.read();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Blokkblob letöltése konfigurációs beállításokkal

Blob letöltésekor megadhatja az ügyfélkódtár konfigurációs beállításait. Ezek a beállítások a teljesítmény javítása és a megbízhatóság növelése érdekében hangolhatók. Az alábbi kódpéldák bemutatják, hogyan definiálhat konfigurációs beállításokat a BlobDownloadToFileOptions használatával egy letöltési módszer meghívásakor.

Adatátviteli beállítások megadása letöltéskor

A ParallelTransferOptionsban értékeket konfigurálhat az adatátviteli műveletek teljesítményének javítása érdekében. Az alábbi értékek az alkalmazás igényeinek megfelelően hangolhatók le a letöltésekhez:

  • blockSize: Az egyes kérések maximális blokkmérete. Ezt az értéket a setBlockSizeLong metódussal állíthatja be.
  • maxConcurrency: Az egy párhuzamos átvitel részeként adott időpontban kibocsátott párhuzamos kérelmek maximális száma. Ezt az értéket a setMaxConcurrency metódussal állíthatja be.

Adja hozzá a következő import irányelveket a fájlhoz a letöltéshez:ParallelTransferOptions

import com.azure.storage.common.*;

Az alábbi példakód bemutatja, hogyan állíthat be értékeket ParallelTransferOptions egy példányhoz, és hogyan foglalhatja bele a beállításokat BlobDownloadToFileOptions . Az ebben a mintában megadott értékek nem javaslatok. Ezeknek az értékeknek a megfelelő finomhangolásához figyelembe kell vennie az alkalmazás adott igényeit.

public void downloadBlobWithTransferOptions(BlobClient blobClient) {
    ParallelTransferOptions parallelTransferOptions = new ParallelTransferOptions()
            .setBlockSizeLong((long) (4 * 1024 * 1024)) // 4 MiB block size
            .setMaxConcurrency(2);

    BlobDownloadToFileOptions options = new BlobDownloadToFileOptions("<localFilePath>");
    options.setParallelTransferOptions(parallelTransferOptions);

    blobClient.downloadToFileWithResponse(options, null, null);
}

Az adatátviteli beállítások finomhangolásáról további információt a Feltöltések és letöltések teljesítményhangolása a Java használatával című témakörben talál.

Források

Ha többet szeretne megtudni arról, hogyan tölthet le blobokat a Java-hoz készült Azure Blob Storage ügyfélkódtár használatával, tekintse meg az alábbi erőforrásokat.

REST API-műveletek

Az Azure SDK for Java olyan kódtárakat tartalmaz, amelyek az Azure REST API-ra épülnek, lehetővé téve a REST API-műveletek használatát ismert Java-paradigmákon keresztül. A blobok letöltéséhez használt ügyfélkódtár-metódusok a következő REST API-műveletet használják:

Kódminták

Ügyfélkódtár erőforrásai