CreateLedger - Amazon Quantum Ledger Database (Amazon QLDB)

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

CreateLedger

在您的 AWS 账户 当前区域中创建新的账本。

请求语法

POST /ledgers HTTP/1.1 Content-type: application/json { "DeletionProtection": boolean, "KmsKey": "string", "Name": "string", "PermissionsMode": "string", "Tags": { "string" : "string" } }

URI 请求参数

该请求不使用任何 URI 参数。

请求体

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

DeletionProtection

指定是否保护分类账不被任何用户删除。如果创建分类账期间未定义,则默认情况下启用该功能(true)。

如果启用了删除保护,您必须先禁用它,然后才能删除分类账。您可以通过调用 UpdateLedger 操作将此参数设置为 false 来禁用该功能。

类型:布尔值

必需:否

KmsKey

AWS Key Management Service (AWS KMS) 中的密钥,用于加密账本中的静态数据。有关更多信息,请参阅《Amazon QLDB 开发人员指南》中的静态加密

使用以下选项之一指定此参数:

  • AWS_OWNED_KMS_KEY:使用由您代表自己拥有和管理 AWS 的 AWS KMS 密钥。

  • 未定义:默认情况下,使用 AWS 拥有的 KMS 密钥。

  • A valid symmetric customer managed KMS key(有效的对称客户托管 KMS 密钥):在您创建、拥有和管理的账户中使用指定的对称加密 KMS 密钥。

    Amazon QLDB 不支持非对称密钥。有关更多信息,请参阅《 AWS Key Management Service 开发人员指南》中的使用对称和非对称密钥

要指定客户托管的 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)

类型:字符串

长度限制:最大长度为 1600。

必需:否

Name

您要创建的分类帐的名称。该名称在您 AWS 账户 当前区域的所有账本中必须是唯一的。

分类账名称的命名约束在《Amazon QLDB 开发人员指南》的 Amazon QLDB 中的配额中定义。

类型:字符串

长度限制:长度下限为 1。最大长度为 32。

模式:(?!^.*--)(?!^[0-9]+$)(?!^-)(?!.*-$)^[A-Za-z0-9-]+$

必需:是

PermissionsMode

要分配给您想创建的分类帐的权限模式。此参数可能具有下列值之一:

  • ALLOW_ALL:一种旧式权限模式,支持对分类账进行 API 级别粒度的访问控制。

    此模式允许拥有此分类账的 SendCommand API 权限的用户在指定分类账中的任何表上运行所有 PartiQL 命令(因此,ALLOW_ALL)。此模式忽略您为分类账创建的任何表级或命令级 IAM 权限策略。

  • STANDARD:(推荐)一种权限模式,可以对分类账、表格和 PartiQL 命令进行更精细粒度的访问控制。

    默认情况下,此模式拒绝所有用户请求在此分类账中的任何表上运行任何 PartiQL 命令。要允许 PartiQL 命令运行,除了分类账的 SendCommand API 权限外,您还必须为特定表资源和 PartiQL 操作创建 IAM 权限策略。有关信息,请参阅《Amazon QLDB 开发人员指南》中的标准权限模式入门

注意

我们强烈建议使用 STANDARD 权限模式来最大限度地提高分类账数据的安全性。

类型:字符串

有效值:ALLOW_ALL | STANDARD

必需:是

Tags

要作为标签添加到待创建的分类账中的键值对。标签键区分大小写。标签值区分大小写,可以为空值。

类型:字符串到字符串映射

映射条目:最低 0 项。最多 200 项。

密钥长度限制:最小长度为 1。长度上限为 128。

值长度限制:最小长度为 0。最大长度为 256。

必需:否

响应语法

HTTP/1.1 200 Content-type: application/json { "Arn": "string", "CreationDateTime": number, "DeletionProtection": boolean, "KmsKeyArn": "string", "Name": "string", "PermissionsMode": "string", "State": "string" }

响应元素

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

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

Arn

分类账的 Amazon 资源名称(ARN)。

类型:字符串

长度约束:最小长度为 20。长度上限为 1600。

CreationDateTime

创建分类账时,日期和时间采用世界标准纪元时间格式)。(纪元时间格式为自 1970 年 1 月 1 日午夜 12:00:00 UTC 以来的秒数。)

类型:时间戳

DeletionProtection

指定是否保护分类账不被任何用户删除。如果创建分类账期间未定义,则默认情况下启用该功能(true)。

如果启用了删除保护,您必须先禁用它,然后才能删除分类账。您可以通过调用 UpdateLedger 操作将此参数设置为 false 来禁用该功能。

类型:布尔值

KmsKeyArn

分类账用于静态加密的、客户托管 KMS 密钥。如果未定义此参数,则账本使用 AWS 拥有的 KMS 密钥进行加密。

类型:字符串

长度约束:最小长度为 20。长度上限为 1600。

Name

分类账的名称。

类型:字符串

长度限制:长度下限为 1。最大长度为 32。

模式:(?!^.*--)(?!^[0-9]+$)(?!^-)(?!.*-$)^[A-Za-z0-9-]+$

PermissionsMode

您想创建的分类帐的权限模式。

类型:字符串

有效值:ALLOW_ALL | STANDARD

State

分类账的当前状态。

类型:字符串

有效值:CREATING | ACTIVE | DELETING | DELETED

错误

有关所有操作返回的常见错误的信息,请参阅常见错误

InvalidParameterException

请求中的一项或多项参数无效。

HTTP 状态代码:400

LimitExceededException

您已达到允许的最大资源数量上限。

HTTP 状态代码:400

ResourceAlreadyExistsException

指定资源已经存在。

HTTP 状态代码:409

ResourceInUseException

此时无法修改指定资源。

HTTP 状态代码:409

另请参阅

有关在特定语言的 AWS SDK 中使用此 API 的更多信息,请参阅以下内容: