将滚动文件上传到 Azure Blob
Upload rolling files to Azure Blob
我试图预见一个系统,其中推文通过 Twitter 流 API 流向 Azure Blob 存储。我正在关注 Microsoft 的教程,但它以以下场景结束:
$writeStream = New-Object System.IO.StreamWriter $memStream
$count=0
$lineMax=1000000
$sReader = New-Object System.IO.StreamReader($response.GetResponseStream())
$inrec = $sReader.ReadLine()
while (($inrec -ne $null) -and ($count -le $lineMax))
{
if ($inrec -ne "")
{
$writeStream.WriteLine($inrec)
}
$inrec=$sReader.ReadLine()
}
$writeStream.Flush()
$memStream.Seek(0, "Begin")
$destBlob.UploadFromStream($memStream)
$sReader.close()
现在的问题是,如果我想大规模使用它,我怀疑文件会变得太大而无法一次性发送到 Azure。这个问题的正确方法是什么?我应该将文件本地滚动到磁盘,然后将其发送到 Azure 吗?
您可能想查看新的 Append Blob。这使您可以创建一个 blob 并继续附加到它(如果需要,从多个位置)。这里有一些 how-to information 可能会有所帮助。
我试图预见一个系统,其中推文通过 Twitter 流 API 流向 Azure Blob 存储。我正在关注 Microsoft 的教程,但它以以下场景结束:
$writeStream = New-Object System.IO.StreamWriter $memStream
$count=0
$lineMax=1000000
$sReader = New-Object System.IO.StreamReader($response.GetResponseStream())
$inrec = $sReader.ReadLine()
while (($inrec -ne $null) -and ($count -le $lineMax))
{
if ($inrec -ne "")
{
$writeStream.WriteLine($inrec)
}
$inrec=$sReader.ReadLine()
}
$writeStream.Flush()
$memStream.Seek(0, "Begin")
$destBlob.UploadFromStream($memStream)
$sReader.close()
现在的问题是,如果我想大规模使用它,我怀疑文件会变得太大而无法一次性发送到 Azure。这个问题的正确方法是什么?我应该将文件本地滚动到磁盘,然后将其发送到 Azure 吗?
您可能想查看新的 Append Blob。这使您可以创建一个 blob 并继续附加到它(如果需要,从多个位置)。这里有一些 how-to information 可能会有所帮助。