Category Hierarchy

我想从一个Datalake复制一个blob到另一个,下面是我的简单代码来完成这项工作:

    DataLakeFileSystemClient sourceDataLakeFileSystemClient = StorageAccountDataLakeHelper.GetDataLakeFileSystemClient(SourceContainer, SOURCE_DATALAKE_NAME, SOURCE_DATA_LAKE_ACCESS_KEY);
    DataLakeFileSystemClient taregetDataLakeFileSystemClient = StorageAccountDataLakeHelper.GetDataLakeFileSystemClient(TargetContainer, TARGET_DATALAKE_NAME, TARTGET_DATA_LAKE_ACCESS_KEY);
    DataLakeDirectoryClient sourcedirectoryClient = sourceDataLakeFileSystemClient.GetDirectoryClient("folder1/folder2/");
    DataLakeFileClient sourcefileClient = sourcedirectoryClient.GetFileClient("myfile.csv.csv");    
    Stream reader= await sourcefileClient.OpenReadAsync();
    DataLakeDirectoryClient targetdirectoryClient = taregetDataLakeFileSystemClient.GetDirectoryClient("folder1/folder2/");
    DataLakeFileClient targetfileClient = await targetdirectoryClient.CreateFileAsync("myfile.csv.csv");

如您所见,基于访问密钥的身份验证。我可以成功地在本地运行这段代码。但是如果我在azure中发布一个函数应用程序,我会得到这样的异常:

An unhandled exception of type 'Azure.RequestFailedException' occurred in System.Private.CoreLib.dll
Service request failed.
Status: 403 (This request is not authorized to perform this operation.)
ErrorCode: AuthorizationFailure

Headers:
Transfer-Encoding: chunked
Server: Microsoft-HTTPAPI/2.0
x-ms-request-id: 0d261530-201e-009b-5a39-3c8d7e000000
x-ms-client-request-id: 13ec55f9-7a99-4959-bb1c-024e5848a414
x-ms-error-code: AuthorizationFailure
Date: Wed, 28 Apr 2021 14:20:59 GMT

此行发生异常:

Stream reader= await sourcefileClient.OpenReadAsync();

我应该怎么做才能解决这个问题?

转载请注明出处:http://www.xjzhisheng.com/article/20230329/1784724.html