

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

# UpdateLedger
<a name="API_UpdateLedger"></a>

更新分类账上的属性。

## 请求语法
<a name="API_UpdateLedger_RequestSyntax"></a>

```
PATCH /ledgers/name HTTP/1.1
Content-type: application/json

{
   "DeletionProtection": boolean,
   "KmsKey": "string"
}
```

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

请求使用以下 URI 参数。

 ** [name](#API_UpdateLedger_RequestSyntax) **   <a name="qldb-UpdateLedger-request-uri-Name"></a>
分类账的名称。  
长度限制：长度下限为 1。最大长度为 32。  
模式：`(?!^.*--)(?!^[0-9]+$)(?!^-)(?!.*-$)^[A-Za-z0-9-]+$`  
必需：是

## 请求体
<a name="API_UpdateLedger_RequestBody"></a>

请求接受采用 JSON 格式的以下数据。

 ** [DeletionProtection](#API_UpdateLedger_RequestSyntax) **   <a name="qldb-UpdateLedger-request-DeletionProtection"></a>
指定是否保护分类账不被任何用户删除。如果创建分类账期间未定义，则默认情况下启用该功能（`true`）。  
如果启用了删除保护，您必须先禁用它，然后才能删除分类账。您可以通过调用 `UpdateLedger` 操作将此参数设置为 `false` 来禁用该功能。  
类型：布尔值  
必需：否

 ** [KmsKey](#API_UpdateLedger_RequestSyntax) **   <a name="qldb-UpdateLedger-request-KmsKey"></a>
 AWS Key Management Service (AWS KMS) 中的密钥，用于加密账本中的静态数据。有关更多信息，请参阅《Amazon QLDB 开发人员指南》中的[静态加密](https://docs.aws.amazon.com/qldb/latest/developerguide/encryption-at-rest.html)。  
使用以下选项之一指定此参数：  
+  `AWS_OWNED_KMS_KEY`：使用由您代表自己拥有和管理 AWS 的 AWS KMS 密钥。
+  **未定义**：不对分类账的 KMS 密钥进行任何更改。
+  **A valid symmetric customer managed KMS key**（有效的对称客户托管 KMS 密钥）：在您创建、拥有和管理的账户中使用指定的对称加密 KMS 密钥。

  Amazon QLDB 不支持非对称密钥。有关更多信息，请参阅《* AWS Key Management Service 开发人员*指南》中的[使用对称和非对称密钥](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)。
要指定客户托管的 KMS 密钥，您可以使用其密钥 ID、Amazon 资源名称（ARN）、别名或别名 ARN。使用别名时，应加上 `"alias/"` 前缀。要在不同的密钥中指定密钥 AWS 账户，必须使用密钥 ARN 或别名 ARN。  
例如：  
+ 密钥 ID：`1234abcd-12ab-34cd-56ef-1234567890ab`
+ 密钥 ARN：`arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
+ 别名：`alias/ExampleAlias`
+ 别名 ARN：`arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias`
有关更多信息，请参阅《* AWS Key Management Service 开发者指南》*中的[密钥标识符 (KeyId)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id)。  
类型：字符串  
长度限制：最大长度为 1600。  
必需：否

## 响应语法
<a name="API_UpdateLedger_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "Arn": "string",
   "CreationDateTime": number,
   "DeletionProtection": boolean,
   "EncryptionDescription": { 
      "EncryptionStatus": "string",
      "InaccessibleKmsKeyDateTime": number,
      "KmsKeyArn": "string"
   },
   "Name": "string",
   "State": "string"
}
```

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

如果此操作成功，则该服务将会发送回 HTTP 200 响应。

服务以 JSON 格式返回以下数据。

 ** [Arn](#API_UpdateLedger_ResponseSyntax) **   <a name="qldb-UpdateLedger-response-Arn"></a>
分类账的 Amazon 资源名称（ARN）。  
类型：字符串  
长度约束：最小长度为 20。长度上限为 1600。

 ** [CreationDateTime](#API_UpdateLedger_ResponseSyntax) **   <a name="qldb-UpdateLedger-response-CreationDateTime"></a>
创建分类账时，日期和时间采用世界标准纪元时间格式）。（纪元时间格式为自 1970 年 1 月 1 日午夜 12:00:00 UTC 以来的秒数。）  
类型：时间戳

 ** [DeletionProtection](#API_UpdateLedger_ResponseSyntax) **   <a name="qldb-UpdateLedger-response-DeletionProtection"></a>
指定是否保护分类账不被任何用户删除。如果创建分类账期间未定义，则默认情况下启用该功能（`true`）。  
如果启用了删除保护，您必须先禁用它，然后才能删除分类账。您可以通过调用 `UpdateLedger` 操作将此参数设置为 `false` 来禁用该功能。  
类型：布尔值

 ** [EncryptionDescription](#API_UpdateLedger_ResponseSyntax) **   <a name="qldb-UpdateLedger-response-EncryptionDescription"></a>
有关分类账中静态数据加密的信息。这包括当前状态、 AWS KMS 密钥以及何时无法访问密钥（如果出现错误）。  
类型：[LedgerEncryptionDescription](API_LedgerEncryptionDescription.md) 对象

 ** [Name](#API_UpdateLedger_ResponseSyntax) **   <a name="qldb-UpdateLedger-response-Name"></a>
分类账的名称。  
类型：字符串  
长度限制：长度下限为 1。最大长度为 32。  
模式：`(?!^.*--)(?!^[0-9]+$)(?!^-)(?!.*-$)^[A-Za-z0-9-]+$`

 ** [State](#API_UpdateLedger_ResponseSyntax) **   <a name="qldb-UpdateLedger-response-State"></a>
分类账的当前状态。  
类型：字符串  
有效值：`CREATING | ACTIVE | DELETING | DELETED`

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

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

 ** InvalidParameterException **   
请求中的一项或多项参数无效。  
HTTP 状态代码：400

 ** ResourceNotFoundException **   
指定的资源不存在。  
HTTP 状态代码：404

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

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