BlockBlobClient クラス
- java.
lang. Object - com.
azure. storage. blob. specialized. BlobClientBase - com.
azure. storage. blob. specialized. BlockBlobClient
- com.
- com.
public final class BlockBlobClient
extends BlobClientBase
ブロック BLOB へのクライアント。 インスタンス化できるのは、 または メソッドgetBlockBlobClient()を使用SpecializedBlobClientBuilderする場合のみです。 このクラスは特定の BLOB に関する状態を保持しませんが、代わりにサービス上のリソースに適切な要求を送信する便利な方法です。
詳細については、 Azure Docs を参照してください。
フィールドの概要
修飾子と型 | フィールドと説明 |
---|---|
static final int |
MAX_BLOCKS
ブロック BLOB で許可されるブロックの最大数を示します。 |
static final int |
MAX_STAGE_BLOCK_BYTES
非推奨
MAX_STAGE_BLOCK_BYTES_LONG を使用します
ステージ |
static final long |
MAX_STAGE_BLOCK_BYTES_LONG
ステージ |
static final int |
MAX_UPLOAD_BLOB_BYTES
非推奨
MAX_STAGE_BLOCK_BYTES_LONG を使用してください。
アップロードする呼び出しで送信できる最大バイト数を示します。 |
static final long |
MAX_UPLOAD_BLOB_BYTES_LONG
アップロードする呼び出しで送信できる最大バイト数を示します。 |
メソッドの概要
メソッドの継承元: BlobClientBase
メソッドの継承元: java.lang.Object
フィールドの詳細
MAX_BLOCKS
public static final int MAX_BLOCKS
ブロック BLOB で許可されるブロックの最大数を示します。
MAX_STAGE_BLOCK_BYTES
@Deprecated
public static final int MAX_STAGE_BLOCK_BYTES
非推奨
stageBlock の呼び出しで送信できる最大バイト数を示します。
MAX_STAGE_BLOCK_BYTES_LONG
public static final long MAX_STAGE_BLOCK_BYTES_LONG
stageBlock の呼び出しで送信できる最大バイト数を示します。
MAX_UPLOAD_BLOB_BYTES
@Deprecated
public static final int MAX_UPLOAD_BLOB_BYTES
非推奨
アップロードする呼び出しで送信できる最大バイト数を示します。
MAX_UPLOAD_BLOB_BYTES_LONG
public static final long MAX_UPLOAD_BLOB_BYTES_LONG
アップロードする呼び出しで送信できる最大バイト数を示します。
メソッドの詳細
commitBlockList
public BlockBlobItem commitBlockList(List
BLOB を構成するブロック ID の一覧を指定して、BLOB を書き込みます。 BLOB の一部として書き込まれるには、前の stageBlock 操作でブロックがサーバーに正常に書き込まれている必要があります。 commitBlockList を呼び出して BLOB を更新するには、変更されたブロックのみをアップロードし、新しいブロックと既存のブロックをまとめてコミットします。 ブロック リストで指定されておらず、完全に削除されたブロック。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
System.out.printf("Committing block list completed. Last modified: %s%n",
client.commitBlockList(Collections.singletonList(base64BlockId)).getLastModified());
パラメーター:
String
のリスト。
戻り値:
commitBlockList
public BlockBlobItem commitBlockList(List
BLOB を構成するブロック ID の一覧を指定して、BLOB を書き込みます。 BLOB の一部として書き込まれるには、前の stageBlock 操作でブロックがサーバーに正常に書き込まれている必要があります。 commitBlockList を呼び出して BLOB を更新するには、変更されたブロックのみをアップロードし、新しいブロックと既存のブロックをまとめてコミットします。 ブロック リストで指定されておらず、完全に削除されたブロック。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
boolean overwrite = false; // Default behavior
System.out.printf("Committing block list completed. Last modified: %s%n",
client.commitBlockList(Collections.singletonList(base64BlockId), overwrite).getLastModified());
パラメーター:
String
のリスト。
戻り値:
commitBlockListWithResponse
public Response
BLOB を構成するブロック ID の一覧を指定して、BLOB を書き込みます。 BLOB の一部として書き込まれるには、前の stageBlock 操作でブロックがサーバーに正常に書き込まれている必要があります。 commitBlockList を呼び出して BLOB を更新するには、変更されたブロックのみをアップロードし、新しいブロックと既存のブロックをまとめてコミットします。 ブロック リストで指定されておらず、完全に削除されたブロック。 詳細については、 Azure Docs に関するページを参照してください。
上書きを回避するには、"*" を に setIfNoneMatch(String ifNoneMatch)渡します。
コード サンプル
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());
パラメーター:
戻り値:
commitBlockListWithResponse
public Response
BLOB を構成するブロック ID の一覧を指定して、BLOB を書き込みます。 BLOB の一部として書き込まれるには、前の stageBlock 操作でブロックがサーバーに正常に書き込まれている必要があります。 commitBlockList を呼び出して BLOB を更新するには、変更されたブロックのみをアップロードし、新しいブロックと既存のブロックをまとめてコミットします。 ブロック リストで指定されておらず、完全に削除されたブロック。 詳細については、 Azure Docs に関するページを参照してください。
上書きを回避するには、"*" を に setIfNoneMatch(String ifNoneMatch)渡します。
コード サンプル
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());
パラメーター:
String
のリスト。
戻り値:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream()
ブロック BLOB にデータを書き込む出力ストリームを作成して開きます。
注: 適切なサイズのバッファーを使用して書き込みを呼び出すことをお勧めします。これを行うには、以下で取得した BlobOutputStream を BufferedOutputStream でラップします。
戻り値:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream(boolean overwrite)
ブロック BLOB にデータを書き込む出力ストリームを作成して開きます。
注: 適切なサイズのバッファーを使用して書き込みを呼び出すことをお勧めします。これを行うには、以下で取得した BlobOutputStream を BufferedOutputStream でラップします。
パラメーター:
戻り値:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream(BlobRequestConditions requestConditions)
ブロック BLOB にデータを書き込む出力ストリームを作成して開きます。 サービスに BLOB が既に存在する場合は、上書きされます。
上書きを回避するには、"*" を に setIfNoneMatch(String ifNoneMatch)渡します。
注: 適切なサイズのバッファーを使用して書き込みを呼び出すことをお勧めします。これを行うには、以下で取得した BlobOutputStream を BufferedOutputStream でラップします。
パラメーター:
戻り値:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream(ParallelTransferOptions parallelTransferOptions, BlobHttpHeaders headers, Map
ブロック BLOB にデータを書き込む出力ストリームを作成して開きます。 サービスに BLOB が既に存在する場合は、上書きされます。
上書きを回避するには、"*" を に setIfNoneMatch(String ifNoneMatch)渡します。
注: 適切なサイズのバッファーを使用して書き込みを呼び出すことをお勧めします。これを行うには、以下で取得した BlobOutputStream を BufferedOutputStream でラップします。
パラメーター:
戻り値:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream(BlockBlobOutputStreamOptions options)
ブロック BLOB にデータを書き込む出力ストリームを作成して開きます。 サービスに BLOB が既に存在する場合は、上書きされます。
上書きを回避するには、"*" を に setIfNoneMatch(String ifNoneMatch)渡します。
注: 適切なサイズのバッファーを使用して書き込みを呼び出すことをお勧めします。これを行うには、以下で取得した BlobOutputStream を BufferedOutputStream でラップします。
パラメーター:
戻り値:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream(BlockBlobOutputStreamOptions options, Context context)
ブロック BLOB にデータを書き込む出力ストリームを作成して開きます。 サービスに BLOB が既に存在する場合は、上書きされます。
上書きを回避するには、"*" を に setIfNoneMatch(String ifNoneMatch)渡します。
注: 適切なサイズのバッファーを使用して書き込みを呼び出すことをお勧めします。これを行うには、以下で取得した BlobOutputStream を BufferedOutputStream でラップします。
パラメーター:
戻り値:
getCustomerProvidedKeyClient
public BlockBlobClient getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)
指定した BlockBlobClient を使用して、新しい customerProvidedKey
を作成します。
上書き:
BlockBlobClient.getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)パラメーター:
戻り値:
customerProvidedKey
を持つ 。getEncryptionScopeClient
public BlockBlobClient getEncryptionScopeClient(String encryptionScope)
指定した BlockBlobClient を使用して、新しい encryptionScope
を作成します。
上書き:
BlockBlobClient.getEncryptionScopeClient(String encryptionScope)パラメーター:
null
して暗号化スコープを使用しません。
戻り値:
encryptionScope
を持つ 。listBlocks
public BlockList listBlocks(BlockListType listType)
指定したブロック リスト フィルターを使用して、ブロック BLOB の一部としてアップロードされたブロックの一覧を返します。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
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()));
パラメーター:
戻り値:
listBlocksWithResponse
public Response
指定したブロック リスト フィルターを使用して、ブロック BLOB の一部としてアップロードされたブロックの一覧を返します。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
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()));
パラメーター:
戻り値:
listBlocksWithResponse
public Response
指定したブロック リスト フィルターを使用して、ブロック BLOB の一部としてアップロードされたブロックの一覧を返します。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
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()));
パラメーター:
戻り値:
openSeekableByteChannelWrite
public SeekableByteChannel openSeekableByteChannelWrite(BlockBlobSeekableByteChannelWriteOptions options)
書き込み専用モードでシーク可能なバイト チャネルを開き、BLOB をアップロードします。
パラメーター:
戻り値:
SeekableByteChannel
BLOB への書き込みに使用するチャネルを表す オブジェクト。stageBlock
public void stageBlock(String base64BlockId, BinaryData data)
commitBlockList の呼び出しによって後でコミットされるように、指定されたブロックをブロック BLOB の "ステージング領域" にアップロードします。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
BinaryData binaryData = BinaryData.fromStream(data, length);
client.stageBlock(base64BlockId, binaryData);
パラメーター:
String
。 特定の BLOB のすべてのブロック ID は同じ長さである必要があることに注意してください。
BinaryData
長さを定義する必要があり、再試行が有効になっている場合は再生可能である必要があることに注意してください (既定値)。 を参照してください BinaryData#isReplayable()。
stageBlock
public void stageBlock(String base64BlockId, InputStream data, long length)
commitBlockList の呼び出しによって後でコミットされるように、指定されたブロックをブロック BLOB の "ステージング領域" にアップロードします。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
client.stageBlock(base64BlockId, data, length);
パラメーター:
String
。 特定の BLOB のすべてのブロック ID は同じ長さである必要があることに注意してください。
stageBlockFromUrl
public void stageBlockFromUrl(String base64BlockId, String sourceUrl, BlobRange sourceRange)
URL からコンテンツを読み取る BLOB の一部としてコミットされる新しいブロックを作成します。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
client.stageBlockFromUrl(base64BlockId, sourceUrl, new BlobRange(offset, count));
パラメーター:
String
。 特定の BLOB のすべてのブロック ID は同じ長さである必要があることに注意してください。
stageBlockFromUrlWithResponse
public Response
URL からコンテンツを読み取る BLOB の一部としてコミットされる新しいブロックを作成します。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
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());
パラメーター:
戻り値:
stageBlockFromUrlWithResponse
public Response
URL からコンテンツを読み取る BLOB の一部としてコミットされる新しいブロックを作成します。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
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());
パラメーター:
String
。 特定の BLOB のすべてのブロック ID は同じ長さである必要があることに注意してください。
戻り値:
stageBlockWithResponse
public Response
commitBlockList の呼び出しによって後でコミットされるように、指定されたブロックをブロック BLOB の "ステージング領域" にアップロードします。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
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());
パラメーター:
戻り値:
stageBlockWithResponse
public Response
commitBlockList の呼び出しによって後でコミットされるように、指定されたブロックをブロック BLOB の "ステージング領域" にアップロードします。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
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());
パラメーター:
String
。 特定の BLOB のすべてのブロック ID は同じ長さである必要があることに注意してください。
戻り値:
upload
public BlockBlobItem upload(BinaryData data)
新しいブロック BLOB を作成します。 既定では、このメソッドは既存の BLOB を上書きしません。 既存のブロック BLOB を更新すると、BLOB の既存のメタデータは上書きされます。 部分的な更新は PutBlob ではサポートされていません。既存の BLOB のコンテンツは、新しいコンテンツで上書きされます。 ブロック BLOB の部分的な更新を実行するには、PutBlock と PutBlockList を使用します。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
BinaryData binaryData = BinaryData.fromStream(data, length);
System.out.printf("Uploaded BlockBlob MD5 is %s%n",
Base64.getEncoder().encodeToString(client.upload(binaryData).getContentMd5()));
パラメーター:
BinaryData
長さが定義されている必要があり、再試行が有効になっている場合は再生可能である必要があることに注意してください (既定値) を参照してください BinaryData#isReplayable()。
戻り値:
upload
public BlockBlobItem upload(BinaryData data, boolean overwrite)
新しいブロック BLOB を作成するか、既存のブロック BLOB の内容を更新します。 既存のブロック BLOB を更新すると、BLOB の既存のメタデータは上書きされます。 部分的な更新は PutBlob ではサポートされていません。既存の BLOB のコンテンツは、新しいコンテンツで上書きされます。 ブロック BLOB の部分的な更新を実行するには、PutBlock と PutBlockList を使用します。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
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()));
パラメーター:
BinaryData
長さが定義されている必要があり、再試行が有効になっている場合は再生可能である必要があることに注意してください (既定値) を参照してください BinaryData#isReplayable()。
戻り値:
upload
public BlockBlobItem upload(InputStream data, long length)
新しいブロック BLOB を作成します。 既定では、このメソッドは既存の BLOB を上書きしません。 既存のブロック BLOB を更新すると、BLOB の既存のメタデータは上書きされます。 部分的な更新は PutBlob ではサポートされていません。既存の BLOB のコンテンツは、新しいコンテンツで上書きされます。 ブロック BLOB の部分的な更新を実行するには、PutBlock と PutBlockList を使用します。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
System.out.printf("Uploaded BlockBlob MD5 is %s%n",
Base64.getEncoder().encodeToString(client.upload(data, length).getContentMd5()));
パラメーター:
戻り値:
upload
public BlockBlobItem upload(InputStream data, long length, boolean overwrite)
新しいブロック BLOB を作成するか、既存のブロック BLOB の内容を更新します。 既存のブロック BLOB を更新すると、BLOB の既存のメタデータは上書きされます。 部分的な更新は PutBlob ではサポートされていません。既存の BLOB のコンテンツは、新しいコンテンツで上書きされます。 ブロック BLOB の部分的な更新を実行するには、PutBlock と PutBlockList を使用します。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
boolean overwrite = false;
System.out.printf("Uploaded BlockBlob MD5 is %s%n",
Base64.getEncoder().encodeToString(client.upload(data, length, overwrite).getContentMd5()));
パラメーター:
戻り値:
uploadFromUrl
public BlockBlobItem uploadFromUrl(String sourceUrl)
新しいブロック BLOB を作成するか、既存のブロック BLOB の内容を更新します。
既存のブロック BLOB を更新すると、BLOB の既存のメタデータは上書きされます。 部分的な更新は PutBlobFromUrl ではサポートされていません。既存の BLOB のコンテンツは、新しいコンテンツで上書きされます。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
System.out.printf("Uploaded BlockBlob from URL, MD5 is %s%n",
Base64.getEncoder().encodeToString(client.uploadFromUrl(sourceUrl).getContentMd5()));
パラメーター:
戻り値:
uploadFromUrl
public BlockBlobItem uploadFromUrl(String sourceUrl, boolean overwrite)
新しいブロック BLOB を作成するか、既存のブロック BLOB の内容を更新します。
既存のブロック BLOB を更新すると、BLOB の既存のメタデータは上書きされます。 部分的な更新は PutBlobFromUrl ではサポートされていません。既存の BLOB のコンテンツは、新しいコンテンツで上書きされます。 詳細については、 Azure Docs に関するページを参照してください。
コード サンプル
boolean overwrite = false;
System.out.printf("Uploaded BlockBlob from URL, MD5 is %s%n",
Base64.getEncoder().encodeToString(client.uploadFromUrl(sourceUrl, overwrite).getContentMd5()));
パラメーター:
戻り値:
uploadFromUrlWithResponse
public Response
新しいブロック BLOB を作成するか、既存のブロック BLOB の内容を更新します。
既存のブロック BLOB を更新すると、BLOB の既存のメタデータは上書きされます。 部分的な更新は PutBlobFromUrl ではサポートされていません。既存の BLOB のコンテンツは、新しいコンテンツで上書きされます。 詳細については、 Azure Docs に関するページを参照してください。
上書きされないようにするには、"*" を に setIfNoneMatch(String ifNoneMatch)渡します。
コード サンプル
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()));
パラメーター:
戻り値:
uploadWithResponse
public Response
新しいブロック BLOB を作成するか、既存のブロック BLOB の内容を更新します。 既存のブロック BLOB を更新すると、BLOB の既存のメタデータは上書きされます。 部分的な更新は PutBlob ではサポートされていません。既存の BLOB のコンテンツは、新しいコンテンツで上書きされます。 ブロック BLOB の部分的な更新を実行するには、PutBlock と PutBlockList を使用します。 詳細については、 Azure Docs に関するページを参照してください。
上書きされないようにするには、"*" を に setIfNoneMatch(String ifNoneMatch)渡します。
コード サンプル
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()));
パラメーター:
戻り値:
uploadWithResponse
public Response
新しいブロック BLOB を作成するか、既存のブロック BLOB の内容を更新します。 既存のブロック BLOB を更新すると、BLOB の既存のメタデータは上書きされます。 部分的な更新は PutBlob ではサポートされていません。既存の BLOB のコンテンツは、新しいコンテンツで上書きされます。 ブロック BLOB の部分的な更新を実行するには、PutBlock と PutBlockList を使用します。 詳細については、 Azure Docs に関するページを参照してください。
上書きされないようにするには、"*" を に setIfNoneMatch(String ifNoneMatch)渡します。
コード サンプル
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()));
パラメーター:
戻り値:
適用対象
Azure SDK for Java