Python Azure 功能 - 清空追加 blob

问题描述

我一直在创建一个计时器触发器函数,它处理一些文本并将该文本保存到每个触发器的附加 blob 中。

我想要它做的是在每次定时器触发时清空附加 blob,因此只有新数据被附加到 blob。目前,我在函数的开头有以下代码

blobServiceClient =  BlobServiceClient.from_connection_string(CONNECTIONSTRING)
containerClient = blobServiceClient.get_container_client(CONTAINER)

blobClient = containerClient.get_blob_client("test.log")
blobClient.upload_blob("",overwrite=True,blob_type='AppendBlob')

我认为这会覆盖之前版本的附加 blob,但实际上我的附加 blob 会保留旧数据,并在计时器关闭时仅附加新数据。

解决方法

您的代码没有问题。我做了一些测试,它能够成功覆盖。

您可以检查上传的数据是否包含之前上传的部分。

或者你可以尝试使用blobClient.upload_blob(data,overwrite=True),但我认为它不是由blob_type='AppendBlob'引起的。

,

好吧,我不确定为什么我的代码不想工作,但我发现将任何数据添加到该空字符串(仅包括一个空格)会导致它在调用时最终被覆盖。