迁移至AmplifyGraphqlApi后,如何配置CloudWatch日志?
为AmplifyGraphqlApi配置CloudWatch日志
迁移到@aws-amplify/graphql-api-construct的AmplifyGraphqlApi后,只需在构造实例的配置中添加logConfig属性即可恢复CloudWatch日志功能,具体操作如下:
1. 导入必要模块
确保代码中导入CDK日志模块和AmplifyGraphqlApi构造:
import { AmplifyGraphqlApi } from '@aws-amplify/graphql-api-construct'; import { RetentionDays, LogGroup } from 'aws-cdk-lib/aws-logs';
2. 配置日志参数创建Api实例
创建AmplifyGraphqlApi时,通过logConfig指定日志级别和日志保留策略:
const amplifyApi = new AmplifyGraphqlApi(this, 'MyAmplifyGraphqlApi', { apiName: 'MyAppSyncEndpoint', schema: // 替换为你的GraphQL Schema定义(如从文件加载或内联定义) // 其他必填配置(如authorizationModes等) logConfig: { fieldLogLevel: 'ALL', // 可选值:NONE | ERROR | ALL,按需选择 retention: RetentionDays.THIRTY_DAYS, // 日志保留天数,支持多种预设值 }, });
3. 关联现有日志组(可选)
如果需要复用之前AppSync Api的日志组,可直接指定已有的LogGroup实例:
// 从现有日志组名称导入 const existingLogGroup = LogGroup.fromLogGroupName(this, 'ReusedLogGroup', 'old-appsync-log-group-name'); const amplifyApi = new AmplifyGraphqlApi(this, 'MyAmplifyGraphqlApi', { // 其他配置 logConfig: { fieldLogLevel: 'ERROR', logGroup: existingLogGroup, }, });
注意事项
- AmplifyGraphqlApi构造会自动为AppSync端点添加写入指定日志组的IAM权限,无需手动配置
- 日志级别设为
ALL会产生较多日志数据,建议生产环境根据需求调整为ERROR或按需开启 - 配置完成后,可在CloudWatch控制台的对应日志组中查看AppSync的请求和错误日志
内容的提问来源于stack exchange,提问作者Setjmp
相关产品推荐
相关产品推荐

