ADX 插件 postgresql_request 无法加载 System.Security.Cryptography.Algorithms

问题描述 投票:0回答:1

我有一个 Azure Data Explorer (ADX) 又名。 Kusto 实例与 PostgreSQL 灵活服务器 (16.4) 结合使用,并且想要从 ADX 访问 SQL 表 test_adx_meta。
没有防火墙或 IP 范围限制。

我遵循了官方的 postgres_request 命令文档并启用了该插件。

.show plugins | where PluginName == "postgresql_request"

“插件名称”:postgresql_request,“IsEnabled”:true,“描述”:版本=2

SQL 表:

CREATE TABLE test_adx_meta (
  id integer PRIMARY KEY,
  value varchar NOT NULL
);

ADX查询:

evaluate postgresql_request(
    'Host=***.postgres.database.azure.com; Port = 5432;'
    'Database=db;'
    'User Id=***; Password=***;'
    'select * from "test_adx_meta"'): (id: int, value: string)

部分查询失败:0x80131500(消息:ExecutePluginOperator失败===>执行postgresql请求时发生错误。无法加载文件或程序集'System.Security.Cryptography.Algorithms,Version=4.3.0.0,Culture=neutral,PublicKeyToken=<...> ' 或其依赖项之一。系统找不到指定的文件。:),

我似乎 Kusto 插件的实现无法加载.NET lib System.Security.Cryptography.Algorithms。

有人见过类似的问题或知道发生了什么吗?
谢谢:)

postgresql azure kql azure-data-explorer
1个回答
0
投票

enter image description here

如果在创建 ADX 集群时选择计算优化作为工作负载,那么如果您在该集群中运行以下查询来连接 Azure 数据库的 PostgreSQL 服务器,由于插件版本不兼容,您可能会收到上述错误。

evaluate postgresql_request(
    'Host=<serverName>.postgres.database.azure.com; Port = 5432;'
    'Database=<dbName>;'
    h'User Id=<userName>;'
    h'Password=<password>;',
    'select * from public.test_adx_meta') : (id: int, value: string)
| where Id > 0
| project value

为了减少错误,请在创建 ADX 集群时选择 Dev/test 选项作为工作负载,如下所示:

enter image description here

然后您将能够成功运行查询,如下所示:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.