向Azure中的现有Blob添加新文本数据

pxy2qtax  于 2023-02-25  发布在  其他
关注(0)|答案(2)|浏览(121)

我有一个包含如下数据的blob

2324
2321
2132

如何在这个blob中添加一个新值?如果添加'2200',它将变为

2324
2321
2132
2200

我试过append.block(),但出现错误
一个二个一个一个

kkbh8khc

kkbh8khc1#

向Azure中的现有Blob添加新文本数据
我已经关注了Document1SO-thread
我已经采取了一个文件如下:
二三二四二三二一二一三二

然后上传到存储帐户:

然后执行以下代码:

from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient
constring = "DefaultEndpointsProtocol=pointSuffix=core.windows.net"
conname = "name of the conatiner"
blobname = "list.txt"

blob_service_client = BlobServiceClient.from_connection_string(constring)

Containerclient = blob_service_client.get_container_client(conname )

Blob_client = Containerclient.get_blob_client(blobname )

existingtext = Blob_client.download_blob().content_as_text()

addtext = "\n2200"
newtext = existingtext + addtext

Blob_client.upload_blob(newtext, overwrite=True)

    • 输出:**

2200增加如下:

qnzebej0

qnzebej02#

有3种方法可以向现有blob添加数据:
1.* * 使用附加Blob**: 附加blob是一种特殊类型的blob,您只能将数据附加到它。如果您的用例是始终向blob添加数据,则可以使用它而不是块blob。但是,为此您需要删除现有blob并将其重新创建为附加blob。您可以在此处阅读有关附加blob的详细信息:www.example.com网站。https://learn.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs#about-append-blobs.
1.* * 下载和上传**:考虑到您的blob是块blob,向该blob添加数据的一种方法是下载blob,使用修改后的数据更新其内容,然后再次上载。此方法可能适用于较小的blob,但对于较大的blob可能不是有效的方法。
1.* * 使用块斑点特定功能**:另一种向区块blob添加数据的方法是利用区块blob的特定功能。本质上,区块blob由区块组成。您需要做的是下载现有blob的区块列表,将新数据作为新区块上传,然后提交新区块列表。您可以在此处阅读更多信息:Put BlockPut Block ListGet Block List

相关问题