【发布时间】:2021-10-24 05:35:30
【问题描述】:
我似乎无法使用 boto3 将 iam 角色分配给 lambda 函数。不断收到错误消息: botocore.errorfactory.InvalidParameterValueException:调用CreateFunction操作时发生错误(InvalidParameterValueException):Lambda无法承担为函数定义的角色。
这是我的简单代码:
import boto3
import json
# Boto3 Clients
iam = boto3.client('iam')
client = boto3.client('lambda')
rolename = 'lambda_role2'
inputbucket = 'inputbuckgs'
#Assume policy for role policy
assumerolepolicy = {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"lambda.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole"
]
}
]
}
#Creating a role and adding assume role policy
response_role = iam.create_role(
RoleName= rolename,
AssumeRolePolicyDocument= json.dumps(assumerolepolicy),
Description='lambda function for role',
)
# generate role arn
rolearn = response_role['Role']['Arn']
#Lambda Function
response_lam = client.create_function(
FunctionName='transcoder-lambda',
Runtime='python3.7',
Role = rolearn ,
Handler='index.handler',
Code={
'S3Bucket': inputbucket,
'S3Key': 'function.zip'
},
Description='function to transcode videos'
)
任何帮助将不胜感激。
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-iam