一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 【Azure 存儲服務】Java Storage SDK 調用 uploadWithResponse 代碼示例(詢問ChatGTP得代碼原型后人力驗證)

【Azure 存儲服務】Java Storage SDK 調用 uploadWithResponse 代碼示例(詢問ChatGTP得代碼原型后人力驗證)

2023-05-09 01:01未知服務器之家 Java教程

問題描述 查看Java Storage SDK,想找一個?uploadWithResponse? 的示例代碼,但是通過全網搜索,結果沒有任何有幫助的代碼。使用最近ChatGPT來尋求答案,得到非常有格式的內容: 問:java azure storage account to use uploadWithResponse 答:To use

問題描述

查看Java Storage SDK,想找一個?uploadWithResponse? 的示例代碼,但是通過全網搜索,結果沒有任何有幫助的代碼。使用最近ChatGPT來尋求答案,得到非常有格式的內容:

問:java azure storage account to use uploadWithResponse

答:To use the uploadWithResponse method with the Azure Blob Storage client library for Java, follow these steps:

  1. Add the Azure Storage Blob dependency to your project's build file. For Maven, add the following to your pom.xml:
<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-storage-blob</artifactId>
  <version>12.14.2</version>
</dependency>
  1. Import the necessary classes:
import com.azure.storage.blob.BlobClient;
import com.azure.storage.blob.BlobContainerClient;
import com.azure.storage.blob.BlobServiceClient;
import com.azure.storage.blob.BlobServiceClientBuilder;
  1. Create a BlobServiceClient instance using your storage account connection string:
String connectionString = "your_connection_string";
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder().connectionString(connectionString).buildClient();
  1. Get a reference to the container and the blob you want to upload:
String containerName = "your_container_name";
String blobName = "your_blob_name";
BlobContainerClient containerClient = blobServiceClient.getBlobContainerClient(containerName);
BlobClient blobClient = containerClient.getBlobClient(blobName);
  1. Upload a file using the uploadWithResponse method:
import com.azure.storage.blob.models.BlobUploadFromFileOptions;
import java.nio.file.Path;
import java.nio.file.Paths;

Path filePath = Paths.get("path/to/your/file");
BlobUploadFromFileOptions options = new BlobUploadFromFileOptions(filePath);
blobClient.uploadWithResponse(options, null, null);

?

This will upload the file to the specified blob in the Azure Blob Storage container. Remember to replace the placeholders with your actual connection string, container name, blob name, and file path.

繼續追問:BlobParallelUploadOptions with string content

答:(前面4步的答案一樣,第五步的內容為)

  1. Convert the string content to an InputStream and set up BlobParallelUploadOptions:
String content = "your_string_content";
InputStream inputStream = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8));
long blockSize = 100 * 1024L; // 100 KB
int maxConcurrency = 5;
ParallelTransferOptions parallelTransferOptions = new ParallelTransferOptions(blockSize, maxConcurrency);
BlobParallelUploadOptions options = new BlobParallelUploadOptions(inputStream).setParallelTra

在繼續問:如何使用 “To avoid overwriting, pass "*" to setIfNoneMatch(String ifNoneMatch). how to use the setifnonematch”?

答:(前面4步的答案一樣,第五步的內容為)
  1. Set up BlobUploadOptions with setIfNoneMatch:
BlobUploadOptions options = new BlobUploadOptions()
    .setInputStream(inputStream)
    .setLength((long) content.length())
    .setHttpHeaders(new BlobHttpHeaders().setContentType("text/plain"))
    .setRequestConditions(new BlobRequestConditions().setIfNoneMatch("*"));
  1. Upload the string content using the uploadWithResponse method with BlobUploadOptions:
blobClient.uploadWithResponse(options, null, null);

This will upload the string content to the specified blob in the Azure Blob Storage container only if the blob does not already exist. If the blob exists, the upload will fail with a BlobStorageException due to the setIfNoneMatch("*") condition. Remember to replace the placeholders with your actual connection string, container name, blob name, and string content.

?

問題解答

根據ChatGPT提供的三部分信息,通過人力拼接和測試。得到了成功執行的uploadWithResponse代碼:

uploadWithResponse示例代碼

                String storageConnectionString = "DefaultEndpointsProtocol=https;AccountName=***************";
            String containerName = "******************";
            String fileName  = "******************";

                BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
                                .connectionString(storageConnectionString)
                                .buildClient();
                BlobContainerClient containerClient = blobServiceClient.createBlobContainer(containerName);
                BlobClient blobClient = containerClient.getBlobClient(fileName);
//準備content并且初始化blob parallel upload options對象
  String content
= "Test to append new content into exists blob! by blogs lu bian liang zhan deng "; InputStream inputStream = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8)); BlobParallelUploadOptions options = new BlobParallelUploadOptions(inputStream, content.getBytes().length); options.setRequestConditions(new BlobRequestConditions().setIfNoneMatch("*")); Response<BlockBlobItem> rsp = blobClient.uploadWithResponse(options, null, null); if(rsp.getStatusCode()==201) { System.out.println("append content successful........"); }

說明:

1) content 中為需要寫入Blob的內容

2) 把string轉換為以UTF_8編碼的input stream

3) 根據 input stream來初始化 blob paralle upload options對象

4) 設置 Request Conditions,當不需要重寫的時候,可以使用 setIfNoneMatch("*")。如果操作的文件存在,則會出現??Status code 409,?BlobAlreadyExistss 提示。

5)?調用upload with response方法,獲取返回值,如果 返回值得status code為 201,表示Storage Account接受了這次 blob 內容的改動。

?

運行效果展示圖

【Azure 存儲服務】Java Storage SDK 調用 uploadWithResponse 代碼示例(詢問ChatGTP得代碼原型后人力驗證)

?

?

參考資料

BlobClient Class:https://learn.microsoft.com/en-us/java/api/com.azure.storage.blob.BlobClient?view=azure-java-stable

BlobRequestConditions Class:https://learn.microsoft.com/en-us/java/api/com.azure.storage.blob.models.blobrequestconditions?view=azure-java-stable#com-azure-storage-blob-models-blobrequestconditions-setifnonematch(java-lang-string)

適用于 Java 的 Azure Blob 存儲客戶端庫 :?https://docs.azure.cn/zh-cn/storage/blobs/storage-quickstart-blobs-java?tabs=powershell%2Cmanaged-identity%2Croles-azure-portal%2Csign-in-azure-cli#upload-blobs-to-a-container

?

?

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色啪啪888.com| 乌克兰成人性色生活片 | 高清黄色直接看 | 久久久久国产一级毛片高清片 | 久久99r66热这里有精品 | 白丝捆绑vk| 久久re热在线视频精99 | 亚洲人的天堂男人爽爽爽 | 国产91在线九色 | 国产精品成人麻豆专区 | 波多野结衣同性系列698 | np小说h | 日韩免费在线观看 | 亚洲首页国产精品丝袜 | 高清在线免费 | 波多野结衣在线观看中文字幕 | 男女小视频在线观看 | 无码人妻99久久密AV | 国产va免费精品高清在线 | 欧美成人福利视频 | a黄毛片 | 亚洲国产午夜看片 | 女子张腿让男人桶免费 | 欧美se图 | 亚洲视频在线免费观看 | 亚洲日韩中文字幕一区 | 91短视频版高清在线观看免费 | 含羞草传媒网站免费进入欢迎 | 欧美va天堂| aa视频免费 | 成人免费观看一区二区 | 精品久久久久久综合网 | 双性人bbww欧美双性 | 亚洲国产精品无圣光一区二区 | 天堂中文在线观看 | 日本一区二区三区国产 | 亚洲精选在线观看 | 国产亚洲精品第一综合linode | 免费看打屁股视频的软件 | 免费老外的毛片清高 | 亚洲欧美日韩天堂 |