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

如何在Azure ML中使用Python读取S3存储中的数据

在Azure ML中读取S3数据的问题排查与优化建议

我结合你给出的代码,整理了几个常见问题的解决思路和优化方向,帮你顺利在Azure ML中读取S3数据:

一、先解决代码里的安全隐患

你当前代码直接把AWS密钥硬编码在脚本里,这在生产环境中风险很高——一旦代码泄露,密钥就会被滥用。Azure ML提供了更安全的密钥管理方式,推荐用**工作区密钥库(Key Vault)**存储密钥,再通过SDK读取:

from azureml.core import Workspace
import boto3
import io
import pandas as pd

def azureml_main(dataframe1 = None, dataframe2 = None):
    # 加载当前Azure ML工作区配置
    ws = Workspace.from_config()
    # 从密钥库获取预存的AWS密钥
    key_vault = ws.get_default_keyvault()
    aws_access_key = key_vault.get_secret(name="aws-access-key-id")
    aws_secret_key = key_vault.get_secret(name="aws-secret-access-key")
    
    s3 = boto3.client('s3', 
                      aws_access_key_id=aws_access_key, 
                      aws_secret_access_key=aws_secret_key)
    obj = s3.get_object(Bucket='bucket', Key='data.csv000')
    df = pd.read_csv(io.BytesIO(obj['Body'].read()))
    return df

二、常见报错的排查方向

如果代码运行失败,可以从这几个维度逐一检查:

  • 网络连通性:Azure ML的计算实例/集群是否能访问S3?可以在计算实例的终端执行curl https://s3.amazonaws.com测试,如果不通,可能需要配置VCN出站规则,或者根据需求使用Azure私有链接。
  • AWS权限问题:确认你的AWS密钥是否拥有目标S3桶的s3:GetObject权限,建议在AWS IAM控制台给该用户配置最小权限策略——只允许读取指定桶,避免权限过大。
  • 文件路径错误:检查Bucket名称、文件Key(data.csv000)是否拼写正确,确认文件确实存在于桶的对应路径下。
  • 依赖包缺失:Azure ML的运行环境里是否安装了boto3和pandas?如果没有,需要在环境配置文件中添加依赖,比如conda配置:
    dependencies:
      - python=3.8
      - pandas
      - pip:
        - boto3
    

三、Azure ML原生替代方案

除了手动写boto3代码,你也可以用Azure ML的云存储数据集功能,更贴合平台生态:
在Azure ML工作室中创建S3数据源的数据集,配置好密钥后,就能在脚本里直接加载,无需手动处理S3连接:

from azureml.core import Dataset
from azureml.core import Workspace

def azureml_main(dataframe1 = None, dataframe2 = None):
    ws = Workspace.from_config()
    # 加载预先创建好的S3数据集
    s3_dataset = Dataset.get_by_name(workspace=ws, name="your-s3-dataset-name")
    df = s3_dataset.to_pandas_dataframe()
    return df

这种方式还能方便地管理数据版本、设置访问权限,更适合长期维护。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:16:14