我无法在 Amazon CloudWatch 中查看 Amazon Lex 的对话日志。
简短描述
您可能无法在 CloudWatch 中看到 Amazon Lex 对话日志的原因有很多。例如,您没有配置正确的权限,不能允许 Amazon Lex 使用 CloudWatch 日志。或者,您在机器人上启用了 COPPA,因此无法使用对话日志功能。
解决方法
向 Amazon Lex 添加 IAM 角色和策略
检查是否授予了允许您的 Amazon Lex 机器人登录 CloudWatch 的正确权限。要记录对话日志,Amazon Lex 需要使用 CloudWatch 日志。然后,要存储这些日志,它需要访问 Amazon Simple Storage Service(Amazon S3)桶。按照以下步骤添加所需的 AWS Identity and Access Management(IAM)角色和策略:
-
登录 Amazon Lex 控制台,然后选择要编辑的机器人。
-
选择设置,然后选择对话日志。
-
选择设置图标,然后选择 IAM 角色。
-
添加具有信任关系的 IAM 角色,类似于以下示例:
{ "Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "lex.amazonaws.com" //For V2 "Service": "lexv2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
-
向角色附加 IAM 策略,允许将对话文本记录到 CloudWatch 日志:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:region:account-id:log-group:log-group-name:*"
}
]
}
-
向角色添加 IAM 策略,允许将音频记录到 S3 桶:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject"
],
"Resource": "arn:aws:s3:::bucket-name/*"
}
]
}
查看您的 COPPA 设置
检查是否已为您的机器人激活了 COPPA。如果您激活了 COPPA,则无法使用该机器人的对话日志功能。
Amazon Lex V1
要检查此设置,请在 Amazon Lex 控制台中检查您的机器人常规设置:
- 登录 Amazon Lex 控制台,然后选择返回 V1 控制台。
- 选择要编辑的机器人。
- 选择设置,然后选择常规。
- 选择 COPPA。
Amazon Lex V2
- 登录 Amazon Lex V2 控制台,然后选择机器人版本。
- 选择要使用的版本,然后选择 COPPA。
- 如果您为要使用的版本激活了 COPPA,则无法将其停用。请前往草稿版本,然后选择 COPPA。您现在可以将 COPPA 更改为否。然后,发布新版本。
进一步故障排除步骤
- 检查您的日志组是否与 Amazon Lex 机器人位于同一 AWS 区域。
- 检查您的机器人别名与您为日志记录指定的别名是否相同。对话日志是根据机器人别名配置的,因此必须与之匹配。
- 如果您使用 Amazon Lex V1,则不要使用 $LATEST 别名或 Amazon Lex 为测试提供的测试机器人。您无法记录其中任何一个的对话。
注意:对话日志在 Amazon Lex V2 上运行,别名为TSTALIASID。
相关信息
IAM 对话日志策略
使用对话日志进行监控