You need to enable JavaScript to run this app. 如何在不上传压缩包的前提下完成AWS Lambda中boto3的授权配置
优惠活动
大模型
产品
解决方案
定价
更多

如何在不上传压缩包的前提下完成AWS Lambda中boto3的授权配置

Lambda 环境下 boto3 认证的零打包配置方法

先把两个容易踩的坑掰明白:

  • 全版本的AWS Lambda Python运行时,都内置预装了适配版本的boto3库,根本不需要在本地手动装boto3依赖、打压缩包上传。之前流传的“本地装依赖传boto3”是Lambda早期没内置SDK阶段的老黄历了,现在直接在Lambda网页控制台写代码就能调用boto3,啥额外依赖包都不用传。
  • boto3在Lambda运行环境里的认证是全自动的:运行时会自动加载函数绑定的IAM执行角色的临时凭证,根本不用手动写配置profile、贴AccessKey做登录。现在报的AccessDeniedException根本不是boto3没配认证的问题,是当前Lambda绑的执行角色,压根没有调用GetFunction接口的权限。

纯网页端配好权限的步骤(全程不用写额外的认证代码)

  1. 打开报错的那个Lambda函数的网页管理页,进「配置」标签,选左侧菜单的「权限」板块
  2. 找到页面上的「执行角色」入口,点进去跳转到对应的IAM角色配置页
  3. 在IAM角色的权限区域,选「添加权限」-「创建内联策略」
  4. 策略用可视化模式配置即可:
    • 服务选「Lambda」
    • 操作勾上GetFunction(后续要调用其他Lambda接口,按需勾选对应权限即可)
    • 资源绑定你代码里要调用的jims_first_function对应的ARN
  5. 保存策略配置就行,不用重启Lambda函数,权限基本1分钟内就会自动生效。

你贴出的这段代码本身的boto3调用逻辑、语法一点问题都没有:

import json
import boto3

def lambda_handler(event, context):
    
    client = boto3.client('lambda',region_name='us-east-2') 
    response = client.get_function(FunctionName='jims_first_function')
    return {
        'statusCode': 200,
        'body': json.dumps(response)
    }

只要执行角色的权限配置完成,直接在网页控制台把代码贴上去部署就能正常跑通,根本不需要折腾本地打包、手动认证那些流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.10 06:24:07