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

如何让Docker化Lambda代码访问SageMaker中构建的BlazingText模型?

解决方案

1. 配置Lambda执行角色权限

Lambda的执行角色必须具备以下核心权限:

  • SageMaker操作权限:允许调用sagemaker:DescribeModel、sagemaker:CreateTransformJob、sagemaker:DescribeTransformJob等批量转换相关接口,可通过附加AmazonSageMakerFullAccess策略(或自定义细粒度策略)实现。
  • S3数据权限:允许读取批量推理输入路径的文件(s3:GetObject)和写入输出路径的结果(s3:PutObject),需针对你的X_batch_location和output_pred_dir对应的S3路径配置权限。

2. 显式指定SageMaker客户端的区域与凭证

Lambda环境中,SageMaker SDK可能无法自动识别区域或凭证,需手动初始化客户端并传入Transformer:

import boto3
from sagemaker.transformer import Transformer

# 初始化指定区域的SageMaker客户端
sagemaker_client = boto3.client('sagemaker', region_name='us-east-1')

transformer = Transformer(
    model_name="arn:aws:sagemaker:us-east-1:99999999:model/my_model_name",
    instance_count=1,
    instance_type='ml.m4.xlarge',
    output_path=output_pred_dir,
    sagemaker_client=sagemaker_client  # 传入自定义客户端
)

transformer.transform(
    data=X_batch_location,
    data_type='S3Prefix',
    content_type='application/jsonlines',
    split_type='Line'
)

3. 升级Docker镜像中的SageMaker SDK版本

旧版本SDK可能存在ARN解析或模型访问的兼容性问题,需在Dockerfile中安装最新稳定版依赖:

RUN pip install --upgrade sagemaker boto3

4. 验证模型ARN的正确性

直接从SageMaker控制台的模型详情页复制完整ARN,确保格式为arn:aws:sagemaker:<区域>:<账号ID>:model/<模型名称>,避免手动输入时出现区域、账号ID或模型名称的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 21:10:14