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

如何使用Python SDK v2为AzureML管道作业传递环境变量?

如何在Azure ML管道中传递环境变量并在脚本中使用

1. 在组件YAML里定义环境变量

编辑组件的YAML配置文件,在environment段添加environment_variables,可预设默认值或留空:

name: data_processing_component
display_name: Data Processing Component
version: 1
type: command
inputs:
  raw_data:
    type: uri_folder
outputs:
  processed_data:
    type: uri_folder
environment:
  image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04
  environment_variables:
    API_KEY: ""
    ENV_MODE: "dev"
command: >-
  python process_data.py
  --raw_data ${{inputs.raw_data}}
  --processed_data ${{outputs.processed_data}}

2. 构建管道时传入自定义环境变量

加载组件后,在管道步骤里通过environment_variables参数覆盖或添加变量:

from azure.ai.ml import load_component
from azure.ai.ml.dsl import pipeline
from azure.ai.ml import Input

# 加载本地组件YAML
data_processing = load_component(source="./data_processing.yaml")

@pipeline()
def data_pipeline():
    process_step = data_processing(
        raw_data=Input(path="./raw_data"),
        environment_variables={
            "API_KEY": "your_actual_api_key",
            "ENV_MODE": "prod"
        }
    )

3. 在执行脚本中读取环境变量

在处理逻辑的Python脚本里,用os.environ获取变量值:

import os
import argparse
import pandas as pd

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("--raw_data", type=str)
    parser.add_argument("--processed_data", type=str)
    args = parser.parse_args()

    # 读取环境变量
    api_key = os.environ.get("API_KEY")
    env_mode = os.environ.get("ENV_MODE")

    # 使用变量执行逻辑,比如调用外部API
    print(f"Running in {env_mode} mode, using API key: {api_key[:4]}...")

    # 数据处理示例
    df = pd.read_csv(f"{args.raw_data}/data.csv")
    df["processed"] = True
    df.to_csv(f"{args.processed_data}/processed_data.csv", index=False)

if __name__ == "__main__":
    main()

内容的提问来源于stack exchange,提问作者Bharath Kumar L

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 15:31:07