Amazon web services aws boto3将本地脚本移动到lambda

Amazon web services aws boto3将本地脚本移动到lambda,amazon-web-services,aws-lambda,python-3.6,boto3,Amazon Web Services,Aws Lambda,Python 3.6,Boto3,我在将本地开发和测试的python脚本移动到lambda时遇到问题。基本上,代码是不同的,这取决于我是在本地运行还是通过lambda运行 由于我有多个aws帐户和凭据,所以在本地我将.aws/credentials与多个配置文件一起使用 当我在本地机器上开发和测试时,我使用session bot3.session(xxx)对正确的aws环境进行身份验证。之后,为了访问特定的客户端,我使用client=session.client(“iam”),例如: session = boto3.Sessio

我在将本地开发和测试的python脚本移动到lambda时遇到问题。基本上,代码是不同的,这取决于我是在本地运行还是通过lambda运行

由于我有多个aws帐户和凭据,所以在本地我将.aws/credentials与多个配置文件一起使用

当我在本地机器上开发和测试时,我使用
session bot3.session(xxx)
对正确的aws环境进行身份验证。之后,为了访问特定的客户端,我使用
client=session.client(“iam”)
,例如:

session = boto3.Session(profile_name="dev")
iam = session.client("iam")
上述方法在本地运行良好,但当我尝试将脚本移动到lambda时,它无法“识别”bot3.session(),我必须将两行重写为一行:

iam = boto3.client("iam")

iam=boto3.client(“iam”)
缺少一个结束引号Ethanks!但这对我的问题没有帮助:(您应该能够在没有任何显式代码的情况下完成所有这一切。对于在本地运行,我会在运行Python脚本之前在环境中设置AWS_PROFILE=xyz(例如,在Linux上只需运行“AWS_PROFILE=dev Python./script.py“。您不需要在Lambda中执行任何操作,因为boto3将自动检索凭据。
iam=boto3。客户端(“iam”)缺少结束引号!但这对我的问题没有帮助:(您应该能够在没有任何显式代码的情况下完成所有这些操作。对于在本地运行,我会在运行Python脚本之前在环境中设置AWS_PROFILE=xyz(例如,在Linux上只需运行“AWS_PROFILE=dev Python./script.py”)。您不需要在Lambda中执行任何操作,因为Bot3将自动检索凭据。