我正在尝试使用ADLS查询从azure存储帐户中筛选数据。使用Azure数据湖存储Gen2。无法过滤数据并获取结果。被困在这个问题上,甚至微软的支持也无法破解这个问题。任何帮助都是非常感谢的。
教程链接:https://www.c-sharpcorner.com/article/azure-data-lake-storage-gen2-query-acceleration/
解决方案- .Net核心3.1控制台应用程序
错误:发生一个或多个错误。(指定的XML在语法上无效。)状态: 400 (指定的XML在语法上无效)。
private static async Task MainAsync()
{
var connectionString = "DefaultEndpointsProtocol=https;AccountName=gfsdlstestgen2;AccountKey=0AOkFckONVYkTh9Kpr/VRozBrhWYrLoH7y0mW5wrw==;EndpointSuffix=core.windows.net";
var blobServiceClient = new BlobServiceClient(connectionString);
var containerClient = blobServiceClient.GetBlobContainerClient("test");
await foreach (var blobItem in containerClient.GetBlobsAsync(BlobTraits.Metadata, BlobStates.None, "ds_measuringpoint.json"))
{
var blobClient = containerClient.GetBlockBlobClient(blobItem.Name);
var options = new BlobQueryOptions
{
InputTextConfiguration = new BlobQueryJsonTextOptions(),
OutputTextConfiguration = new BlobQueryJsonTextOptions()
};
var result = await blobClient.QueryAsync(@"SELECT * FROM BlobStorage WHERE measuringpointid = 547", options);
var jsonString = await new StreamReader(result.Value.Content).ReadToEndAsync();
Console.WriteLine(jsonString);
Console.ReadLine();
}发布于 2021-11-11 03:04:02
在查看了.net的每个位置并测试了几乎所有的ADLS查询后,都提到了Microsoft支持
Azure.Storage.Blobs版本12.10是坏版本。我们不得不降级到12.8.0
将这个软件包降级到12.8.0是有效的。
https://stackoverflow.com/questions/69874434
复制相似问题