当使用AWS MWAA Airflow执行某些任务时,可能会遇到“无法从日志组读取远程日志”错误的问题。这通常是由于日志流的权限问题导致的。下面是解决此问题的代码示例。
首先,您需要确保在创建MWAA环境时正确设置了日志配置。在创建环境时,您可以指定日志组和日志流的名称。确保这些名称与您AWS账户中的现有日志组和日志流匹配。
接下来,您需要为MWAA环境的执行角色添加适当的日志流权限。您可以通过以下步骤完成:
完成上述步骤后,您的MWAA环境应该能够正确读取日志流。
以下是一个示例的Bash脚本,用于通过AWS CLI为MWAA执行角色添加日志流权限:
#!/bin/bash
# 设置变量
ENVIRONMENT_NAME="your-mwaa-environment"
EXECUTION_ROLE_NAME="your-mwaa-execution-role"
# 获取执行角色的ARN
EXECUTION_ROLE_ARN=$(aws mwaa get-environment --name $ENVIRONMENT_NAME --query "Environment.ExecutionRoleArn" --output text)
# 添加日志流权限
aws iam attach-role-policy --role-name $EXECUTION_ROLE_NAME --policy-arn arn:aws:iam::aws:policy/CloudWatchLogsFullAccess
请将上述代码中的“your-mwaa-environment”和“your-mwaa-execution-role”替换为您的MWAA环境和执行角色的名称。
运行脚本后,您的MWAA执行角色将具有适当的日志流权限,从而解决了“无法从日志组读取远程日志”错误的问题。