我创建了一个Azure Powershell函数,它需要将一些数据写入blob,因此我使用outputBlob绑定沿着:
Push-OutputBinding -Name <name> -Value <value>
这将我需要的数据写入blob -太棒了!但问题是每次函数运行时,它都会覆盖blob内容。我不知道如何让Push-OutputBinding cmdlet将数据追加到blob中,而不是“设置”它。我尝试过设置-Clobber开关,但似乎没有任何区别。
绑定似乎是一种与Blob存储交互的好方法,而不必拉入更多的代码来示例化一个更完整的客户端会话,我希望这是可能的。
4条答案
按热度按时间00jrzges1#
我有理由相信,在powershell和azure函数的输出绑定中,没有原生的方法可以附加到blob,所以你必须为此编写代码(另外,我认为附加到块blob的唯一方法是下载内容,在本地附加,然后重新上传,但我不确定这一点)。
yvt65v4c2#
正如4c74356b41所述,在powershell中没有原生的方法来附加到blob。
但不需要将内容下载到本地文件中,可以使用
$storageBlob.ICloudBlob.DownloadText()
进行下载。下面是我的测试代码,用于将“123456789”附加到Blob:
zd287kbt3#
使用powershell命令Set-AzStorageBlobContent创建blob类型为Append的附加blob
vmdwslir4#
看起来,既没有必要创建新的StorageContext,也没有必要获取新的存储blob,您所需要做的就是获取blob对象并正确调用它的接口方法。