无法将maxmind二进制数据库上传到azure存储



对于可以在azure blob存储上上传的文件类型是否有任何规则?

我尝试上传Maxmind二进制数据库,但当我尝试使用AZcopy上传时,似乎没有发生任何事情,它甚至不回提示,但停留在第一行之后。

当尝试使用Azure存储资源管理器上传时,它会在一段时间后抛出一个错误,声明命令已被取消

任何帮助都是真诚的感谢

感谢

更新:当我尝试使用powershell时,它给出一个错误'客户端无法在指定的超时时间内完成操作'。

所以我添加了一个1小时的超时,这反过来抛出了一个错误,说明…Set-AzureStorageBlobContent: The remote server returned an error: (400) Bad Request。HTTP状态码:400 - HTTP错误信息:指定的blob或block内容无效。

我用来上传的代码:
Set-AzureStorageBlobContent -Container "eventenrichhelpers" -File ".GeoLite2-City.mmdb" -Blob "GeoLite2-City.mmdb" -ClientTimeoutPerRequest 3600

没有文件类型限制。但是有文件大小限制。对于Block Blobs,文件大小应为<=200GB。当使用AzCopy或Set-AzureStorageBlobContent时,如果没有指定blob类型,它将默认将文件上传为Block blob。如果文件大于200GB,则上传失败。

如果您的文件大于200GB,您可以将其作为Page Blob上传。Page Blob文件的大小可以是<=1TB。要指定blob类型为页面blob,请使用AzCopy或Set-AzureStorageBlobContent中的BlobType参数,并指定值为page。

由于其他原因,使用powershell的第二次超时上传失败。

如果你有一个无效的块,用一个有效的块替换它,最后删除它。

# create temp dummy file
$tempFileName = [System.IO.Path]::GetTempFileName()
"delete me" >> $tempFileName
$tempFile = Get-ChildItem -Path $tempFileName
# overwrite blob with dummy file
$tempFile | Set-AzureStorageBlobContent `
    -Container $containerName `
    -Blob $blobName `
    -Context $storageContext `
    -Force
# remove dummy blob
Remove-AzureStorageBlob `
    -Container $containerName `
    -Blob $blobName `
    -Context $storageContext `
    -Force

允许您重试上传。但我不知道为什么上传这么慢,它运行超时。我在一个50MB的文件中得到了这个行为

相关内容

  • 没有找到相关文章

最新更新