代码之家  ›  专栏  ›  技术社区  ›  Hong Ooi

使用共享访问签名下载Azure Blob失败,curl或httr

  •  0
  • Hong Ooi  · 技术社区  · 8 年前

    在使用之前,我已经设法从Blob存储区下载了 curl::curl_download httr::GET ,但这次失败了,出现了400个错误。但是,如果我使用R基 download.file ,它起作用。

    下载URL是(逐字复制,但省略了文件详细信息和实际签名):

    https://{account}.blob.core.windows.net/{store}/{file.zip}?sp=r&st=2018-05-19T00:00:00Z&se=2018-05-31T00:00:00Z&spr=https&sv=2017-07-29&sig={...}&sr=b
    

    其中SAS部分

    sp=r&st=2018-05-19T00:00:00Z&se=2018-05-31T00:00:00Z&spr=https&sv=2017-07-29&sig={...}&sr=b
    

    还有人遇到这个问题吗?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Hong Ooi    8 年前

    事实证明,这与SAS无关。文件名中有一个空格,默认为 download.file 在窗户上变成 %20 ,但curl没有。手动将空间编码为 % 20 解决了问题。

    推荐文章