

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# RestoreDBClusterFromSnapshot
<a name="API_RestoreDBClusterFromSnapshot"></a>

从快照或集群快照创建新的集群。

如果指定快照，则使用默认配置和默认安全组，从源数据库快照创建目标集群。

如果指定集群快照，则使用具有与原始源数据库集群相同配置的源集群恢复点，创建目标集群，不同之处在于新集群在默认安全组中创建。

## 请求参数
<a name="API_RestoreDBClusterFromSnapshot_RequestParameters"></a>

 有关所有操作的通用参数的信息，请参阅[通用参数](CommonParameters.md)。

 ** DBClusterIdentifier **   
从快照或集群快照创建集群的名称。该参数不区分大小写。  
约束：  
+ 必须包含 1 到 63 个字母、数字或连字符。
+ 第一个字符必须是字母。
+ 不能以连字符结尾或包含两个连续的连字符。
示例：`my-snapshot-id`  
类型：字符串  
是否必需：是

 ** Engine **   
要用于新集群的数据库引擎。  
默认值：与源相同  
约束：必须与源的引擎兼容  
类型：字符串  
是否必需：是

 ** SnapshotIdentifier **   
要从中进行还原的快照或集群快照的标识符。  
您可以使用名称或 Amazon 资源名称（ARN） 指定集群快照。但是，您只能使用 ARN 指定快照。  
约束：  
+ 必须与现有快照的标识符匹配。
类型：字符串  
是否必需：是

 **AvailabilityZones。 AvailabilityZone.N**   
提供可在其中创建所还原数据库集群的实例的 Amazon EC2 可用区列表。  
类型：字符串数组  
必需：否

 ** DBClusterParameterGroupName **   
要与该数据库集群关联的数据库集群参数组的名称。  
 *类型*：字符串。      *必需*：否。  
如果省略此参数，则使用指默认数据库参数组。如果提供，必须与现有默认数据库集群参数组的名称匹配。字符串必须包含 1 到 255 个字母、数字或连字符。必须以字母开头，并且不能以连字符结束或包含两个连续的连字符。  
类型：字符串  
必需：否

 ** DBSubnetGroupName **   
用于新集群的子网组的名称。  
约束：如果提供，则必须与现有 `DBSubnetGroup` 的名称匹配。  
示例：`mySubnetgroup`  
类型：字符串  
必需：否

 ** DeletionProtection **   
指定是否可以删除此集群。如果 `DeletionProtection` 启用，则无法删除集群，除非集群经修改并 `DeletionProtection` 禁用。`DeletionProtection` 防止意外删除集群。  
类型：布尔值  
必需：否

 **EnableCloudwatchLogsExports.member.n**   
必须启用才能导出到 Amazon CloudWatch 日志的日志类型列表。  
类型：字符串数组  
必需：否

 ** EngineVersion **   
要用于新集群的数据库引擎的版本。  
类型：字符串  
必需：否

 ** KmsKeyId **   
从数据库快照或集群快照还原加密集群时使用的密 AWS KMS 钥标识符。  
 AWS KMS 密钥标识符是 AWS KMS 加密密钥的 Amazon 资源名称 (ARN)。如果您要使用拥有用于加密新集群的 AWS KMS 加密密钥的集群恢复集群，则可以使用 AWS KMS 密钥别名代替 ARN 作为 AWS KMS 加密密钥。 AWS 账户   
如果不为 `KmsKeyId` 参数指定值，则会出现以下情况：  
+ 如果中的`SnapshotIdentifier`快照或集群快照已加密，则使用用于加密快照或集群快照的 AWS KMS 密钥对还原的集群进行加密。
+ 如果 `SnapshotIdentifier` 中的快照或集群快照未加密，还原的数据库集群也不会加密。
类型：字符串  
必需：否

 ** NetworkType **   
集群的网络类型。  
网络类型由为集群指定的 `DBSubnetGroup` 确定。A `DBSubnetGroup` 只能支持 IPv4 协议或 IPv4 和 IPv6 协议 (`DUAL`)。  
有关更多信息，请参阅《Amazon DocumentDB 开发人员指南》中 [VPC 中的 DocumentDB 集群](https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html)。  
有效值：`IPV4` \$1 `DUAL`   
类型：字符串  
必需：否

 ** Port **   
新集群接受连接的端口号。  
约束：必须是介于 `1150` 到 `65535` 的值。  
默认值：与原始数据库集群相同的端口。  
类型：整数  
必需：否

 ** ServerlessV2ScalingConfiguration **   
包含 Amazon DocumentDB 无服务器集群的扩缩配置。  
类型：[ServerlessV2ScalingConfiguration](API_ServerlessV2ScalingConfiguration.md) 对象  
必需：否

 ** StorageType **   
与数据库集群关联的存储类型。  
有关 Amazon DocumentDB 集群存储类型的信息，请参阅*《Amazon DocumentDB 开发人员指南》*中的集群存储配置。  
存储类型的有效值：`standard | iopt1`  
默认值为 `standard `   
类型：字符串  
必需：否

 **Tags.Tag.N**   
要分配给所还原集群的标签。  
类型：[Tag](API_Tag.md) 对象数组  
必需：否

 **VpcSecurityGroupIds。 VpcSecurityGroupId.N**   
新集群将从属的虚拟私有云（VPC）安全组的列表。  
类型：字符串数组  
必需：否

## 响应元素
<a name="API_RestoreDBClusterFromSnapshot_ResponseElements"></a>

服务返回以下元素。

 ** DBCluster **   
有关集群的详细信息。  
类型：[DBCluster](API_DBCluster.md) 对象

## 错误
<a name="API_RestoreDBClusterFromSnapshot_Errors"></a>

有关所有操作的常见错误的信息，请参阅[常见错误](CommonErrors.md)。

 ** DBClusterAlreadyExistsFault **   
用户已拥有具有给定标识符的集群。  
HTTP 状态代码：400

 ** DBClusterQuotaExceededFault **   
无法创建集群，因为您已达到允许的集群最大配额。  
HTTP 状态代码：403

 ** DBClusterSnapshotNotFoundFault **   
 `DBClusterSnapshotIdentifier` 并不引用现有集群快照。  
HTTP 状态代码：404

 ** DBSnapshotNotFound **   
 `DBSnapshotIdentifier` 并不引用指现有快照。  
HTTP 状态代码：404

 ** DBSubnetGroupNotFoundFault **   
 `DBSubnetGroupName` 并不引用现有子网组。  
HTTP 状态代码：404

 ** DBSubnetGroupNotFoundFault **   
 `DBSubnetGroupName` 并不引用现有子网组。  
HTTP 状态代码：404

 ** InsufficientDBClusterCapacityFault **   
集群没有足够的容量用于当前操作。  
HTTP 状态代码：403

 ** InsufficientStorageClusterCapacity **   
当前操作没有足够的可用存储空间。通过更新子网组来使用具有更多可用存储空间的不同可用区，可以解决此错误。  
HTTP 状态代码：400

 ** InvalidDBClusterSnapshotStateFault **   
提供的值不是有效的集群快照状态。  
HTTP 状态代码：400

 ** InvalidDBSnapshotState **   
快照的状态不允许执行删除。  
HTTP 状态代码：400

 ** InvalidRestoreFault **   
您无法从虚拟私有云（VPC）备份恢复到非虚拟私有云（VPC）实例。  
HTTP 状态代码：400

 ** InvalidSubnet **   
请求的子网无效，或者请求的多个子网并非全部位于同一个常见虚拟私有云（VPC）中。  
HTTP 状态代码：400

 ** InvalidVPCNetworkStateFault **   
由于所做的更改，子网组在创建后并不会覆盖所有可用区。  
HTTP 状态代码：400

 ** KMSKeyNotAccessibleFault **   
访问 AWS KMS 密钥时出错。  
HTTP 状态代码：400

 ** NetworkTypeNotSupported **   
`DBSubnetGroup` 或数据库引擎版本不支持该网络类型。  
HTTP 状态代码：400

 ** StorageQuotaExceeded **   
该请求会导致您超出跨所有实例可提供的已允许存储量。  
HTTP 状态代码：400

 ** StorageQuotaExceeded **   
该请求会导致您超出跨所有实例可提供的已允许存储量。  
HTTP 状态代码：400

## 另请参阅
<a name="API_RestoreDBClusterFromSnapshot_SeeAlso"></a>

有关以特定语言之一使用此 API 的更多信息 AWS SDKs，请参阅以下内容：
+  [AWS 命令行界面 V2](https://docs.aws.amazon.com/goto/cli2/docdb-2014-10-31/RestoreDBClusterFromSnapshot) 
+  [AWS 适用于.NET 的 SDK V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/docdb-2014-10-31/RestoreDBClusterFromSnapshot) 
+  [AWS 适用于 C\$1\$1 的 SDK](https://docs.aws.amazon.com/goto/SdkForCpp/docdb-2014-10-31/RestoreDBClusterFromSnapshot) 
+  [AWS 适用于 Go v2 的 SDK](https://docs.aws.amazon.com/goto/SdkForGoV2/docdb-2014-10-31/RestoreDBClusterFromSnapshot) 
+  [AWS 适用于 Java 的 SDK V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/docdb-2014-10-31/RestoreDBClusterFromSnapshot) 
+  [AWS JavaScript V3 版软件开发工具包](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/docdb-2014-10-31/RestoreDBClusterFromSnapshot) 
+  [AWS 适用于 Kotlin 的 SDK](https://docs.aws.amazon.com/goto/SdkForKotlin/docdb-2014-10-31/RestoreDBClusterFromSnapshot) 
+  [AWS 适用于 PHP 的 SDK V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/docdb-2014-10-31/RestoreDBClusterFromSnapshot) 
+  [AWS Python 软件开发工具包](https://docs.aws.amazon.com/goto/boto3/docdb-2014-10-31/RestoreDBClusterFromSnapshot) 
+  [AWS 适用于 Ruby V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForRubyV3/docdb-2014-10-31/RestoreDBClusterFromSnapshot) 