在删除触发器时,您也需要从Lambda策略中删除invoke:Lambda权限。如果您不删除权限,它将显示在Lambda控制台中。
如果您不知道与触发器关联的statement-id,请使用提取lambda策略
AWSLambda client = AWSLambdaClientBuilder.standard().build(); GetPolicyRequest request = new GetPolicyRequest().withFunctionName("myFunction").withQualifier("1"); GetPolicyResult response = client.getPolicy(request);
并记下声明ID。
接下来,使用删除此权限
AWSLambda client = AWSLambdaClientBuilder.standard().build(); RemovePermissionRequest request = new RemovePermissionRequest().withFunctionName("myFunction").withStatementId("role-statement-id").withQualifier("1"); RemovePermissionResult response = client.removePermission(request);
这里的例子 - https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/lambda/AWSLambda.html