Когда я пытаюсь добавить Роль Cloudwatch для записи логов в мой Api-шлюз через aws-cdk, я получаю NoClassDefFoundError.Что я делаю не так?
Я добавил роль с необходимыми разрешениями, которая развертывается без ошибок.
Моя роль:
Role apiGwLogRole = new Role(this, "api-gw-log-role", RoleProps.builder()
.withAssumedBy(new ServicePrincipal("apigateway.amazonaws.com"))
.withRoleName("api-gw-cw-logs")
.build());
apiGwLogRole.attachManagedPolicy("arn:aws:iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs");
, после чего я пытаюсь добавитьроль для учетной записи api-gw, как это:
new CfnAccount(this, "cfn-account", CfnAccountProps.builder()
.withCloudWatchRoleArn(apiGwLogRole.getRoleArn())
.build());
Но когда я пытаюсь изменить это, это дает мне:
java.lang.NoClassDefFoundError: software/amazon/awscdk/CfnResource
...
An exception occured while executing the Java class. software/amazon/awscdk/CfnResource: software.amazon.awscdk.CfnResource
Я попытался повторить эту инструкцию CFN: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html
но, очевидно, я делаю что-то не так.Если бы кто-то мог указать мне правильное направление, я был бы очень благодарен.