Azure ADLS Gen2 API 删除文件
Azure ADLS Gen2 API to delete file
我正在尝试通过 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 文件夹中的文件。
当 运行ning 时,出现以下错误。
{"error":{"code":"InvalidUri","message":"请求 URI 无效..
任何人都可以帮忙吗。
谢谢
沙迪亚
更新:删除非空目录的示例命令(注意:在本示例中,将?替换为& 就在 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"
测试结果:
正如 Mantri 在评论中提到的,url 中的 test2 之后有一个多余的“/”。你应该删除它。
除此之外,您还应注意以下两点:
1.If你想删除一个非空文件夹,你应该在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"
2.If你想删除一个文件,使用如下命令:
curl -X DELETE -H "x-ms-date: Thu, 28 May 2020 05:51:37 GMT" "https://account10.dfs.core.windows.net/testfolder/test1/test2/aa.txt?sasToken"
我正在尝试通过 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 文件夹中的文件。
当 运行ning 时,出现以下错误。
{"error":{"code":"InvalidUri","message":"请求 URI 无效..
任何人都可以帮忙吗。
谢谢 沙迪亚
更新:删除非空目录的示例命令(注意:在本示例中,将?替换为& 就在 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"
测试结果:
正如 Mantri 在评论中提到的,url 中的 test2 之后有一个多余的“/”。你应该删除它。
除此之外,您还应注意以下两点:
1.If你想删除一个非空文件夹,你应该在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"
2.If你想删除一个文件,使用如下命令:
curl -X DELETE -H "x-ms-date: Thu, 28 May 2020 05:51:37 GMT" "https://account10.dfs.core.windows.net/testfolder/test1/test2/aa.txt?sasToken"