Я использовал следующую лямбда-функцию, чтобы остановить мою базу данных rds aurora.Но это всегда заканчивается ошибкой «Объект RDS не имеет атрибута 'stop_db_cluster' ».Может ли кто-нибудь помочь мне здесь;
import sys
import botocore
import boto3
from botocore.exceptions import ClientError
def lambda_handler(event, context):
client = boto3.client('rds')
lambdaFunc = boto3.client('lambda')
print ('Trying to get Environment variable')
try:
funcResponse = lambdaFunc.get_function_configuration(
FunctionName='RDSInstanceStop'
)
DBinstance = funcResponse['Environment']['Variables']['DBInstanceName']
print ('Stoping RDS service for DBInstance : ' + DBinstance)
except ClientError as e:
print(e)
try:
response = client.stop_db_cluster(
DBClusterIdentifier='DBInstanceName'
)
print ('Success :: ' )
return response
except ClientError as e:
print(e)
return
{
'message' : "Script execution completed. See Cloudwatch logs for complete output"
}
Я использую роль - lambda-start-stop-rds Детали моей политики - {"Версия": "2012-10-17", "Заявление": [{" Sid ":" VisualEditor0 "," Effect ":" Allow "," Action ": [" rds: ResetDBParameterGroup "," rds: DescribeEngineDefaultParameters "," rds: CreateOptionGroup "," rds: CreateDBSubnetGroup ","rds: PurchaseReservedDBInstancesOffering "," logs: CreateLogStream "," rds: ModifyDBParameterGroup "," rds: AddSourceIdentifierToSubscription "," rds: DownloadDBLogFilePortion "," rds: CopyDBParameterGroup "," rds :RoDB: ": RD: AddRoleTRB: AddRoDB:" rds: AddD ": RDSModifyDBClusterParameterGroup "," rds: ModifyDBClusterSnapshotAttribute "," rds: DeleteDBInstance "," rds: CreateDBParameterGroup "," rds: DesddeDBSnapshots "," rds: DeleteDBSnapshot "," rds: DescribeLog ":, "rds: StartDBInstance", "rds: DeleteDBSubnetGroup", "rds: DescribeReservedDBInstances", "rds: CreateDBSnapshot", "rds: DescribeValidDBInstanceModifications", "rds: RestoreDBInstanceFromDBSnapshot "," rds: DeleteDBSecurityGroup "," rds: DescribeOrderableDBInstanceOptions "," rds: ModifyDBCluster "," rds: CreateDBClusterSnapshot "," rds: DeleteDBParameterGroup "," rds: "rds:" rds: "rds:" rds: "rds:ModifyDBSnapshotAttribute "," rds: RemoveTagsFromResource "," rds: DescribeOptionGroups "," rds: AuthorizeDBSecurityGroupIngress "," rds: CreateEventSubscription "," rds: ModifyOptionGroup "," rds: RestoreDubDesigns "rds", «rds: DescribePendingMaintenanceActions», «rds: DescribeDBParameterGroups», «rds: DescribeReservedDBInstancesOfferings», «rds: DeleteOptionGroup», «rds: FailoverDBCluster», «rds: DeleteEventSubscription», rds: «Удалить»: rds: «Удалить:rds: DescribeDBInstances "," rds: DescribeEngineDefaultClusterParameters "," rds: RevokeDBSecurityGroupIngress "," rds: DescribeDBParameters "," rds: DescribeEventCategories "," rds: ModifyCurrentDBClusterCapacity "," rds: DeleteDBCluster "," rds: ResetDBClusterParameterGroup "," rds: RestoreDBClusterToPointInTime "," rds: DescribeEvents "," rds: AddTagsToResource "," rds: DescribeDBClusterSubjects ", "rds: CopyDBSnapshot", "rds: CopyDBClusterSnapshot", "rds: ModifyEventSubscription", "rds: DescribeDBLogFiles", "rds: StopDBInstance", "logs: PutLogEvents", "rds: CopyOptionGroup", "Descript ", rbs:rds: DeleteDBClusterSnapshot "," rds: ListTagsForResource ",«rds: CreateDBCluster», «rds: CreateDBSecurityGroup», «rds: RebootDBInstance», «rds: DescribeDBClusterSnapshots», «rds: DescribeOptionGroupOptions», «rds: DownloadCompleteDBLogFile», «rds: rDDD»: CreateDBInstanceReadReplica "," rds: DescribeAccountAttributes "," rds: DescribeDBClusters "," rds: DescribeDBClusterParameterGroups "," rds: ModifyDBSubnetGroup "," rds: RestoreDBInstance * * 100 * * 100 "" 100 ":" "}
{"Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Action": "lambda: GetFunctionConfiguration", "Resource": "arn: aws: lambda: ap-southeast-2: 904108119046: function: RDSInstanceStop "}]}