如何使用Azure Datalake Gen2 Rest API重命名Blob存储中的文件

时间:2019-03-22 13:33:14

标签: azure-storage file-rename azure-data-lake

我已尝试执行本文档的以下说明:LINK

我使用SAS身份验证,并将其添加到请求标头“ x-ms-rename-source”,但我一直收到此错误“ 403-AuthorizationPermissionMismatch”。与其他所有api方法都做得很好,但是这似乎很棘手。有没有人成功用这个文件或目录重命名文件或目录?

2 个答案:

答案 0 :(得分:0)

您可以尝试使用Storage Explorer工具在Blob存储中重命名文件

enter image description here

请告知我们以上内容是否对您有帮助,或者您在此问题上需要进一步的帮助。

答案 1 :(得分:0)

我没有使用SAS authentication,而是使用了授权标头。您可以检查它here

我的请求标头:

  DateTime now = DateTime.UtcNow;
  requestMessage.Headers.Add("x-ms-date", now.ToString("R", CultureInfo.InvariantCulture));
  requestMessage.Headers.Add("x-ms-version", "2018-11-09");

  //your source path you want to rename
  requestMessage.Headers.Add("x-ms-rename-source", renameSourcePath);

  //rename operation only accept authorize by shared key via header
  requestMessage.Headers.Authorization = AzureStorageAuthenticationHelper.GetAuthorizationHeader(
  StorageGen2AccountName, StorageGen2AccountKey, now, requestMessage);