Python ErrorCode:追加到blob时InvalidBlobType
我试图将新的json行附加到容器中现有的json文件中。下面是我的代码:Python ErrorCode:追加到blob时InvalidBlobType,python,azure,azure-blob-storage,Python,Azure,Azure Blob Storage,我试图将新的json行附加到容器中现有的json文件中。下面是我的代码: import json import os from azure.storage.blob import ( BlockBlobService, AppendBlobService ) from DBConnection import account_name, container_name, account_key def getData(self, resp, filename): bl
import json
import os
from azure.storage.blob import (
BlockBlobService, AppendBlobService
)
from DBConnection import account_name, container_name, account_key
def getData(self, resp, filename):
blobService = BlockBlobService(account_name=account_name, account_key=account_key)
appendblobservice = AppendBlobService(account_name=account_name, account_key=account_key)
resp = json.dumps(self.resp) #CONVERT FROM DICT TO STR
filename = self.filename + ".json" #eg: 'ww1_abcded_202002031100.json'
file_exist = blobService.exists(container_name, filename)
if file_exist is False:
print("inside IF")
blobService.create_blob_from_text(container_name, filename, self.resp)
else:
print("Inside else")
appendblobservice.append_blob_from_text(container_name, filename, self.resp)
print("2345675t43")
我在append\u blob\u from\u text
处出错,并产生以下错误:
azure.common.AzureConflictHttpError:blob类型对此操作无效。错误代码:InvalidBlobType
InvalidBlobType
blob类型对于此操作无效
我相信您会遇到此错误,因为您调用的方法仅适用于
块Blob
上的追加Blob
您的以下代码创建了一个块Blob:
blobService.create_blob_from_text(container_name, filename, self.resp)
但是,您正在尝试执行仅附加blob的操作:
appendblobservice.append_blob_from_text(container_name, filename, self.resp)
正因为如此,你才会犯这个错误
两种可能的解决办法:
append\u blob\u from\u text
方法追加内容@我提出了一个新问题。希望你能帮忙!谢天谢地。你为什么要删除你之前的问题?我认为这太傻了@GauravMantriNo问题太傻了我的朋友:)。我使用了第一个解决方案,最终解决了!非常感谢你。只是想知道是否可以在换行符中指定追加,而不是从方法本身指定
{abc}{def}
到{abc}\n{def}
。