Freigeben über


BlockBlobClient Klasse

public final class BlockBlobClient
extends BlobClientBase

Client für ein Blockblob. Sie kann nur über oder SpecializedBlobClientBuilder über die -Methode getBlockBlobClient()instanziiert werden. Diese Klasse enthält keinen Zustand für ein bestimmtes Blob, sondern ist stattdessen eine bequeme Möglichkeit, geeignete Anforderungen an die Ressource für den Dienst zu senden.

Weitere Informationen finden Sie in der Azure-Dokumentation .

Feldzusammenfassung

Modifizierer und Typ Feld und Beschreibung
static final int MAX_BLOCKS

Gibt die maximale Anzahl von Blöcken an, die in einem Blockblob zulässig sind.

static final int MAX_STAGE_BLOCK_BYTES

Als veraltet markiert

Gibt die maximale Anzahl von Bytes an, die in einem Aufruf des Phasenblocksgesendet werden können.

static final long MAX_STAGE_BLOCK_BYTES_LONG

Gibt die maximale Anzahl von Bytes an, die in einem Aufruf des Phasenblocksgesendet werden können.

static final int MAX_UPLOAD_BLOB_BYTES

Als veraltet markiert

Gibt die maximale Anzahl von Bytes an, die in einem Aufruf zum Hochladen gesendet werden können.

static final long MAX_UPLOAD_BLOB_BYTES_LONG

Gibt die maximale Anzahl von Bytes an, die in einem Aufruf zum Hochladen gesendet werden können.

Methodenzusammenfassung

Modifizierer und Typ Methode und Beschreibung
BlockBlobItem commitBlockList(List<String> base64BlockIds)

Schreibt ein Blob, indem die Liste der Block-IDs angegeben wird, die das Blob bilden sollen.

BlockBlobItem commitBlockList(List<String> base64BlockIds, boolean overwrite)

Schreibt ein Blob, indem die Liste der Block-IDs angegeben wird, die das Blob bilden sollen.

Response<BlockBlobItem> commitBlockListWithResponse(BlockBlobCommitBlockListOptions options, Duration timeout, Context context)

Schreibt ein Blob, indem die Liste der Block-IDs angegeben wird, die das Blob bilden sollen.

Response<BlockBlobItem> commitBlockListWithResponse(List<String> base64BlockIds, BlobHttpHeaders headers, Map<String,String> metadata, AccessTier tier, BlobRequestConditions requestConditions, Duration timeout, Context context)

Schreibt ein Blob, indem die Liste der Block-IDs angegeben wird, die das Blob bilden sollen.

BlobOutputStream getBlobOutputStream()

Erstellt und öffnet einen Ausgabestream, um Daten in das Blockblob zu schreiben.

BlobOutputStream getBlobOutputStream(boolean overwrite)

Erstellt und öffnet einen Ausgabestream, um Daten in das Blockblob zu schreiben.

BlobOutputStream getBlobOutputStream(BlobRequestConditions requestConditions)

Erstellt und öffnet einen Ausgabestream, um Daten in das Blockblob zu schreiben.

BlobOutputStream getBlobOutputStream(ParallelTransferOptions parallelTransferOptions, BlobHttpHeaders headers, Map<String,String> metadata, AccessTier tier, BlobRequestConditions requestConditions)

Erstellt und öffnet einen Ausgabestream, um Daten in das Blockblob zu schreiben.

BlobOutputStream getBlobOutputStream(BlockBlobOutputStreamOptions options)

Erstellt und öffnet einen Ausgabestream, um Daten in das Blockblob zu schreiben.

BlobOutputStream getBlobOutputStream(BlockBlobOutputStreamOptions options, Context context)

Erstellt und öffnet einen Ausgabestream, um Daten in das Blockblob zu schreiben.

BlockBlobClient getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)

Erstellt einen neuen BlockBlobClient mit dem angegebenen customerProvidedKey.

BlockBlobClient getEncryptionScopeClient(String encryptionScope)

Erstellt einen neuen BlockBlobClient mit dem angegebenen encryptionScope.

BlockList listBlocks(BlockListType listType)

Gibt die Liste der Blöcke zurück, die als Teil eines Blockblobs mithilfe des angegebenen Blocklistenfilters hochgeladen wurden.

Response<BlockList> listBlocksWithResponse(BlockListType listType, String leaseId, Duration timeout, Context context)

Gibt die Liste der Blöcke zurück, die als Teil eines Blockblobs mithilfe des angegebenen Blocklistenfilters hochgeladen wurden.

Response<BlockList> listBlocksWithResponse(BlockBlobListBlocksOptions options, Duration timeout, Context context)

Gibt die Liste der Blöcke zurück, die als Teil eines Blockblobs mithilfe des angegebenen Blocklistenfilters hochgeladen wurden.

SeekableByteChannel openSeekableByteChannelWrite(BlockBlobSeekableByteChannelWriteOptions options)

Öffnet einen suchbaren Bytekanal im schreibgeschützten Modus, um das Blob hochzuladen.

void stageBlock(String base64BlockId, BinaryData data)

Lädt den angegebenen Block in den "Stagingbereich" des Blockblobs hoch, um später durch einen Aufruf der Commit-Blocklistecommittetzu werden.

void stageBlock(String base64BlockId, InputStream data, long length)

Lädt den angegebenen Block in den "Stagingbereich" des Blockblobs hoch, um später durch einen Aufruf der Commit-Blocklistecommittetzu werden.

void stageBlockFromUrl(String base64BlockId, String sourceUrl, BlobRange sourceRange)

Erstellt einen neuen Block, der als Teil eines Blobs committet wird, in dem der Inhalt aus einer URL gelesen wird.

Response<Void> stageBlockFromUrlWithResponse(BlockBlobStageBlockFromUrlOptions options, Duration timeout, Context context)

Erstellt einen neuen Block, der als Teil eines Blobs committet wird, in dem der Inhalt aus einer URL gelesen wird.

Response<Void> stageBlockFromUrlWithResponse(String base64BlockId, String sourceUrl, BlobRange sourceRange, byte[] sourceContentMd5, String leaseId, BlobRequestConditions sourceRequestConditions, Duration timeout, Context context)

Erstellt einen neuen Block, der als Teil eines Blobs committet wird, in dem der Inhalt aus einer URL gelesen wird.

Response<Void> stageBlockWithResponse(BlockBlobStageBlockOptions options, Duration timeout, Context context)

Lädt den angegebenen Block in den "Stagingbereich" des Blockblobs hoch, um später durch einen Aufruf der Commit-Blocklistecommittetzu werden.

Response<Void> stageBlockWithResponse(String base64BlockId, InputStream data, long length, byte[] contentMd5, String leaseId, Duration timeout, Context context)

Lädt den angegebenen Block in den "Stagingbereich" des Blockblobs hoch, um später durch einen Aufruf der Commit-Blocklistecommittetzu werden.

BlockBlobItem upload(BinaryData data)

Erstellt ein neues Blockblob.

BlockBlobItem upload(BinaryData data, boolean overwrite)

Erstellt ein neues Blockblob oder aktualisiert den Inhalt eines vorhandenen Blockblobs.

BlockBlobItem upload(InputStream data, long length)

Erstellt ein neues Blockblob.

BlockBlobItem upload(InputStream data, long length, boolean overwrite)

Erstellt ein neues Blockblob oder aktualisiert den Inhalt eines vorhandenen Blockblobs.

BlockBlobItem uploadFromUrl(String sourceUrl)

Erstellt ein neues Blockblob oder aktualisiert den Inhalt eines vorhandenen Blockblobs.

BlockBlobItem uploadFromUrl(String sourceUrl, boolean overwrite)

Erstellt ein neues Blockblob oder aktualisiert den Inhalt eines vorhandenen Blockblobs.

Response<BlockBlobItem> uploadFromUrlWithResponse(BlobUploadFromUrlOptions options, Duration timeout, Context context)

Erstellt ein neues Blockblob oder aktualisiert den Inhalt eines vorhandenen Blockblobs.

Response<BlockBlobItem> uploadWithResponse(BlockBlobSimpleUploadOptions options, Duration timeout, Context context)

Erstellt ein neues Blockblob oder aktualisiert den Inhalt eines vorhandenen Blockblobs.

Response<BlockBlobItem> uploadWithResponse(InputStream data, long length, BlobHttpHeaders headers, Map<String,String> metadata, AccessTier tier, byte[] contentMd5, BlobRequestConditions requestConditions, Duration timeout, Context context)

Erstellt ein neues Blockblob oder aktualisiert den Inhalt eines vorhandenen Blockblobs.

Geerbte Methoden von BlobClientBase

abortCopyFromUrl abortCopyFromUrlWithResponse beginCopy beginCopy beginCopy copyFromUrl copyFromUrlWithResponse copyFromUrlWithResponse createSnapshot createSnapshotWithResponse delete deleteIfExists deleteIfExistsWithResponse deleteImmutabilityPolicy deleteImmutabilityPolicyWithResponse deleteWithResponse download downloadContent downloadContentWithResponse downloadContentWithResponse downloadStream downloadStreamWithResponse downloadToFile downloadToFile downloadToFileWithResponse downloadToFileWithResponse downloadToFileWithResponse downloadWithResponse exists existsWithResponse generateSas generateSas generateUserDelegationSas generateUserDelegationSas getAccountInfo getAccountInfoWithResponse getAccountName getAccountUrl getBlobName getBlobUrl getContainerClient getContainerName getCustomerProvidedKey getCustomerProvidedKeyClient getEncryptionScope getEncryptionScopeClient getHttpPipeline getProperties getPropertiesWithResponse getServiceVersion getSnapshotClient getSnapshotId getTags getTagsWithResponse getVersionClient getVersionId isSnapshot openInputStream openInputStream openInputStream openInputStream openQueryInputStream openQueryInputStreamWithResponse openSeekableByteChannelRead query queryWithResponse setAccessTier setAccessTierWithResponse setAccessTierWithResponse setHttpHeaders setHttpHeadersWithResponse setImmutabilityPolicy setImmutabilityPolicyWithResponse setLegalHold setLegalHoldWithResponse setMetadata setMetadataWithResponse setTags setTagsWithResponse undelete undeleteWithResponse

Geerbte Methoden von java.lang.Object

Felddetails

MAX_BLOCKS

public static final int MAX_BLOCKS

Gibt die maximale Anzahl von Blöcken an, die in einem Blockblob zulässig sind.

MAX_STAGE_BLOCK_BYTES

@Deprecated
public static final int MAX_STAGE_BLOCK_BYTES

Als veraltet markiert

Gibt die maximale Anzahl von Bytes an, die in einem Aufruf von stageBlock gesendet werden können.

MAX_STAGE_BLOCK_BYTES_LONG

public static final long MAX_STAGE_BLOCK_BYTES_LONG

Gibt die maximale Anzahl von Bytes an, die in einem Aufruf von stageBlock gesendet werden können.

MAX_UPLOAD_BLOB_BYTES

@Deprecated
public static final int MAX_UPLOAD_BLOB_BYTES

Als veraltet markiert

Gibt die maximale Anzahl von Bytes an, die in einem Aufruf zum Hochladen gesendet werden können.

MAX_UPLOAD_BLOB_BYTES_LONG

public static final long MAX_UPLOAD_BLOB_BYTES_LONG

Gibt die maximale Anzahl von Bytes an, die in einem Aufruf zum Hochladen gesendet werden können.

Details zur Methode

commitBlockList

public BlockBlobItem commitBlockList(List base64BlockIds)

Schreibt ein Blob, indem die Liste der Block-IDs angegeben wird, die das Blob bilden sollen. Um als Teil eines Blobs geschrieben zu werden, muss ein Block in einem vorherigen stageBlock-Vorgang erfolgreich auf den Server geschrieben worden sein. Sie können commitBlockList aufrufen, um ein Blob zu aktualisieren, indem Sie nur die geänderten Blöcke hochladen und dann die neuen und vorhandenen Blöcke gemeinsam committen. Alle Blöcke, die nicht in der Blockliste angegeben und endgültig gelöscht wurden. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

System.out.printf("Committing block list completed. Last modified: %s%n",
     client.commitBlockList(Collections.singletonList(base64BlockId)).getLastModified());

Parameter:

base64BlockIds - Eine Liste der Base64-Codierungen String, die die zu commitden Block-IDs angibt.

Gibt zurück:

Die Informationen des Blockblobs.

commitBlockList

public BlockBlobItem commitBlockList(List base64BlockIds, boolean overwrite)

Schreibt ein Blob, indem die Liste der Block-IDs angegeben wird, die das Blob bilden sollen. Um als Teil eines Blobs geschrieben zu werden, muss ein Block in einem vorherigen stageBlock-Vorgang erfolgreich auf den Server geschrieben worden sein. Sie können commitBlockList aufrufen, um ein Blob zu aktualisieren, indem Sie nur die Blöcke hochladen, die sich geändert haben, und dann die neuen und vorhandenen Blöcke zusammen commitsieren. Alle Blöcke, die nicht in der Blockliste angegeben und endgültig gelöscht wurden. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

boolean overwrite = false; // Default behavior
 System.out.printf("Committing block list completed. Last modified: %s%n",
     client.commitBlockList(Collections.singletonList(base64BlockId), overwrite).getLastModified());

Parameter:

base64BlockIds - Eine Liste der Base64-Codierungen String, die die zu commitden Block-IDs angibt.
overwrite - Ob überschrieben werden soll, sollten Daten im Blob vorhanden sein.

Gibt zurück:

Die Informationen des Blockblobs.

commitBlockListWithResponse

public Response commitBlockListWithResponse(BlockBlobCommitBlockListOptions options, Duration timeout, Context context)

Schreibt ein Blob, indem die Liste der Block-IDs angegeben wird, die das Blob bilden sollen. Um als Teil eines Blobs geschrieben zu werden, muss ein Block in einem vorherigen stageBlock-Vorgang erfolgreich auf den Server geschrieben worden sein. Sie können commitBlockList aufrufen, um ein Blob zu aktualisieren, indem Sie nur die Blöcke hochladen, die sich geändert haben, und dann die neuen und vorhandenen Blöcke zusammen commitsieren. Alle Blöcke, die nicht in der Blockliste angegeben und endgültig gelöscht wurden. Weitere Informationen finden Sie in der Azure-Dokumentation.

Um das Überschreiben zu vermeiden, übergeben Sie "*" an setIfNoneMatch(String ifNoneMatch).

Codebeispiele

BlobHttpHeaders headers = new BlobHttpHeaders()
     .setContentMd5("data".getBytes(StandardCharsets.UTF_8))
     .setContentLanguage("en-US")
     .setContentType("binary");

 Map<String, String> metadata = Collections.singletonMap("metadata", "value");
 Map<String, String> tags = Collections.singletonMap("tag", "value");
 BlobRequestConditions requestConditions = new BlobRequestConditions()
     .setLeaseId(leaseId)
     .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
 Context context = new Context("key", "value");

 System.out.printf("Committing block list completed with status %d%n",
     client.commitBlockListWithResponse(
         new BlockBlobCommitBlockListOptions(Collections.singletonList(base64BlockId)).setHeaders(headers)
             .setMetadata(metadata).setTags(tags).setTier(AccessTier.HOT)
             .setRequestConditions(requestConditions), timeout, context)
         .getStatusCode());

Parameter:

timeout - Ein optionaler Timeoutwert, über den ein RuntimeException ausgelöst wird.
context - Zusätzlicher Kontext, der während des Dienstaufrufs über die HTTP-Pipeline übergeben wird.

Gibt zurück:

Die Informationen des Blockblobs.

commitBlockListWithResponse

public Response commitBlockListWithResponse(List base64BlockIds, BlobHttpHeaders headers, Map metadata, AccessTier tier, BlobRequestConditions requestConditions, Duration timeout, Context context)

Schreibt ein Blob, indem die Liste der Block-IDs angegeben wird, die das Blob bilden sollen. Um als Teil eines Blobs geschrieben zu werden, muss ein Block in einem vorherigen stageBlock-Vorgang erfolgreich auf den Server geschrieben worden sein. Sie können commitBlockList aufrufen, um ein Blob zu aktualisieren, indem Sie nur die Blöcke hochladen, die sich geändert haben, und dann die neuen und vorhandenen Blöcke zusammen commitsieren. Alle Blöcke, die nicht in der Blockliste angegeben und endgültig gelöscht wurden. Weitere Informationen finden Sie in der Azure-Dokumentation.

Um das Überschreiben zu vermeiden, übergeben Sie "*" an setIfNoneMatch(String ifNoneMatch).

Codebeispiele

BlobHttpHeaders headers = new BlobHttpHeaders()
     .setContentMd5(MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8)))
     .setContentLanguage("en-US")
     .setContentType("binary");

 Map<String, String> metadata = Collections.singletonMap("metadata", "value");
 BlobRequestConditions requestConditions = new BlobRequestConditions()
     .setLeaseId(leaseId)
     .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
 Context context = new Context("key", "value");

 System.out.printf("Committing block list completed with status %d%n",
     client.commitBlockListWithResponse(Collections.singletonList(base64BlockId), headers, metadata,
         AccessTier.HOT, requestConditions, timeout, context).getStatusCode());

Parameter:

base64BlockIds - Eine Liste der Base64-Codierungen String, die die zu commitden Block-IDs angibt.
headers - BlobHttpHeaders
metadata - Metadaten, die dem Blob zugeordnet werden sollen. Wenn in einem Metadatenschlüssel oder -wert führende oder nachfolgende Leerzeichen vorhanden sind, muss er entfernt oder codiert werden.
tier - AccessTier für das Zielblob.
requestConditions - BlobRequestConditions
timeout - Ein optionaler Timeoutwert, über den ein RuntimeException ausgelöst wird.
context - Zusätzlicher Kontext, der während des Dienstaufrufs über die HTTP-Pipeline übergeben wird.

Gibt zurück:

Die Informationen des Blockblobs.

getBlobOutputStream

public BlobOutputStream getBlobOutputStream()

Erstellt und öffnet einen Ausgabestream, um Daten in das Blockblob zu schreiben.

Hinweis: Es wird empfohlen, das Schreiben mit Puffern mit angemessener Größe aufzurufen. Dies können Sie tun, indem Sie den unten abgerufenen BlobOutputStream mit einem BufferedOutputStream umschließen.

Gibt zurück:

Ein BlobOutputStream Objekt, das zum Schreiben von Daten in das Blob verwendet wird.

getBlobOutputStream

public BlobOutputStream getBlobOutputStream(boolean overwrite)

Erstellt und öffnet einen Ausgabestream, um Daten in das Blockblob zu schreiben.

Hinweis: Es wird empfohlen, das Schreiben mit Puffern mit angemessener Größe aufzurufen. Dies können Sie tun, indem Sie den unten abgerufenen BlobOutputStream mit einem BufferedOutputStream umschließen.

Parameter:

overwrite - Ob überschrieben werden soll, sollten Daten im Blob vorhanden sein.

Gibt zurück:

Ein BlobOutputStream Objekt, das zum Schreiben von Daten in das Blob verwendet wird.

getBlobOutputStream

public BlobOutputStream getBlobOutputStream(BlobRequestConditions requestConditions)

Erstellt und öffnet einen Ausgabestream, um Daten in das Blockblob zu schreiben. Wenn das Blob bereits im Dienst vorhanden ist, wird es überschrieben.

Um das Überschreiben zu vermeiden, übergeben Sie "*" an setIfNoneMatch(String ifNoneMatch).

Hinweis: Es wird empfohlen, das Schreiben mit Puffern mit angemessener Größe aufzurufen. Dies können Sie tun, indem Sie den unten abgerufenen BlobOutputStream mit einem BufferedOutputStream umschließen.

Parameter:

requestConditions - Ein BlobRequestConditions -Objekt, das die Zugriffsbedingungen für das Blob darstellt.

Gibt zurück:

Ein BlobOutputStream Objekt, das zum Schreiben von Daten in das Blob verwendet wird.

getBlobOutputStream

public BlobOutputStream getBlobOutputStream(ParallelTransferOptions parallelTransferOptions, BlobHttpHeaders headers, Map metadata, AccessTier tier, BlobRequestConditions requestConditions)

Erstellt und öffnet einen Ausgabestream, um Daten in das Blockblob zu schreiben. Wenn das Blob bereits im Dienst vorhanden ist, wird es überschrieben.

Um das Überschreiben zu vermeiden, übergeben Sie "*" an setIfNoneMatch(String ifNoneMatch).

Hinweis: Es wird empfohlen, das Schreiben mit Puffern mit angemessener Größe aufzurufen. Dies können Sie tun, indem Sie den unten abgerufenen BlobOutputStream mit einem BufferedOutputStream umschließen.

Parameter:

parallelTransferOptions - ParallelTransferOptions wird zum Konfigurieren des gepufferten Uploads verwendet.
headers - BlobHttpHeaders
metadata - Metadaten, die dem Blob zugeordnet werden sollen. Wenn in einem Metadatenschlüssel oder -wert führende oder nachfolgende Leerzeichen vorhanden sind, muss er entfernt oder codiert werden.
tier - AccessTier für das Zielblob.
requestConditions - BlobRequestConditions

Gibt zurück:

Ein BlobOutputStream Objekt, das zum Schreiben von Daten in das Blob verwendet wird.

getBlobOutputStream

public BlobOutputStream getBlobOutputStream(BlockBlobOutputStreamOptions options)

Erstellt und öffnet einen Ausgabestream, um Daten in das Blockblob zu schreiben. Wenn das Blob bereits im Dienst vorhanden ist, wird es überschrieben.

Um das Überschreiben zu vermeiden, übergeben Sie "*" an setIfNoneMatch(String ifNoneMatch).

Hinweis: Es wird empfohlen, das Schreiben mit Puffern mit angemessener Größe aufzurufen. Dies können Sie tun, indem Sie den unten abgerufenen BlobOutputStream mit einem BufferedOutputStream umschließen.

Parameter:

Gibt zurück:

Ein BlobOutputStream Objekt, das zum Schreiben von Daten in das Blob verwendet wird.

getBlobOutputStream

public BlobOutputStream getBlobOutputStream(BlockBlobOutputStreamOptions options, Context context)

Erstellt und öffnet einen Ausgabestream, um Daten in das Blockblob zu schreiben. Wenn das Blob bereits im Dienst vorhanden ist, wird es überschrieben.

Um das Überschreiben zu vermeiden, übergeben Sie "*" an setIfNoneMatch(String ifNoneMatch).

Hinweis: Es wird empfohlen, das Schreiben mit Puffern mit angemessener Größe aufzurufen. Dies können Sie tun, indem Sie den unten abgerufenen BlobOutputStream mit einem BufferedOutputStream umschließen.

Parameter:

context - Zusätzlicher Kontext, der während des Dienstaufrufs über die HTTP-Pipeline übergeben wird.

Gibt zurück:

Ein BlobOutputStream Objekt, das zum Schreiben von Daten in das Blob verwendet wird.

getCustomerProvidedKeyClient

public BlockBlobClient getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)

Erstellt einen neuen BlockBlobClient mit dem angegebenen customerProvidedKey.

Überschreibt:

BlockBlobClient.getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)

Parameter:

customerProvidedKey - für CustomerProvidedKey das Blob übergeben null , um keinen vom Kunden bereitgestellten Schlüssel zu verwenden.

Gibt zurück:

a BlockBlobClient mit dem angegebenen customerProvidedKey.

getEncryptionScopeClient

public BlockBlobClient getEncryptionScopeClient(String encryptionScope)

Erstellt einen neuen BlockBlobClient mit dem angegebenen encryptionScope.

Überschreibt:

BlockBlobClient.getEncryptionScopeClient(String encryptionScope)

Parameter:

encryptionScope - der Verschlüsselungsbereich für das Blob, übergeben null , um keinen Verschlüsselungsbereich zu verwenden.

Gibt zurück:

a BlockBlobClient mit dem angegebenen encryptionScope.

listBlocks

public BlockList listBlocks(BlockListType listType)

Gibt die Liste der Blöcke zurück, die als Teil eines Blockblobs mithilfe des angegebenen Blocklistenfilters hochgeladen wurden. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

BlockList block = client.listBlocks(BlockListType.ALL);

 System.out.println("Committed Blocks:");
 block.getCommittedBlocks().forEach(b -> System.out.printf("Name: %s, Size: %d", b.getName(), b.getSizeLong()));

 System.out.println("Uncommitted Blocks:");
 block.getUncommittedBlocks().forEach(b -> System.out.printf("Name: %s, Size: %d", b.getName(), b.getSizeLong()));

Parameter:

listType - Gibt an, welcher Typ von Blöcken zurückgegeben werden soll.

Gibt zurück:

Die Liste der Blöcke.

listBlocksWithResponse

public Response listBlocksWithResponse(BlockListType listType, String leaseId, Duration timeout, Context context)

Gibt die Liste der Blöcke zurück, die als Teil eines Blockblobs mithilfe des angegebenen Blocklistenfilters hochgeladen wurden. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

Context context = new Context("key", "value");
 BlockList block = client.listBlocksWithResponse(BlockListType.ALL, leaseId, timeout, context).getValue();

 System.out.println("Committed Blocks:");
 block.getCommittedBlocks().forEach(b -> System.out.printf("Name: %s, Size: %d", b.getName(), b.getSizeLong()));

 System.out.println("Uncommitted Blocks:");
 block.getUncommittedBlocks().forEach(b -> System.out.printf("Name: %s, Size: %d", b.getName(), b.getSizeLong()));

Parameter:

listType - Gibt an, welcher Typ von Blöcken zurückgegeben werden soll.
leaseId - Die Lease-ID, mit der die aktive Lease für das Blob übereinstimmen muss.
timeout - Ein optionaler Timeoutwert, ab dem ein RuntimeException ausgelöst wird.
context - Zusätzlicher Kontext, der während des Dienstaufrufs über die HTTP-Pipeline übergeben wird.

Gibt zurück:

Die Liste der Blöcke.

listBlocksWithResponse

public Response listBlocksWithResponse(BlockBlobListBlocksOptions options, Duration timeout, Context context)

Gibt die Liste der Blöcke zurück, die als Teil eines Blockblobs mithilfe des angegebenen Blocklistenfilters hochgeladen wurden. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

Context context = new Context("key", "value");
 BlockList block = client.listBlocksWithResponse(new BlockBlobListBlocksOptions(BlockListType.ALL)
     .setLeaseId(leaseId)
     .setIfTagsMatch(tags), timeout, context).getValue();

 System.out.println("Committed Blocks:");
 block.getCommittedBlocks().forEach(b -> System.out.printf("Name: %s, Size: %d", b.getName(), b.getSizeLong()));

 System.out.println("Uncommitted Blocks:");
 block.getUncommittedBlocks().forEach(b -> System.out.printf("Name: %s, Size: %d", b.getName(), b.getSizeLong()));

Parameter:

timeout - Ein optionaler Timeoutwert, ab dem ein RuntimeException ausgelöst wird.
context - Zusätzlicher Kontext, der während des Dienstaufrufs über die HTTP-Pipeline übergeben wird.

Gibt zurück:

Die Liste der Blöcke.

openSeekableByteChannelWrite

public SeekableByteChannel openSeekableByteChannelWrite(BlockBlobSeekableByteChannelWriteOptions options)

Öffnet einen suchbaren Bytekanal im schreibgeschützten Modus, um das Blob hochzuladen.

Parameter:

Gibt zurück:

Ein SeekableByteChannel -Objekt, das den Kanal darstellt, der zum Schreiben in das Blob verwendet werden soll.

stageBlock

public void stageBlock(String base64BlockId, BinaryData data)

Lädt den angegebenen Block in den "Stagingbereich" des Blockblobs hoch, um später durch einen Aufruf von commitBlockList committet zu werden. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

BinaryData binaryData = BinaryData.fromStream(data, length);
 client.stageBlock(base64BlockId, binaryData);

Parameter:

base64BlockId - Ein Base64-codierter String , der die ID für diesen Block angibt. Beachten Sie, dass alle Block-IDs für ein bestimmtes Blob die gleiche Länge aufweisen müssen.
data - Die Daten, die in den Block geschrieben werden sollen. Beachten Sie, dass diese BinaryData länge definiert sein muss und wiederspielbar sein muss, wenn Wiederholungsversuche aktiviert sind (Standard). Weitere Informationen finden Sie unter BinaryData#isReplayable().

stageBlock

public void stageBlock(String base64BlockId, InputStream data, long length)

Lädt den angegebenen Block in den "Stagingbereich" des Blockblobs hoch, um später durch einen Aufruf von commitBlockList committet zu werden. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

client.stageBlock(base64BlockId, data, length);

Parameter:

base64BlockId - Ein Base64-codierter String , der die ID für diesen Block angibt. Beachten Sie, dass alle Block-IDs für ein bestimmtes Blob die gleiche Länge aufweisen müssen.
data - Die Daten, die in den Block geschrieben werden sollen. Die Daten müssen markierbar sein. Dies ist, um Wiederholungen zu unterstützen. Wenn die Daten nicht markiert werden können, sollten Sie die Verwendung getBlobOutputStream() und das Schreiben in den zurückgegebenen OutputStream in Betracht ziehen. Alternativ können Sie erwägen, Ihre Datenquelle in einen BufferedInputStream einzuschließen, um Markunterstützung hinzuzufügen.
length - Die genaue Länge der Daten. Es ist wichtig, dass dieser Wert genau mit der Länge der in der bereitgestellten InputStreamDaten übereinstimmt.

stageBlockFromUrl

public void stageBlockFromUrl(String base64BlockId, String sourceUrl, BlobRange sourceRange)

Erstellt einen neuen Block, der als Teil eines Blobs committet wird, in dem der Inhalt aus einer URL gelesen wird. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

client.stageBlockFromUrl(base64BlockId, sourceUrl, new BlobRange(offset, count));

Parameter:

base64BlockId - Ein Base64-codierter String , der die ID für diesen Block angibt. Beachten Sie, dass alle Block-IDs für ein bestimmtes Blob die gleiche Länge aufweisen müssen.
sourceUrl - Die URL des Blobs, das die Quelle der Kopie sein wird. Ein Quellblob im selben Speicherkonto kann über einen freigegebenen Schlüssel authentifiziert werden. Wenn die Quelle jedoch ein Blob in einem anderen Konto ist, muss das Quellblob entweder öffentlich sein oder über eine Shared Access Signature authentifiziert werden. Wenn das Quellblob öffentlich ist, ist keine Authentifizierung erforderlich, um den Vorgang auszuführen.
sourceRange - BlobRange

stageBlockFromUrlWithResponse

public Response stageBlockFromUrlWithResponse(BlockBlobStageBlockFromUrlOptions options, Duration timeout, Context context)

Erstellt einen neuen Block, der als Teil eines Blobs committet wird, in dem der Inhalt aus einer URL gelesen wird. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

BlobRequestConditions sourceRequestConditions = new BlobRequestConditions()
     .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
 Context context = new Context("key", "value");

 System.out.printf("Staging block from URL completed with status %d%n",
     client.stageBlockFromUrlWithResponse(new BlockBlobStageBlockFromUrlOptions(base64BlockId, sourceUrl)
         .setSourceRange(new BlobRange(offset, count)).setLeaseId(leaseId)
         .setSourceRequestConditions(sourceRequestConditions), timeout, context).getStatusCode());

Parameter:

options - Parameter für den Vorgang
timeout - Ein optionaler Timeoutwert, ab dem ein RuntimeException ausgelöst wird.
context - Zusätzlicher Kontext, der während des Dienstaufrufs über die HTTP-Pipeline übergeben wird.

Gibt zurück:

Eine Antwort mit status Code und HTTP-Headern

stageBlockFromUrlWithResponse

public Response stageBlockFromUrlWithResponse(String base64BlockId, String sourceUrl, BlobRange sourceRange, byte[] sourceContentMd5, String leaseId, BlobRequestConditions sourceRequestConditions, Duration timeout, Context context)

Erstellt einen neuen Block, der als Teil eines Blobs committet wird, in dem der Inhalt aus einer URL gelesen wird. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

BlobRequestConditions sourceRequestConditions = new BlobRequestConditions()
     .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
 Context context = new Context("key", "value");

 System.out.printf("Staging block from URL completed with status %d%n",
     client.stageBlockFromUrlWithResponse(base64BlockId, sourceUrl, new BlobRange(offset, count), null,
         leaseId, sourceRequestConditions, timeout, context).getStatusCode());

Parameter:

base64BlockId - Ein Base64-codierter String , der die ID für diesen Block angibt. Beachten Sie, dass alle Block-IDs für ein bestimmtes Blob die gleiche Länge aufweisen müssen.
sourceUrl - Die URL des Blobs, das die Quelle der Kopie sein wird. Ein Quellblob im selben Speicherkonto kann über einen freigegebenen Schlüssel authentifiziert werden. Wenn die Quelle jedoch ein Blob in einem anderen Konto ist, muss das Quellblob entweder öffentlich sein oder über eine Shared Access Signature authentifiziert werden. Wenn das Quellblob öffentlich ist, ist keine Authentifizierung erforderlich, um den Vorgang auszuführen.
sourceRange - BlobRange
sourceContentMd5 - Ein MD5-Hash des Blockinhalts. Mithilfe des Hashs wird die Integrität des Blocks während der Übertragung überprüft. Bei Angabe dieses Headers vergleicht der Speicherdienst den Hash des eingegangenen Inhalts mit diesem Headerwert. Beachten Sie, dass dieser MD5-Hash nicht mit dem BLOB gespeichert wird. Wenn die beiden Hashes nicht übereinstimmen, schlägt der Vorgang fehl.
leaseId - Die Lease-ID, mit der die aktive Lease für das Blob übereinstimmen muss.
sourceRequestConditions - BlobRequestConditions
timeout - Ein optionaler Timeoutwert, ab dem ein RuntimeException ausgelöst wird.
context - Zusätzlicher Kontext, der während des Dienstaufrufs über die HTTP-Pipeline übergeben wird.

Gibt zurück:

Eine Antwort mit status Code und HTTP-Headern

stageBlockWithResponse

public Response stageBlockWithResponse(BlockBlobStageBlockOptions options, Duration timeout, Context context)

Lädt den angegebenen Block in den "Stagingbereich" des Blockblobs hoch, um später durch einen Aufruf von commitBlockList committet zu werden. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

Context context = new Context("key", "value");
 BinaryData binaryData = BinaryData.fromStream(data, length);
 BlockBlobStageBlockOptions options = new BlockBlobStageBlockOptions(base64BlockId, binaryData)
     .setContentMd5(md5)
     .setLeaseId(leaseId);
 System.out.printf("Staging block completed with status %d%n",
     client.stageBlockWithResponse(options, timeout, context).getStatusCode());

Parameter:

timeout - Ein optionaler Timeoutwert, ab dem ein RuntimeException ausgelöst wird.
context - Zusätzlicher Kontext, der während des Dienstaufrufs über die HTTP-Pipeline übergeben wird.

Gibt zurück:

Eine Antwort mit status Code und HTTP-Headern

stageBlockWithResponse

public Response stageBlockWithResponse(String base64BlockId, InputStream data, long length, byte[] contentMd5, String leaseId, Duration timeout, Context context)

Lädt den angegebenen Block in den "Stagingbereich" des Blockblobs hoch, um später durch einen Aufruf von commitBlockList committet zu werden. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

Context context = new Context("key", "value");
 System.out.printf("Staging block completed with status %d%n",
     client.stageBlockWithResponse(base64BlockId, data, length, md5, leaseId, timeout, context).getStatusCode());

Parameter:

base64BlockId - Ein Base64-codierter String , der die ID für diesen Block angibt. Beachten Sie, dass alle Block-IDs für ein bestimmtes Blob die gleiche Länge aufweisen müssen.
data - Die Daten, die in den Block geschrieben werden sollen. Die Daten müssen markierbar sein. Dies ist, um Wiederholungen zu unterstützen. Wenn die Daten nicht markiert werden können, sollten Sie die Verwendung getBlobOutputStream() und das Schreiben in den zurückgegebenen OutputStream in Betracht ziehen. Alternativ können Sie erwägen, Ihre Datenquelle in einen BufferedInputStream einzuschließen, um Markunterstützung hinzuzufügen.
length - Die genaue Länge der Daten. Es ist wichtig, dass dieser Wert genau mit der Länge der in der bereitgestellten InputStreamDaten übereinstimmt.
contentMd5 - Ein MD5-Hash des Blockinhalts. Mithilfe des Hashs wird die Integrität des Blocks während der Übertragung überprüft. Bei Angabe dieses Headers vergleicht der Speicherdienst den Hash des eingegangenen Inhalts mit diesem Headerwert. Beachten Sie, dass dieser MD5-Hash nicht mit dem BLOB gespeichert wird. Wenn die beiden Hashes nicht übereinstimmen, schlägt der Vorgang fehl.
leaseId - Die Lease-ID, mit der die aktive Lease im Blob übereinstimmen muss.
timeout - Ein optionaler Timeoutwert, ab dem ein RuntimeException ausgelöst wird.
context - Zusätzlicher Kontext, der während des Dienstaufrufs über die HTTP-Pipeline übergeben wird.

Gibt zurück:

Eine Antwort mit status Code und HTTP-Headern

upload

public BlockBlobItem upload(BinaryData data)

Erstellt ein neues Blockblob. Standardmäßig überschreibt diese Methode kein vorhandenes Blob. Beim Aktualisieren eines vorhandenen Block-BLOB werden alle vorhandenen Metadaten im BLOB überschrieben. Teilupdates werden mit PutBlob nicht unterstützt. Der Inhalt des vorhandenen Blobs wird mit dem neuen Inhalt überschrieben. Um eine partielle Aktualisierung eines Blockblobs durchzuführen, verwenden Sie PutBlock und PutBlockList. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

BinaryData binaryData = BinaryData.fromStream(data, length);
 System.out.printf("Uploaded BlockBlob MD5 is %s%n",
     Base64.getEncoder().encodeToString(client.upload(binaryData).getContentMd5()));

Parameter:

data - Die Daten, die in den Block geschrieben werden sollen. Beachten Sie, dass diese BinaryData länge definiert sein muss und wiederspielbar sein muss, wenn Wiederholungsversuche aktiviert sind (Standard). Weitere Informationen finden Sie unter BinaryData#isReplayable().

Gibt zurück:

Die Informationen des hochgeladenen Blockblobs.

upload

public BlockBlobItem upload(BinaryData data, boolean overwrite)

Erstellt ein neues Blockblob oder aktualisiert den Inhalt eines vorhandenen Blockblobs. Beim Aktualisieren eines vorhandenen Block-BLOB werden alle vorhandenen Metadaten im BLOB überschrieben. Teilupdates werden mit PutBlob nicht unterstützt. Der Inhalt des vorhandenen Blobs wird mit dem neuen Inhalt überschrieben. Um eine partielle Aktualisierung eines Blockblobs durchzuführen, verwenden Sie PutBlock und PutBlockList. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

boolean overwrite = false;
 BinaryData binaryData = BinaryData.fromStream(data, length);
 System.out.printf("Uploaded BlockBlob MD5 is %s%n",
     Base64.getEncoder().encodeToString(client.upload(binaryData, overwrite).getContentMd5()));

Parameter:

data - Die Daten, die in den Block geschrieben werden sollen. Beachten Sie, dass diese BinaryData länge definiert sein muss und wiederspielbar sein muss, wenn Wiederholungsversuche aktiviert sind (Standard). Weitere Informationen finden Sie unter BinaryData#isReplayable().
overwrite - Ob überschrieben werden soll, sollten Daten im Blob vorhanden sein.

Gibt zurück:

Die Informationen des hochgeladenen Blockblobs.

upload

public BlockBlobItem upload(InputStream data, long length)

Erstellt ein neues Blockblob. Standardmäßig überschreibt diese Methode kein vorhandenes Blob. Beim Aktualisieren eines vorhandenen Block-BLOB werden alle vorhandenen Metadaten im BLOB überschrieben. Teilupdates werden mit PutBlob nicht unterstützt. Der Inhalt des vorhandenen Blobs wird mit dem neuen Inhalt überschrieben. Um eine partielle Aktualisierung eines Blockblobs durchzuführen, verwenden Sie PutBlock und PutBlockList. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

System.out.printf("Uploaded BlockBlob MD5 is %s%n",
     Base64.getEncoder().encodeToString(client.upload(data, length).getContentMd5()));

Parameter:

data - Die Daten, die in das Blob geschrieben werden sollen. Die Daten müssen markierbar sein. Dies ist, um Wiederholungen zu unterstützen. Wenn die Daten nicht markiert werden können, sollten Sie die Verwendung getBlobOutputStream() und das Schreiben in den zurückgegebenen OutputStream in Betracht ziehen. Alternativ können Sie erwägen, Ihre Datenquelle in einen BufferedInputStream einzuschließen, um Markunterstützung hinzuzufügen.
length - Die genaue Länge der Daten. Es ist wichtig, dass dieser Wert genau mit der Länge der in der bereitgestellten InputStreamDaten übereinstimmt.

Gibt zurück:

Die Informationen des hochgeladenen Blockblobs.

upload

public BlockBlobItem upload(InputStream data, long length, boolean overwrite)

Erstellt ein neues Blockblob oder aktualisiert den Inhalt eines vorhandenen Blockblobs. Beim Aktualisieren eines vorhandenen Block-BLOB werden alle vorhandenen Metadaten im BLOB überschrieben. Teilupdates werden mit PutBlob nicht unterstützt. Der Inhalt des vorhandenen Blobs wird mit dem neuen Inhalt überschrieben. Um eine partielle Aktualisierung eines Blockblobs durchzuführen, verwenden Sie PutBlock und PutBlockList. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

boolean overwrite = false;
 System.out.printf("Uploaded BlockBlob MD5 is %s%n",
     Base64.getEncoder().encodeToString(client.upload(data, length, overwrite).getContentMd5()));

Parameter:

data - Die Daten, die in das Blob geschrieben werden sollen. Die Daten müssen markierbar sein. Dies ist, um Wiederholungen zu unterstützen. Wenn die Daten nicht markiert werden können, sollten Sie die Verwendung getBlobOutputStream() und das Schreiben in den zurückgegebenen OutputStream in Betracht ziehen. Alternativ können Sie erwägen, Ihre Datenquelle in einen BufferedInputStream einzuschließen, um Markunterstützung hinzuzufügen.
length - Die genaue Länge der Daten. Es ist wichtig, dass dieser Wert genau mit der Länge der in der bereitgestellten InputStreamDaten übereinstimmt.
overwrite - Ob überschrieben werden soll, sollten Daten im Blob vorhanden sein.

Gibt zurück:

Die Informationen des hochgeladenen Blockblobs.

uploadFromUrl

public BlockBlobItem uploadFromUrl(String sourceUrl)

Erstellt ein neues Blockblob oder aktualisiert den Inhalt eines vorhandenen Blockblobs.

Beim Aktualisieren eines vorhandenen Block-BLOB werden alle vorhandenen Metadaten im BLOB überschrieben. Partielle Updates werden mit PutBlobFromUrl nicht unterstützt. Der Inhalt des vorhandenen Blobs wird mit dem neuen Inhalt überschrieben. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

System.out.printf("Uploaded BlockBlob from URL, MD5 is %s%n",
     Base64.getEncoder().encodeToString(client.uploadFromUrl(sourceUrl).getContentMd5()));

Parameter:

sourceUrl - Die Quell-URL, aus der hochgeladen werden soll.

Gibt zurück:

Die Informationen des hochgeladenen Blockblobs.

uploadFromUrl

public BlockBlobItem uploadFromUrl(String sourceUrl, boolean overwrite)

Erstellt ein neues Blockblob oder aktualisiert den Inhalt eines vorhandenen Blockblobs.

Beim Aktualisieren eines vorhandenen Block-BLOB werden alle vorhandenen Metadaten im BLOB überschrieben. Partielle Updates werden mit PutBlobFromUrl nicht unterstützt. Der Inhalt des vorhandenen Blobs wird mit dem neuen Inhalt überschrieben. Weitere Informationen finden Sie in der Azure-Dokumentation.

Codebeispiele

boolean overwrite = false;
 System.out.printf("Uploaded BlockBlob from URL, MD5 is %s%n",
     Base64.getEncoder().encodeToString(client.uploadFromUrl(sourceUrl, overwrite).getContentMd5()));

Parameter:

sourceUrl - Die Quell-URL, aus der hochgeladen werden soll.
overwrite - Ob überschrieben werden soll, sollten Daten im Blob vorhanden sein.

Gibt zurück:

Die Informationen des hochgeladenen Blockblobs.

uploadFromUrlWithResponse

public Response uploadFromUrlWithResponse(BlobUploadFromUrlOptions options, Duration timeout, Context context)

Erstellt ein neues Blockblob oder aktualisiert den Inhalt eines vorhandenen Blockblobs.

Beim Aktualisieren eines vorhandenen Block-BLOB werden alle vorhandenen Metadaten im BLOB überschrieben. Partielle Updates werden mit PutBlobFromUrl nicht unterstützt. Der Inhalt des vorhandenen Blobs wird mit dem neuen Inhalt überschrieben. Weitere Informationen finden Sie in der Azure-Dokumentation.

Um ein Überschreiben zu vermeiden, übergeben Sie "*" an setIfNoneMatch(String ifNoneMatch).

Codebeispiele

BlobHttpHeaders headers = new BlobHttpHeaders()
     .setContentMd5(MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8)))
     .setContentLanguage("en-US")
     .setContentType("binary");

 Map<String, String> metadata = Collections.singletonMap("metadata", "value");
 Map<String, String> tags = Collections.singletonMap("tag", "value");

 byte[] md5 = MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8));

 BlobRequestConditions requestConditions = new BlobRequestConditions()
     .setLeaseId(leaseId)
     .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
 Context context = new Context("key", "value");

 System.out.printf("Uploaded BlockBlob MD5 is %s%n", Base64.getEncoder()
     .encodeToString(client.uploadFromUrlWithResponse(new BlobUploadFromUrlOptions(sourceUrl)
         .setHeaders(headers).setTags(tags).setTier(AccessTier.HOT).setContentMd5(md5)
         .setDestinationRequestConditions(requestConditions), timeout, context)
         .getValue()
         .getContentMd5()));

Parameter:

timeout - Ein optionaler Timeoutwert, ab dem ein RuntimeException ausgelöst wird.
context - Zusätzlicher Kontext, der während des Dienstaufrufs über die HTTP-Pipeline übergeben wird.

Gibt zurück:

Die Informationen des hochgeladenen Blockblobs.

uploadWithResponse

public Response uploadWithResponse(BlockBlobSimpleUploadOptions options, Duration timeout, Context context)

Erstellt ein neues Blockblob oder aktualisiert den Inhalt eines vorhandenen Blockblobs. Beim Aktualisieren eines vorhandenen Block-BLOB werden alle vorhandenen Metadaten im BLOB überschrieben. Teilupdates werden mit PutBlob nicht unterstützt. Der Inhalt des vorhandenen Blobs wird mit dem neuen Inhalt überschrieben. Um eine partielle Aktualisierung eines Blockblobs durchzuführen, verwenden Sie PutBlock und PutBlockList. Weitere Informationen finden Sie in der Azure-Dokumentation.

Um ein Überschreiben zu vermeiden, übergeben Sie "*" an setIfNoneMatch(String ifNoneMatch).

Codebeispiele

BlobHttpHeaders headers = new BlobHttpHeaders()
     .setContentMd5(MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8)))
     .setContentLanguage("en-US")
     .setContentType("binary");

 Map<String, String> metadata = Collections.singletonMap("metadata", "value");
 Map<String, String> tags = Collections.singletonMap("tag", "value");

 byte[] md5 = MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8));

 BlobRequestConditions requestConditions = new BlobRequestConditions()
     .setLeaseId(leaseId)
     .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
 Context context = new Context("key", "value");

 System.out.printf("Uploaded BlockBlob MD5 is %s%n", Base64.getEncoder()
     .encodeToString(client.uploadWithResponse(new BlockBlobSimpleUploadOptions(data, length)
         .setHeaders(headers).setMetadata(metadata).setTags(tags).setTier(AccessTier.HOT).setContentMd5(md5)
         .setRequestConditions(requestConditions), timeout, context)
         .getValue()
         .getContentMd5()));

Parameter:

timeout - Ein optionaler Timeoutwert, ab dem ein RuntimeException ausgelöst wird.
context - Zusätzlicher Kontext, der während des Dienstaufrufs über die HTTP-Pipeline übergeben wird.

Gibt zurück:

Die Informationen des hochgeladenen Blockblobs.

uploadWithResponse

public Response uploadWithResponse(InputStream data, long length, BlobHttpHeaders headers, Map metadata, AccessTier tier, byte[] contentMd5, BlobRequestConditions requestConditions, Duration timeout, Context context)

Erstellt ein neues Blockblob oder aktualisiert den Inhalt eines vorhandenen Blockblobs. Beim Aktualisieren eines vorhandenen Block-BLOB werden alle vorhandenen Metadaten im BLOB überschrieben. Teilupdates werden mit PutBlob nicht unterstützt. Der Inhalt des vorhandenen Blobs wird mit dem neuen Inhalt überschrieben. Um eine partielle Aktualisierung eines Blockblobs durchzuführen, verwenden Sie PutBlock und PutBlockList. Weitere Informationen finden Sie in der Azure-Dokumentation.

Um ein Überschreiben zu vermeiden, übergeben Sie "*" an setIfNoneMatch(String ifNoneMatch).

Codebeispiele

BlobHttpHeaders headers = new BlobHttpHeaders()
     .setContentMd5(MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8)))
     .setContentLanguage("en-US")
     .setContentType("binary");

 Map<String, String> metadata = Collections.singletonMap("metadata", "value");

 byte[] md5 = MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8));

 BlobRequestConditions requestConditions = new BlobRequestConditions()
     .setLeaseId(leaseId)
     .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
 Context context = new Context("key", "value");

 System.out.printf("Uploaded BlockBlob MD5 is %s%n", Base64.getEncoder()
     .encodeToString(client.uploadWithResponse(data, length, headers, metadata, AccessTier.HOT, md5,
         requestConditions, timeout, context)
         .getValue()
         .getContentMd5()));

Parameter:

data - Die Daten, die in das Blob geschrieben werden sollen. Die Daten müssen markierbar sein. Dies ist, um Wiederholungen zu unterstützen. Wenn die Daten nicht markiert werden können, erwägen Sie die Verwendung getBlobOutputStream() und das Schreiben in den zurückgegebenen OutputStream. Alternativ können Sie ihre Datenquelle in einen BufferedInputStream umschließen, um Markierungsunterstützung hinzuzufügen.
length - Die genaue Länge der Daten. Es ist wichtig, dass dieser Wert genau mit der Länge der in bereitgestellten InputStreamDaten übereinstimmt.
headers - BlobHttpHeaders
metadata - Metadaten, die dem Blob zugeordnet werden sollen. Wenn in einem Metadatenschlüssel oder -wert führende oder nachfolgende Leerzeichen vorhanden sind, muss er entfernt oder codiert werden.
tier - AccessTier für das Zielblob.
contentMd5 - Ein MD5-Hash des Blockinhalts. Mithilfe des Hashs wird die Integrität des Blocks während der Übertragung überprüft. Bei Angabe dieses Headers vergleicht der Speicherdienst den Hash des eingegangenen Inhalts mit diesem Headerwert. Beachten Sie, dass dieser MD5-Hash nicht mit dem BLOB gespeichert wird. Wenn die beiden Hashes nicht übereinstimmen, schlägt der Vorgang fehl.
requestConditions - BlobRequestConditions
timeout - Ein optionaler Timeoutwert, über den ein RuntimeException ausgelöst wird.
context - Zusätzlicher Kontext, der während des Dienstaufrufs über die HTTP-Pipeline übergeben wird.

Gibt zurück:

Die Informationen des hochgeladenen Blockblobs.

Gilt für: