我有一个包含如下数据的blob
2324 2321 2132
如何在这个blob中添加一个新值?如果添加'2200',它将变为
2324 2321 2132 2200
我试过append.block(),但出现错误一个二个一个一个
append.block()
kkbh8khc1#
向Azure中的现有Blob添加新文本数据我已经关注了Document1和SO-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增加如下:
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 Block、Put Block List和Get Block List。
2条答案
按热度按时间kkbh8khc1#
向Azure中的现有Blob添加新文本数据
我已经关注了Document1和SO-thread:
我已经采取了一个文件如下:
二三二四二三二一二一三二
然后上传到存储帐户:
然后执行以下代码:
2200增加如下:
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 Block、Put Block List和Get Block List。