验证类型化Cloud请求

使用Altifigence CLI在本地检查项目、成员、来源或工作区请求,并检查其类型化请求预览。

在Linux上使用Altifigence CLI 0.1.9验证类型化请求文档,并审查其方法、路径、请求头和请求体。

准备请求

将此示例保存为request.json:

{
  "schema": "altifigence.dds.cloud-request.v1",
  "orgId": "11111111-1111-4111-8111-111111111111",
  "action": {
    "type": "project-create",
    "body": {
      "name": "Counter",
      "slug": "counter"
    }
  }
}

对于organizations,请省略orgId和projectId。对于project-list和project-create,请包含orgId。对于project-get、project-update、project-delete以及所有成员、来源和工作区操作,请同时包含orgId和projectId。请使用v1至5格式的小写UUID。

对于member-add、member-update和member-remove,请将成员的userId添加到action中。member-add和member-update还需要role,其值为owner、editor或viewer。对于工作区操作,请将工作区操作放在action.request内。

验证并检查预览

alti --json ide cloud contract --request request.json

退出状态0表示契约有效。本例会产生以下JSON结果:

{
  "schema": "altifigence.dds.cloud-contract.v1",
  "status": "contract-only",
  "validated": true,
  "executed": false,
  "authorizationChecked": false,
  "authorization": {
    "kind": "native-cli-pkce",
    "clientId": "altifigencecli",
    "productId": "altifigence-cli",
    "selectedOrganizationRequired": true,
    "genericCloudTokenAccepted": false
  },
  "request": {
    "method": "POST",
    "path": "/v1/native/orgs/11111111-1111-4111-8111-111111111111/projects",
    "headers": {
      "Content-Type": "application/json"
    },
    "body": {
      "name": "Counter",
      "slug": "counter"
    }
  }
}

请审查request.method、request.path和request.body。回执通过status: "contract-only"、executed: false和authorizationChecked: false记录本地验证。

要从标准输入读取同一份文档,请使用:

alti --json ide cloud contract --request - < request.json

修正被拒绝的请求

空的项目名称会产生以下结果,退出状态为2:

{
  "schema": "altifigence.dds.cloud-receipt.v1",
  "ok": false,
  "executed": false,
  "error": {
    "code": "INVALID_PROJECT_BODY"
  }
}

将名称改为Counter等非空值,保存文档,然后重新运行验证命令。

如果出现CLOUD_IDENTITY_SCOPE_MISMATCH,请使orgId和projectId与操作匹配。例如,从project-create请求中移除projectId,然后重新验证。如果出现INVALID_CLOUD_IDENTITY,请提供v1至5格式的小写UUID。

如果出现INVALID_CLOUD_CONTRACT,请检查JSON语法和请求字段名。如果出现UNSUPPORTED_CLOUD_CONTRACT,请将schema设为altifigence.dds.cloud-request.v1。每份文档应在1402200字节以内。

CLI首次成功操作