添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Azure ADLS Gen2 API用于删除文件

0 人关注

我正试图通过Talend从Azure ADLS存储中删除一个文件。经过我的检查,我没有找到任何选项可以从Talend连接到ADLS并删除一个文件或文件夹。 作为另一种选择,我试图从Talend shell运行一个cURL命令,使用ADLS API进行删除。

  • ADLS Gen2的API参考
  • **: https://docs.microsoft.com/en-us/rest/api/storageservices/datalakestoragegen2/path/delete

    我已经从存储账户中创建了一个SAS令牌。

    我的cURL命令看起来像下面这样。

    curl -X DELETE -H "x-ms-date: Thu, 28 May 2020 05:51:37 GMT" https://account10.dfs.core.windows.net/testfolder/test1/test2/?<SAS Token>

    我正试图删除test2文件夹中的文件。

    当运行时,我得到以下错误。

    {"error":{"code": "InvalidUri", "message": "The request URI is invalid.

    谁能帮助解决这个问题。

    1 个评论
    我注意到你的路径中有一个尾部斜杠( / )。你可以试着去掉它吗?试试像 https://account10.dfs.core.windows.net/testfolder/test1/test2?<SAS Token>
    azure
    curl
    azure-storage
    azure-blob-storage
    talend
    Sathya
    Sathya
    发布于 2020-05-28
    1 个回答
    Ivan Yang
    Ivan Yang
    发布于 2020-05-29
    已采纳
    0 人赞同

    更新: 一个删除非空目录的命令样本(注意:在这个样本中,用 & 替换sasToekn前的 ?)

    curl -X DELETE -H "x-ms-date: Thu, 28 May 2020 05:51:37 GMT" "https://account10.dfs.core.windows.net/testfolder/test1/test2?recursive=true&sv=2019-10-10&ss=bfqt&srt=sco&sp=rwdlacupx&se=2020-05-29T08:50:28Z&st=2020-05-29T00:50:28Z&spr=https&sig=xxx"
    

    测试结果。

    1.如果你想删除一个非空的文件夹,你应该在url中添加recursive=true 。像下面的curl命令。

    curl -X DELETE -H "x-ms-date: Thu, 28 May 2020 05:51:37 GMT" "https://account10.dfs.core.windows.net/testfolder/test1/test2?recursive=true&sasToken"