DataWorks中我使用pyodps,直接运行可以调用webhook给钉钉发消息报错钉钉链接连不上[阿里云DataWorks]

DataWorks中我使用pyodps,直接运行可以调用webhook给钉钉发消息,但是发到调度里,python报错钉钉链接连不上?requests.exceptions.connectionerror: HTTPSConnectionPool(host=’oapi.dingtalk.com’, port=443): Max retries exceeded with url: /robot/send?access_token=1babe83c683792ead496a772e5b57f861a62c4d1ac952546b3594e35f937cff3%20(Caused%20by%20NewConnectionError(‘%3Curllib3.connection.HTTPSConnection%20object%20at%200x7fc5610aa978%3E:%20Failed%20to%20establish%20a%20new%20connection:%20[Errno%20110]%20Connection%20timed%20out’))是不是调度模式对外部请求做了限制,毕竟正常运行能用的?能处理不?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 您在DataWorks中使用pyodps调用webhook给钉钉发消息时,在直接运行时可以成功,但在调度时会报错连接失败。这可能是由于调度时网络环境或者权限等原因导致的。

    为了解决这个问题,建议您可以尝试以下方法:

    检查网络环境:由于DataWorks调度时运行在集群中,可能存在网络环境与您本地环境不同的情况。建议您检查集群中网络是否正常,是否存在网络隔离或者代理等问题。

    检查权限设置:请检查您在DataWorks中的权限设置,确保您有调用webhook的权限。如果您没有权限,可以联系管理员进行授权。

    调整代码:如果以上方法无法解决问题,可以尝试调整代码,例如增加重试机制、调整超时时间等。另外,由于DataWorks中的调度任务可能会在不同的节点上运行,建议您在代码中加入日志输出,以便于查看错误信息。

    联系DataWorks官方技术支持:如果以上方法都无法解决问题,建议您联系Data

  2. 在DataWorks中,调度模式与直接运行代码的环境有一些差异。调度任务在执行时可能受到一些限制,包括对外部网络连接的限制。这是为了保证数据安全和稳定性。

    由于您在调度任务中无法成功建立与钉钉的连接,出现了requests.exceptions.ConnectionError错误。这可能是由于调度模式下对外部网络请求做了限制所导致的。

    要解决此问题,您可以尝试以下方法:

    1. 检查网络连接和权限:确保您的DataWorks环境能够正常访问外部网络和钉钉的API服务。检查网络配置、防火墙规则和访问权限是否正确设置。

    2. 优化代码逻辑:如果您的发送钉钉消息的代码逻辑比较复杂或耗时较长,调度任务在默认超时时间内可能无法完成操作。您可以优化代码以减少请求时间或使用较短的超时时间。

    3. 联系阿里云技术支持:如果以上方法无法解决问题,请联系阿里云的技术支持团队,提供详细的错误日志和相关信息。他们将能够更深入地分析和解决您遇到的问题,并帮助您处理调度模式下的外部请求限制。

    请注意,具体的限制和解决方案可能因DataWorks的配置和版本而有所不同。建议参考阿里云官方文档或咨询阿里云技术支持,以获取最准确和最新的信息。

  3. 公共调度资源组 产品右上角 小扳手 加一下沙箱白名单试试 ;如果不行只能改用独享调度资源组,此回答整理自钉群“DataWorks交流群(答疑@机器人)”