我正在尝试创建一个写入 Azure Data Lake Store 的 Azure 函数。我正在使用托管服务身份来管理身份验证内容。
我在函数应用程序上启用了 MSI。我还启用了 Function 应用程序以访问所需的 Data Lake Store。我正在使用以下代码获取令牌并写入 ADL。我错过了什么吗?
var azureServiceTokenProvider = new AzureServiceTokenProvider();
string accessToken = await azureServiceTokenProvider.GetAccessTokenAsync("https://datalake.azure.net");
var client = AdlsClient.CreateClient(_adlsAccountName, accessToken);
using (var stream = client.CreateFile(fileName, IfExists.Overwrite))
{
byte[] textByteArray = Encoding.UTF8.GetBytes("Winter is coming! \r\n");
stream.Write(textByteArray, 0, textByteArray.Length);
}
我的代码因以下错误而失败。
with exception Microsoft.Azure.DataLake.Store.AdlsException: Error in creating file /Path/tempFile0.txt.
**Operation: CREATE failed with HttpStatus:Unauthorized Error: Uexpected error in JSON parsing.**
Last encountered exception thrown after 1 tries. [Uexpected error in JSON parsing]
[ServerRequestId:<Some ID>]
at Microsoft.Azure.DataLake.Store.AdlsClient.CreateFile(String filename, IfExists mode, String octalPermission, Boolean createParent)