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

boto3 EMR Serverless API中executionRoleArn的含义及配置疑问

EMR Serverless中executionRoleArn的说明

executionRoleArn是EMR Serverless服务执行作业时使用的IAM角色的亚马逊资源名称(ARN),而非单纯的角色名称。

核心作用

EMR Serverless会以这个角色的身份,完成作业运行过程中对AWS资源的访问操作——比如读取S3中的输入数据、写入输出结果、调用Glue元数据服务、推送日志到CloudWatch等,所有作业依赖的资源访问权限都需要通过这个角色配置。

为什么角色名称不生效?

AWS API要求传入的是全局唯一的ARN,而非角色名称。ARN的标准格式为:
arn:aws:iam::你的AWS账号ID:role/角色名称

获取ARN的方式

  • 在IAM控制台找到你创建的运行时角色,进入角色详情页的「摘要」区域,直接复制ARN。
  • 用AWS CLI命令快速获取:
    aws iam get-role --role-name 你的角色名称 --query 'Role.Arn' --output text
    

正确的boto3调用示例

import boto3

emr_serverless = boto3.client('emr-serverless')

response = emr_serverless.start_job_run(
    applicationId='your-application-id',
    executionRoleArn='arn:aws:iam::123456789012:role/your-execution-role',
    jobDriver={
        "sparkSubmit": {
            "entryPoint": "s3://your-bucket/path/to/job.py",
            "entryPointArguments": ["arg1", "arg2"]
        }
    }
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 04:40:19