gpt4 book ai didi

c# - 创建并上传追加 Blob 以存储在 Azure 容器中

转载 作者:行者123 更新时间:2023-12-03 02:26:51 29 4
gpt4 key购买 nike

每当消息从服务总线传入时,我都会尝试将新的追加 blob 文件上传到容器。我不想追加到已经存在的 blob 中。我想创建一个全新的追加 blob 并将其添加到末尾。

这可能吗?

我正在看这篇文章,但当他们到达内容部分时,我无法安静地理解他们的意思:https://azuresdkdocs.blob.core.windows.net/$web/javascript/azure-storage-blob/12.1.1/classes/appendblobclient.html#appendblock

这是我到目前为止的代码:

public static async void StoreToBlob(Services service)
{
//Serealize Object
var sender = JsonConvert.SerializeObject(service);

// Create a BlobServiceClient object which will be used to create a container client
BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);

// Create the container and return a container client object
BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(containerName);

// Create the container if it doesn't already exist.
await containerClient.CreateIfNotExistsAsync();

//Reference to blob
AppendBlobClient appendBlobClient = containerClient.GetAppendBlobClient("services" + Guid.NewGuid().ToString() + ".json");

// Create the blob.
appendBlobClient.Create();

await appendBlobClient.AppendBlock(sender, sender.Length); //here is where I am having an issue
}

最佳答案

您可以尝试类似以下内容(未测试的代码):

byte[] blockContent = Encoding.UTF8.GetBytes(sender);
using (var ms = new MemoryStream(blockContent))
{
appendBlobClient.AppendBlock(ms, blockContent.Length);
}

本质上,我们将字符串转换为字节数组,从中创建一个流,然后上传该流。

关于c# - 创建并上传追加 Blob 以存储在 Azure 容器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66620651/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com