资源和集合
通过 Astra Control REST API ,可以访问资源实例和资源实例集合。
从概念上讲, REST * 资源 * 类似于使用面向对象的编程( OOP )语言和系统定义的 * 对象 * 。有时,这些术语可以互换使用。但一般来说,在外部 REST API 环境中使用时,首选使用 "resource" ,而在服务器上存储的相应有状态实例数据中使用 "object" 。 |
Astra 资源的属性
Astra Control REST API 符合 RESTful 设计原则。每个 Astra 资源实例都是根据定义明确的资源类型创建的。一组相同类型的资源实例称为 * 集合 * 。API 调用会对单个资源或资源集合执行操作。
Astra Control REST API 附带的资源类型具有以下特征:
-
每个资源类型均使用模式定义(通常在 JSON 中)
-
每个资源架构都包括资源类型和版本
-
资源类型在全局范围内是唯一的
通过 Astra Control REST API 提供的资源实例具有以下特征:
-
资源实例是根据单个资源类型创建的
-
资源类型使用介质类型值来指示
-
实例由由 Astra 服务维护的有状态数据组成
-
每个实例均可通过一个唯一且长期存在的 URL 进行访问
-
如果某个资源实例可以具有多个表示形式,则可以使用不同的介质类型来请求所需的表示形式
通过 Astra Control REST API 提供的资源收集具有以下特征:
-
一种资源类型的一组资源实例称为集合
-
资源集合具有一个唯一且长期存在的 URL
创建每个资源实例时,系统都会为其分配一个标识符。此标识符是一个 128 位 UUIDv4 值。分配的 UUIDv4 值是全局唯一且不可变的。发出创建新实例的 API 调用后, HTTP 响应的 Location
标头中会将具有关联 ID 的 URL 返回给调用方。在引用资源实例时,您可以提取此标识符并在后续调用中使用它。
资源标识符是用于收集的主密钥。 |
Astra 资源的通用结构
每个 Astra Control 资源都使用一个通用结构进行定义。
每个 Astra 资源都包含下表所示的键值。
密钥 | Description |
---|---|
type |
一种全局唯一资源类型,称为 * 资源类型 * 。 |
version |
一种称为 * 资源版本 * 的版本标识符。 |
id |
一种全局唯一标识符,称为 * 资源标识符 * 。 |
元数据 |
一个 JSON 对象,包含各种信息,包括用户和系统标签。 |
每个 Astra 资源附带的元数据 JSON 对象包含下表所示的键值。
密钥 | Description |
---|---|
labels |
与资源关联的客户端指定标签的 JSON 数组。 |
creationTimestamp |
JSON 字符串,其中包含指示资源创建时间的时间戳。 |
modificationTimestamp |
JSON 字符串,其中包含 ISO-8601 格式的时间戳,用于指示资源上次更改的时间。 |
已创建 |
JSON 字符串,其中包含创建资源的用户 ID 的 UIDv4 标识符。如果资源是由内部系统组件创建的,并且没有与创建实体关联的 UUID ,则使用 * 空 * UUID 。 |
选定资源 A state
值,用于编排生命周期过渡和控制访问。