You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Automation Python RunBook启停PostgreSQL弹性服务器报错求助

PostgreSQL Flexible Server 启停RunBook脚本报错排查方案

一、优先解决「AutomationAssetNotFound」错误

该错误是因为RunBook无法找到AzureRunAsConnection授权资产,按以下步骤处理:

  • 登录Azure门户,进入你的自动化账户
  • 左侧菜单选择「连接」,确认是否存在AzureRunAsConnection资产
  • 若不存在,点击「创建Azure运行方式账户」,按向导完成服务主体及对应连接资产的创建
  • 确保该服务主体拥有目标PostgreSQL Flexible Server所在资源组的「参与者」或「SQL Server参与者」权限(至少具备启停服务器的权限)

二、解决「NoRegisteredProviderFound」错误

该错误多因自动化账户环境未注册PostgreSQL Flexible Server对应的资源提供程序,或依赖的SDK版本不匹配:

1. 注册资源提供程序

即使手动操作正常,自动化账户的服务主体可能未触发资源提供程序注册:

  • 登录Azure门户,进入目标订阅
  • 左侧菜单选择「资源提供程序」,搜索Microsoft.DBforPostgreSQL
  • 确保状态为「已注册」,未注册则点击「注册」等待完成

2. 处理Python环境依赖

Azure自动化账户默认Python环境可能缺少最新的PostgreSQL Flexible Server SDK包,可选择两种方案:

方案一:补充SDK模块

  • 进入自动化账户「模块」菜单,检查是否存在azure-mgmt-postgresqlflexibleserver模块
  • 若无,从PyPI下载对应whl包,上传至自动化账户完成安装

方案二:改用Azure CLI执行(推荐,适配已验证的可用命令)

既然az postgres flexible-server start/stop可正常执行,直接在RunBook中调用CLI命令,跳过SDK依赖问题,示例代码如下:

import subprocess
import datetime

def main():
    # 替换为你的资源组和服务器名称
    resource_group = "your-resource-group"
    server_name = "your-postgres-server"
    
    # 获取当前星期几(0=周一,4=周五,5=周六,6=周日)
    weekday = datetime.datetime.today().weekday()
    
    if weekday < 5:
        # 工作日启动服务器
        subprocess.run(
            ["az", "postgres", "flexible-server", "start", "--resource-group", resource_group, "--name", server_name],
            check=True
        )
    else:
        # 周末停止服务器
        subprocess.run(
            ["az", "postgres", "flexible-server", "stop", "--resource-group", resource_group, "--name", server_name],
            check=True
        )

if __name__ == "__main__":
    main()
  • 注:使用CLI时,自动化账户的RunAs账户会自动处理身份认证,无需额外配置登录步骤

三、关键注意事项

  • 启停操作属于Azure资源层面的管理操作,无需提前建立与PostgreSQL数据库的连接,仅需资源管理权限即可
  • 测试RunBook时,建议手动触发执行并查看详细日志,定位具体错误节点
  • 若使用SDK方式,务必确保脚本中的订阅ID、资源组、服务器名称无拼写错误

内容的提问来源于stack exchange,提问作者Pratik M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 14:52:27