Aws lambda 使用AWS lambda函数调用lex聊天机器人
我试图从AWS lambda函数中使用boto3,以便向Lex聊天机器人发送post_文本 Python代码:Aws lambda 使用AWS lambda函数调用lex聊天机器人,aws-lambda,amazon-iam,amazon-lex,Aws Lambda,Amazon Iam,Amazon Lex,我试图从AWS lambda函数中使用boto3,以便向Lex聊天机器人发送post_文本 Python代码: client = boto3.client('lex-runtime') data = "string input" response = client.post_text( botName='xxx', botAlias='yyy', userId='id', inputText= data) 但我得到: An error o
client = boto3.client('lex-runtime')
data = "string input"
response = client.post_text(
botName='xxx',
botAlias='yyy',
userId='id',
inputText= data)
但我得到:
An error occurred (AccessDeniedException) when calling the PostText
operation: User: arn:aws:sts::111111111:assumed-
role/functionName/functionName is not authorized to perform: lex:PostText on
resource: arn:aws:lex:us-east-1:111111111:bot:xxx:yyyy"
因此,我制定了IAM规则和政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"lex:PostText"
],
"Resource": [
"arn:aws:lex:us-east-1:111111111:bot:xxx:yyyy"
]
}
]
}
信任关系:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
但它仍然不起作用,我也遇到了同样的错误。我最近也遇到了同样的问题 它肯定与运行Lambda函数时所使用的分配给IAM角色的权限有关 解决此问题的最简单方法如下:-