AppendBlobClient Klasse
- java.
lang. Object - com.
azure. storage. blob. specialized. BlobClientBase - com.
azure. storage. blob. specialized. AppendBlobClient
- com.
- com.
public final class AppendBlobClient
extends BlobClientBase
Client an ein Anfügeblob. Sie kann nur über oder SpecializedBlobClientBuilder über die -Methode getAppendBlobClient()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 BlobContainerClientverfügbar, und Vorgänge für den Dienst sind auf BlobServiceClientverfügbar.
Weitere Informationen finden Sie in der Azure-Dokumentation .
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 BlobClientBase
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 AppendBlobItem appendBlock(InputStream data, long length)
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
System.out.printf("AppendBlob has %d committed blocks%n",
client.appendBlock(data, length).getBlobCommittedBlockCount());
Parameter:
Flux
Daten übereinstimmt.
Gibt zurück:
appendBlockFromUrl
public AppendBlobItem appendBlockFromUrl(String sourceUrl, BlobRange sourceRange)
Committent einen neuen Datenblock aus einem anderen Blob an das Ende dieses Anfügeblobs.
Codebeispiele
System.out.printf("AppendBlob has %d committed blocks%n",
client.appendBlockFromUrl(sourceUrl, new BlobRange(offset, count)).getBlobCommittedBlockCount());
Parameter:
Gibt zurück:
appendBlockFromUrlWithResponse
public Response
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));
Context context = new Context("key", "value");
System.out.printf("AppendBlob has %d committed blocks%n",
client.appendBlockFromUrlWithResponse(new AppendBlobAppendBlockFromUrlOptions(sourceUrl)
.setSourceRange(new BlobRange(offset, count))
.setDestinationRequestConditions(appendBlobRequestConditions)
.setSourceRequestConditions(modifiedRequestConditions), timeout,
context).getValue().getBlobCommittedBlockCount());
Parameter:
Gibt zurück:
appendBlockFromUrlWithResponse
public Response
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));
Context context = new Context("key", "value");
System.out.printf("AppendBlob has %d committed blocks%n",
client.appendBlockFromUrlWithResponse(sourceUrl, new BlobRange(offset, count), null,
appendBlobRequestConditions, modifiedRequestConditions, timeout,
context).getValue().getBlobCommittedBlockCount());
Parameter:
Gibt zurück:
appendBlockWithResponse
public Response
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
byte[] md5 = MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8));
AppendBlobRequestConditions requestConditions = new AppendBlobRequestConditions()
.setAppendPosition(POSITION)
.setMaxSize(maxSize);
Context context = new Context("key", "value");
System.out.printf("AppendBlob has %d committed blocks%n",
client.appendBlockWithResponse(data, length, md5, requestConditions, timeout, context)
.getValue().getBlobCommittedBlockCount());
Parameter:
Flux
Daten übereinstimmt.
Gibt zurück:
create
public AppendBlobItem create()
Erstellt ein Anfügeblob mit einer Länge von 0 Länge. Rufen Sie appendBlock auf, um Daten an ein Anfügeblob anzufügen. Standardmäßig überschreibt diese Methode kein vorhandenes Blob.
Codebeispiele
System.out.printf("Created AppendBlob at %s%n", client.create().getLastModified());
Gibt zurück:
create
public AppendBlobItem create(boolean overwrite)
Erstellt ein Anfügeblob mit einer Länge von 0 Länge. Rufen Sie appendBlock auf, um Daten an ein Anfügeblob anzufügen.
Codebeispiele
boolean overwrite = false; // Default value
System.out.printf("Created AppendBlob at %s%n", client.create(overwrite).getLastModified());
Parameter:
Gibt zurück:
createIfNotExists
public AppendBlobItem createIfNotExists()
Erstellt ein Anfügeblob mit einer Länge von 0 Länge, wenn es nicht vorhanden ist. Rufen Sie appendBlock auf, um Daten an ein Anfügeblob anzufügen.
Codebeispiele
client.createIfNotExists();
System.out.println("Created AppendBlob");
Gibt zurück:
createIfNotExistsWithResponse
public Response
Erstellt ein Anfügeblob mit einer Länge von 0 Länge, 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("tags", "value");
Context context = new Context("key", "value");
Response<AppendBlobItem> response = client.createIfNotExistsWithResponse(new AppendBlobCreateOptions()
.setHeaders(headers).setMetadata(metadata).setTags(tags), timeout, context);
if (response.getStatusCode() == 409) {
System.out.println("Already existed.");
} else {
System.out.printf("Create completed with status %d%n", response.getStatusCode());
}
Parameter:
Gibt zurück:
createWithResponse
public Response
Erstellt ein Anfügeblob mit einer Länge von 0 Länge. Rufen Sie appendBlock auf, um Daten an ein Anfügeblob anzufügen.
Um ein Ü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));
Context context = new Context("key", "value");
System.out.printf("Created AppendBlob at %s%n",
client.createWithResponse(headers, metadata, requestConditions, timeout, context).getValue()
.getLastModified());
Parameter:
Gibt zurück:
createWithResponse
public Response
Erstellt ein Anfügeblob mit einer Länge von 0 Länge. Rufen Sie appendBlock auf, um Daten an ein Anfügeblob anzufügen.
Um ein Ü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("tags", "value");
BlobRequestConditions requestConditions = new BlobRequestConditions()
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
Context context = new Context("key", "value");
System.out.printf("Created AppendBlob at %s%n",
client.createWithResponse(new AppendBlobCreateOptions().setHeaders(headers).setMetadata(metadata)
.setTags(tags).setRequestConditions(requestConditions), timeout, context).getValue()
.getLastModified());
Parameter:
Gibt zurück:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream()
Erstellt und öffnet einen Ausgabedatenstrom, um Daten in das Anfügeblob zu schreiben. Wenn das Blob bereits im Dienst vorhanden ist, werden neue Daten an das vorhandene Blob angefügt.
Gibt zurück:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream(boolean overwrite)
Erstellt und öffnet einen Ausgabedatenstrom, um Daten in das Anfügeblob zu schreiben. Wenn überschreiben angegeben true
wird, wird das vorhandene Blob gelöscht und neu erstellt, falls Daten im Blob vorhanden sind. Wenn überschreiben angegeben false
ist, werden neue Daten an das vorhandene Blob angefügt.
Parameter:
Gibt zurück:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream(AppendBlobRequestConditions requestConditions)
Erstellt und öffnet einen Ausgabedatenstrom, um Daten in das Anfügeblob zu schreiben.
Parameter:
Gibt zurück:
getCustomerProvidedKeyClient
public AppendBlobClient getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)
Erstellt einen neuen AppendBlobClient mit dem angegebenen customerProvidedKey
.
Überschreibt:
AppendBlobClient.getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)Parameter:
null
, um keinen vom Kunden bereitgestellten Schlüssel zu verwenden.
Gibt zurück:
customerProvidedKey
.getEncryptionScopeClient
public AppendBlobClient getEncryptionScopeClient(String encryptionScope)
Erstellt einen neuen AppendBlobClient mit dem angegebenen encryptionScope
.
Überschreibt:
AppendBlobClient.getEncryptionScopeClient(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 void seal()
Versiegelt ein Anfügeblob, sodass es schreibgeschützt ist. Bei nachfolgenden Anfügevorgängen tritt ein Fehler auf.
Codebeispiele
client.seal();
System.out.println("Sealed AppendBlob");
sealWithResponse
public Response
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));
Context context = new Context("key", "value");
client.sealWithResponse(new AppendBlobSealOptions().setRequestConditions(requestConditions), timeout, context);
System.out.println("Sealed AppendBlob");
Parameter:
Gibt zurück:
Gilt für:
Azure SDK for Java