第 2 步:创建组织

在此步骤中,您将创建一个 Apigee 组织

要创建新组织并为其预配,请执行以下操作

  1. 在命令行中,使用以下命令获取 gcloud 身份验证凭据:

    Linux / MacOS

    export TOKEN=$(gcloud auth print-access-token)

    如需检查是否已填充令牌,请使用 echo,如以下示例所示:

    echo $TOKEN

    这应该会以编码字符串的形式显示令牌。

    Windows

    for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a

    如需检查是否已填充令牌,请使用 echo,如以下示例所示:

    echo %TOKEN%

    这应该会以编码字符串的形式显示令牌。

  2. 第 1 步中,您创建了 PROJECT_ID 环境变量。添加以下环境变量。选择与所需组织类型对应的标签页:无数据驻留或有数据驻留

    无数据驻留

    Linux / MacOS

    export ORG_NAME=$PROJECT_ID
    export ANALYTICS_REGION="ANALYTICS_REGION"
    export RUNTIMETYPE=HYBRID

    Windows

    set ORG_NAME=$PROJECT_ID
    set ANALYTICS_REGION="ANALYTICS_REGION"
    set RUNTIMETYPE=HYBRID

    其中:

    • ORG_NAME (必需):此值必须与 PROJECT_ID 匹配。
    • ANALYTICS_REGION (必需):用于分析数据存储的主要区域。如需查看可用的 Apigee API Analytics 区域列表,请参阅 Apigee 位置
    • RUNTIMETYPE (必需):必须设置为 HYBRID

    数据驻留

    Linux / MacOS

    export ORG_NAME=$PROJECT_ID
    export RUNTIMETYPE=HYBRID
    export CONTROL_PLANE_LOCATION="YOUR_CONTROL_PLANE_LOCATION"
    export CONSUMER_DATA_REGION="YOUR_CONSUMER_DATA_REGION"
    export BILLING_TYPE="SUBSCRIPTION"

    Windows

    set ORG_NAME=$PROJECT_ID
    set RUNTIMETYPE=HYBRID
    set CONTROL_PLANE_LOCATION="YOUR_CONTROL_PLANE_LOCATION"
    set CONSUMER_DATA_REGION="YOUR_CONSUMER_DATA_REGION"
    set BILLING_TYPE="SUBSCRIPTION"

    其中:

    • ORG_NAME:此值必须与 PROJECT_ID 匹配。
    • RUNTIMETYPE:必须设置为 HYBRID
    • CONTROL_PLANE_LOCATION:存储客户核心内容(例如代理软件包)的位置。如需查看列表,请参阅可用的 Apigee API 控制平面区域
    • CONSUMER_DATA_REGION:控制平面区域的子区域。您必须同时指定 CONTROL_PLANE_LOCATIONCONSUMER_DATA_REGION。如需查看可用的使用方数据区域列表,请参阅 Apigee 位置
    • BILLING_TYPE:必须设置为 "SUBSCRIPTION"。这是 Apigee Hybrid 组织的结算类型。如需了解详情,请参阅订阅权益

    例如:

    export ORG_NAME=$PROJECT_ID
    export RUNTIMETYPE=HYBRID
    export CONSUMER_DATA_REGION="us-west1"
    export CONTROL_PLANE_LOCATION="us"
    export BILLING_TYPE="SUBSCRIPTION"
    
  3. 调用以下 Apigee API 以创建组织:

    无数据驻留

    curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \
      -d '{
        "name":"'"$ORG_NAME"'",
        "runtimeType":"'"$RUNTIMETYPE"'",
        "analyticsRegion":"'"$ANALYTICS_REGION"'"
      }' \
      "https://apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"

    数据驻留

    curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \
      -d '{
        "name":"'"$ORG_NAME"'",
        "billingType":"'"$BILLING_TYPE"'",
        "runtimeType":"'"$RUNTIMETYPE"'",
        "apiConsumerDataLocation":"'"$CONSUMER_DATA_REGION"'"
      }' \
      "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"

    成功发送创建请求后,organizations API 将返回类似于如下所示的消息作为响应:

    {
      "name": "organizations/org_name/operations/LONG_RUNNING_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
        "operationType": "INSERT",
        "targetResourceName": "organizations/org_name",
        "state": "IN_PROGRESS"
      }
    }

    其中:

    • LONG_RUNNING_OPERATION_ID 是长时间运行的异步操作的 UUID。您可以使用此 ID 检查组织创建请求的状态(如第 5 步中所述)。
    • org_name 是当前创建的新组织的 ID。

    如响应中的 state 属性所示,Apigee 已开始创建新环境,因此状态为 IN_PROGRESS。此过程可能需要几分钟时间。

    如果收到错误消息,请参阅排查组织创建问题

  4. 将长时间运行的操作 ID 保存到环境变量。它适合用于未来的管理任务。

    语法

    export LONG_RUNNING_OPERATION_ID=LONG_RUNNING_OPERATION_ID

    示例

    export LONG_RUNNING_OPERATION_ID=6abc8a72-46de-f9da-bcfe-70d9ab347e4f
  5. 您可以检查长时间运行的操作的状态,其 ID 由创建请求返回。为此,请使用操作 API。例如:

    无数据驻留

    curl -H "Authorization: Bearer $TOKEN" \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/$LONG_RUNNING_OPERATION_ID"

    以下示例展示了此请求的可能的响应:

    IN_PROGRESS

    如果 Apigee 仍在创建组织,Apigee 将返回 IN_PROGRESS 状态。例如:

    {
      "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
        "operationType": "INSERT",
        "targetResourceName": "organizations/ORG_NAME",
        "state": "IN_PROGRESS"
      }
    }

    您应该再等待一段时间,然后再尝试验证创建过程是否完成。

    FINISHED

    预配组织后,长时间运行的操作的状态将为 FINISHED。例如:

    {
      "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
        "operationType": "INSERT",
        "targetResourceName": "organizations/ORG_NAME",
        "state": "FINISHED"
      },
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.Organization",
        "name":