如何解决ADF-Postgres 超时
我正在使用 ADF 和 Azure Managed Postgres。我遇到了一个反复出现的问题,即查找和查询来源的复制活动在大约 35 秒后超时。
Failure happened on 'Source' side. 'Type=Npgsql.NpgsqlException,Message=Exception while reading from stream,Source=Npgsql,''Type=System.IO.IOException,Message=Unable to read data from the transport connection: A connection attempt Failed because the connected party did not properly respond after a period of time,or established connection Failed because connected host has Failed to respond.,Source=System,''Type=System.Net.sockets.socketException,Message=A connection attempt Failed because the connected party did not properly respond after a period of time,or established connection Failed because connected host has Failed to respond,'
所以错误说这是一个 Npgsql 异常,所以我查看了他们的文档并修改了连接字符串以获取 Timeout = 60 和 CommandTimeout = 60(内部超时将默认为 CommandTimeout)。
并且查询仍然在大约 35 秒时超时。这可能是 Azure 托管实例的套接字问题导致超时并且它只是向下传播到 npgsql 吗?
任何帮助将不胜感激!
解决方法
我添加了 Leon 建议的 2 个参数,这解决了我遇到的问题。
Here is a screenshot of the parameters being added to the linked service
Here is a screenshot of the error and completed run
,我只是想增加一些精度,因为我遇到了同样的问题(感谢@DeliciousMalware 和@Leon_Yue):
- 对于具有 postgres 连接的请求,默认超时时间为 30 秒
- 无法直接从查找活动更改此超时。
- 唯一可以做某事的选项是将
Timeout=600;CommandTimeout=0;
添加到链接服务中的连接字符串(例如,如果您使用密钥保管库)或在链接服务附加参数中添加选项,如@DeliciousMalware 屏幕截图. -
Timeout
是建立连接,CommandTimeout
是命令本身的超时时间(以秒为单位,0
表示无穷大) - 连接背后的库是npgsql,其他可用的参数和细节在那里:https://www.npgsql.org/doc/connection-string-parameters.html
我很难找到连接字符串的参数是什么以及它们的含义,以及存在哪一个,所以我很高兴找到这个文档。我没有在 azure 中找到很多关于 postgres 的文档,所以我认为这个参数列表对其他人有用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。