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

如何用Pulumi Python SDK获取AWS资源属性?求可用示例

使用Pulumi Python SDK获取栈输出

你可以通过Pulumi官方的pulumi-automation模块直接获取栈输出,无需调用subprocess执行命令行。以下是完整可用的示例:

步骤1:确保依赖安装

如果还没安装相关包,执行:

pip install pulumi pulumi-automation

步骤2:示例代码

import pulumi.automation as auto

def fetch_stack_outputs(stack_name):
    # 方式1:访问本地/同项目下的栈
    # 需要指定pulumi项目所在的工作目录(即包含Pulumi.yaml的文件夹路径)
    stack = auto.select_stack(stack_name=stack_name, work_dir="./your-pulumi-project-path")
    
    # 方式2:跨组织/跨项目访问栈(格式:org-name/project-name/stack-name)
    # stack_ref = auto.StackReference("your-org/your-project/your-stack")
    
    # 获取所有栈输出,返回字典格式
    all_outputs = stack.outputs()
    print("所有栈输出:", all_outputs)
    
    # 获取单个输出值,比如S3存储桶ID
    bucket_id = all_outputs.get("s3BucketId")
    # 或者使用get_output方法(返回Output对象,需取.value获取实际值)
    # bucket_id = stack.get_output("s3BucketId").value
    
    # 获取RDS数据库端点
    rds_endpoint = all_outputs.get("rdsEndpoint")
    
    print(f"S3存储桶ID:{bucket_id}")
    print(f"RDS端点:{rds_endpoint}")

if __name__ == "__main__":
    # 替换成你的栈名称
    fetch_stack_outputs("dev-stack")

关键说明

  • auto.select_stack:用于访问当前项目下的栈,必须指定pulumi项目的工作目录路径。
  • auto.StackReference:用于访问其他组织或项目下的栈,格式为org/project/stack,无需指定工作目录。
  • stack.outputs():一次性获取所有栈输出的字典,直接拿到当前的实际值。
  • stack.get_output("output-key"):获取单个输出,返回Pulumi的Output对象,通过.value可同步获取实际值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 08:00:06