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:
- Blob lekérése (REST API)
Kódminták
Ügyfélkódtár erőforrásai
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: