gpt4 book ai didi

sql - 如何在 Cloudformation 模板中运行 SQL 查询以在 AWS RDS 中启用延迟持久性

转载 作者:行者123 更新时间:2023-12-03 07:15:29 25 4
gpt4 key购买 nike

我有一个 Cloud Formation 模板来在 RDS 中创建 SQL 数据库,并希望通过运行以下查询来默认启用 Delayed_Durability 功能:ALTER DATABASE dbname SET DELAYED_DURABILITY = FORCED;

有没有办法在通过 CF 模板创建数据库实例后立即运行此查询?我的 CF 模板如下所示:

         "Type":"AWS::RDS::DBInstance",
"Properties":{
"AllocatedStorage":"200",
"AutoMinorVersionUpgrade":"false",
"BackupRetentionPeriod":"1",
"DBInstanceClass":"db.m4.large",
"DBInstanceIdentifier":"mydb",
"DBParameterGroupName": {
"Ref": "MyDBParameterGroup"
},
"DBSubnetGroupName":{
"Ref":"dbSubnetGroup"
},
"Engine":"sqlserver-web",
"EngineVersion":"13.00.4422.0.v1",
"LicenseModel":"license-included",
"MasterUsername":"prod_user",
"MasterUserPassword":{ "Ref" : "dbpass" },
"MonitoringInterval":"60",
"MonitoringRoleArn": {
"Fn::GetAtt": [
"RdsMontioringRole",
"Arn"
]
},
"PreferredBackupWindow":"09:39-10:09",
"PreferredMaintenanceWindow":"Sun:08:58-Sun:09:28",
"PubliclyAccessible": false,
"StorageType":"gp2",
"StorageEncrypted": true,
"VPCSecurityGroups":[
{
"Fn::ImportValue":{
"Fn::Sub":"${NetworkStackName}-RDSSecGrp"
}
}
],
"Tags":[
{
"Key":"Name",
"Value":"my-db"
}
]
}
}

最佳答案

Is there a way to run this query right after db instance is created through CF template?

视情况而定。如果您想从 CloudFormation (CFN) 中执行此操作,那么遗憾的是,您无法使用普通 CFN 来执行此操作。要从 CFN 执行此操作,您必须开发 custom resource 。该资源将采用lambda 函数的形式。您可以将数据库详细信息传递给 CFN 中的函数,它可以运行并执行您的查询。它还可以将您想要的任何结果返回到 CFN 以供进一步使用。

相比之下,如果您使用 AWS CLI 或 SDK 创建 CFN 堆栈,则在 create-stack 调用完成后,您可以从 bash 或任何您使用的编程语言来部署您的堆栈。

关于sql - 如何在 Cloudformation 模板中运行 SQL 查询以在 AWS RDS 中启用延迟持久性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64238073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com