AppendBlobAsyncClient Klasse
- java.
lang. Object - com.
azure. storage. blob. specialized. BlobAsyncClientBase - com.
azure. storage. blob. specialized. AppendBlobAsyncClient
- com.
- com.
public final class AppendBlobAsyncClient
extends BlobAsyncClientBase
Client an ein Anfügeblob. Sie kann nur über oder buildAppendBlobAsyncClient() über die -Methode getAppendBlobAsyncClient()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.
Dieser Client enthält Vorgänge für ein Blob. Vorgänge für einen Container sind in BlobContainerAsyncClientverfügbar, und Vorgänge für den Dienst sind auf BlobServiceAsyncClientverfügbar.
Weitere Informationen finden Sie in der Azure-Dokumentation .
Beachten Sie, dass dieser Client ein asynchroner Client ist, der reaktive Antworten vom Spring Reactor Core-Projekt (https://projectreactor.io/) zurückgibt. Wenn Sie die Methoden in diesem Client aufrufen, wird der eigentliche Netzwerkvorgang ERST gestartet, wenn .subscribe()
für die reaktive Antwort aufgerufen wird. Sie können einfach eine dieser Antworten über Mono#toFuture()in ein CompletableFuture-Objekt konvertieren.
Feldzusammenfassung
Modifizierer und Typ | Feld und Beschreibung |
---|---|
static final int |
MAX_APPEND_BLOCK_BYTES
Als veraltet markiert
Verwenden Sie getMaxAppendBlockBytes().
Gibt die maximale Anzahl von Bytes an, die in einem Aufruf zum Anfügen |
static final int |
MAX_BLOCKS
Als veraltet markiert
Verwenden Sie getMaxBlocks().
Gibt die maximale Anzahl von Blöcken an, die in einem Anfügeblob zulässig sind. |
Methodenzusammenfassung
Geerbte Methoden von BlobAsyncClientBase
Geerbte Methoden von java.lang.Object
Felddetails
MAX_APPEND_BLOCK_BYTES
@Deprecated
public static final int MAX_APPEND_BLOCK_BYTES
Als veraltet markiert
Gibt die maximale Anzahl von Bytes an, die in einem Aufruf von appendBlock gesendet werden können.
MAX_BLOCKS
@Deprecated
public static final int MAX_BLOCKS
Als veraltet markiert
Gibt die maximale Anzahl von Blöcken an, die in einem Anfügeblob zulässig sind.
Details zur Methode
appendBlock
public Mono
Committent einen neuen Datenblock an das Ende des vorhandenen Anfügeblobs.
Beachten Sie, dass die übergebenen Daten wiedergegeben werden müssen, wenn Wiederholungsversuche aktiviert sind (Standard). Anders ausgedrückt: Die Flux
muss bei jedem Abonnieren die gleichen Daten erzeugen. Für Dienstversionen 2022-11-02 und höher beträgt die maximale Blockgröße 100 MB. Bei früheren Versionen beträgt die maximale Blockgröße 4 MB. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
client.appendBlock(data, length).subscribe(response ->
System.out.printf("AppendBlob has %d committed blocks%n", response.getBlobCommittedBlockCount()));
Parameter:
Flux
wiederverspielbar sein muss, wenn Wiederholungsversuche aktiviert sind (Standard). Anders ausgedrückt: Der Flux muss bei jeder abonnierten abonnierten Datei die gleichen Daten erzeugen.
Flux
Daten übereinstimmt.
Gibt zurück:
appendBlockFromUrl
public Mono
Committent einen neuen Datenblock aus einem anderen Blob an das Ende dieses Anfügeblobs.
Codebeispiele
client.appendBlockFromUrl(sourceUrl, new BlobRange(offset, count)).subscribe(response ->
System.out.printf("AppendBlob has %d committed blocks%n", response.getBlobCommittedBlockCount()));
Parameter:
Gibt zurück:
appendBlockFromUrlWithResponse
public Mono
Committent einen neuen Datenblock aus einem anderen Blob an das Ende dieses Anfügeblobs.
Codebeispiele
AppendBlobRequestConditions appendBlobRequestConditions = new AppendBlobRequestConditions()
.setAppendPosition(POSITION)
.setMaxSize(maxSize);
BlobRequestConditions modifiedRequestConditions = new BlobRequestConditions()
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
client.appendBlockFromUrlWithResponse(new AppendBlobAppendBlockFromUrlOptions(sourceUrl)
.setSourceRange(new BlobRange(offset, count))
.setDestinationRequestConditions(appendBlobRequestConditions)
.setSourceRequestConditions(modifiedRequestConditions)).subscribe(response ->
System.out.printf("AppendBlob has %d committed blocks%n", response.getValue().getBlobCommittedBlockCount()));
Parameter:
Gibt zurück:
appendBlockFromUrlWithResponse
public Mono
Committent einen neuen Datenblock aus einem anderen Blob an das Ende dieses Anfügeblobs.
Codebeispiele
AppendBlobRequestConditions appendBlobRequestConditions = new AppendBlobRequestConditions()
.setAppendPosition(POSITION)
.setMaxSize(maxSize);
BlobRequestConditions modifiedRequestConditions = new BlobRequestConditions()
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
client.appendBlockFromUrlWithResponse(sourceUrl, new BlobRange(offset, count), null,
appendBlobRequestConditions, modifiedRequestConditions).subscribe(response ->
System.out.printf("AppendBlob has %d committed blocks%n", response.getValue().getBlobCommittedBlockCount()));
Parameter:
Gibt zurück:
appendBlockWithResponse
public Mono
Committent einen neuen Datenblock an das Ende des vorhandenen Anfügeblobs.
Beachten Sie, dass die übergebenen Daten wiedergegeben werden müssen, wenn Wiederholungsversuche aktiviert sind (Standard). Anders ausgedrückt: Die Flux
muss jedes Mal dieselben Daten erzeugen, wenn sie abonniert werden. Für Dienstversionen 2022-11-02 und höher beträgt die maximale Blockgröße 100 MB. Bei früheren Versionen beträgt die maximale Blockgröße 4 MB. Weitere Informationen finden Sie in der Azure-Dokumentation.
Codebeispiele
byte[] md5 = MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8));
AppendBlobRequestConditions requestConditions = new AppendBlobRequestConditions()
.setAppendPosition(POSITION)
.setMaxSize(maxSize);
client.appendBlockWithResponse(data, length, md5, requestConditions).subscribe(response ->
System.out.printf("AppendBlob has %d committed blocks%n", response.getValue().getBlobCommittedBlockCount()));
Parameter:
Flux
wiedergabefähig sein muss, wenn Wiederholungen aktiviert sind (Standard). Anders ausgedrückt: Der Flux muss jedes Mal dieselben Daten erzeugen, wenn er abonniert wird.
Flux
Daten übereinstimmt.
Gibt zurück:
create
public Mono
Erstellt ein Anfügeblob mit 0 Längen. Rufen Sie appendBlock auf, um Daten an ein Anfügeblob anzufügen. Standardmäßig überschreibt diese Methode kein vorhandenes Blob.
Codebeispiele
client.create().subscribe(response ->
System.out.printf("Created AppendBlob at %s%n", response.getLastModified()));
Gibt zurück:
create
public Mono
Erstellt ein Anfügeblob mit 0 Längen. Rufen Sie appendBlock auf, um Daten an ein Anfügeblob anzufügen.
Codebeispiele
boolean overwrite = false; // Default behavior
client.create(overwrite).subscribe(response ->
System.out.printf("Created AppendBlob at %s%n", response.getLastModified()));
Parameter:
Gibt zurück:
createIfNotExists
public Mono
Erstellt ein Anfügeblob mit 0 Längen, wenn es nicht vorhanden ist. Rufen Sie appendBlock auf, um Daten an ein Anfügeblob anzufügen.
Codebeispiele
client.createIfNotExists().subscribe(response ->
System.out.printf("Created AppendBlob at %s%n", response.getLastModified()));
Gibt zurück:
createIfNotExistsWithResponse
public Mono
Erstellt ein Anfügeblob mit 0 Längen, wenn es nicht vorhanden ist. Rufen Sie appendBlock auf, um Daten an ein Anfügeblob anzufügen.
Codebeispiele
BlobHttpHeaders headers = new BlobHttpHeaders()
.setContentType("binary")
.setContentLanguage("en-US");
Map<String, String> metadata = Collections.singletonMap("metadata", "value");
Map<String, String> tags = Collections.singletonMap("tag", "value");
client.createIfNotExistsWithResponse(new AppendBlobCreateOptions().setHeaders(headers)
.setMetadata(metadata).setTags(tags)).subscribe(response -> {
if (response.getStatusCode() == 409) {
System.out.println("Already exists.");
} else {
System.out.println("successfully created.");
}
});
Parameter:
Gibt zurück:
createWithResponse
public Mono
Erstellt ein Anfügeblob mit 0 Längen. Rufen Sie appendBlock auf, um Daten an ein Anfügeblob anzufügen.
Um das Überschreiben zu vermeiden, übergeben Sie "*" an setIfNoneMatch(String ifNoneMatch).
Codebeispiele
BlobHttpHeaders headers = new BlobHttpHeaders()
.setContentType("binary")
.setContentLanguage("en-US");
Map<String, String> metadata = Collections.singletonMap("metadata", "value");
BlobRequestConditions requestConditions = new BlobRequestConditions().setLeaseId(leaseId)
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
client.createWithResponse(headers, metadata, requestConditions).subscribe(response ->
System.out.printf("Created AppendBlob at %s%n", response.getValue().getLastModified()));
Parameter:
Gibt zurück:
createWithResponse
public Mono
Erstellt ein Anfügeblob mit 0 Längen. Rufen Sie appendBlock auf, um Daten an ein Anfügeblob anzufügen.
Um das Überschreiben zu vermeiden, übergeben Sie "*" an setIfNoneMatch(String ifNoneMatch).
Codebeispiele
BlobHttpHeaders headers = new BlobHttpHeaders()
.setContentType("binary")
.setContentLanguage("en-US");
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));
client.createWithResponse(new AppendBlobCreateOptions().setHeaders(headers).setMetadata(metadata)
.setTags(tags).setRequestConditions(requestConditions)).subscribe(response ->
System.out.printf("Created AppendBlob at %s%n", response.getValue().getLastModified()));
Parameter:
Gibt zurück:
getCustomerProvidedKeyAsyncClient
public AppendBlobAsyncClient getCustomerProvidedKeyAsyncClient(CustomerProvidedKey customerProvidedKey)
Erstellt einen neuen AppendBlobAsyncClient mit dem angegebenen customerProvidedKey
.
Überschreibt:
AppendBlobAsyncClient.getCustomerProvidedKeyAsyncClient(CustomerProvidedKey customerProvidedKey)Parameter:
null
, um keinen vom Kunden bereitgestellten Schlüssel zu verwenden.
Gibt zurück:
customerProvidedKey
.getEncryptionScopeAsyncClient
public AppendBlobAsyncClient getEncryptionScopeAsyncClient(String encryptionScope)
Erstellt einen neuen AppendBlobAsyncClient mit dem angegebenen encryptionScope
.
Überschreibt:
AppendBlobAsyncClient.getEncryptionScopeAsyncClient(String encryptionScope)Parameter:
null
, um keinen Verschlüsselungsbereich zu verwenden.
Gibt zurück:
encryptionScope
.getMaxAppendBlockBytes
public int getMaxAppendBlockBytes()
Rufen Sie die maximale Anzahl von Anfügeblockbytes basierend auf der verwendeten Dienstversion ab. Die Dienstversionen 2022-11-02 und höher unterstützen das Hochladen von Blockbytes bis zu 100 MB, alle älteren Dienstversionen unterstützen bis zu 4 MB.
Gibt zurück:
getMaxBlocks
public int getMaxBlocks()
Rufen Sie die maximale Anzahl von Blöcken ab, die in einem Anfügeblob zulässig sind.
Gibt zurück:
seal
public Mono
Versiegelt ein Anfügeblob, sodass es schreibgeschützt ist. Bei nachfolgenden Anfügevorgängen tritt ein Fehler auf.
Codebeispiele
client.seal().subscribe(response -> System.out.println("Sealed AppendBlob"));
Gibt zurück:
sealWithResponse
public Mono
Versiegelt ein Anfügeblob, sodass es schreibgeschützt ist. Bei nachfolgenden Anfügevorgängen tritt ein Fehler auf.
Codebeispiele
AppendBlobRequestConditions requestConditions = new AppendBlobRequestConditions().setLeaseId(leaseId)
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
client.sealWithResponse(new AppendBlobSealOptions().setRequestConditions(requestConditions))
.subscribe(response -> System.out.println("Sealed AppendBlob"));
Parameter:
Gibt zurück:
Gilt für:
Azure SDK for Java