Langkah 2: Buat organisasi

Pada langkah ini, Anda akan membuat Organisasi Apigee.

Untuk membuat organisasi baru dan menyediakannya:

  1. Di command line, dapatkan autentikasi gcloud menggunakan perintah berikut:

    Linux / MacOS

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

    Untuk memeriksa apakah token Anda telah diisi, gunakan echo, sebagai contoh berikut menunjukkan:

    echo $TOKEN

    Tindakan ini akan menampilkan token Anda sebagai string yang dienkode.

    Windows

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

    Untuk memeriksa apakah token Anda telah diisi, gunakan echo, sebagai contoh berikut menunjukkan:

    echo %TOKEN%

    Tindakan ini akan menampilkan token Anda sebagai string yang dienkode.

  2. Pada Langkah 1, Anda membuat Variabel lingkungan PROJECT_ID. Tambahkan variabel lingkungan berikut. Pilih tab yang sesuai dengan jenis organisasi yang Anda butuhkan: Tidak ada residensi data atau dengan Residensi data:

    Tidak ada residensi data

    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

    Dengan keterangan:

    • ORG_NAME (Wajib): Nilai ini harus cocok dengan PROJECT_ID.
    • ANALYTICS_REGION (Wajib): Region utama untuk penyimpanan data Analytics. Untuk mengetahui daftar region Analisis API Apigee yang tersedia, lihat Lokasi Apigee.
    • RUNTIMETYPE (Wajib): Harus ditetapkan ke HYBRID.

    Residensi Data

    Linux / MacOS

    export ORG_NAME=$PROJECT_ID
    export ANALYTICS_REGION="ANALYTICS_REGION"
    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 ANALYTICS_REGION="ANALYTICS_REGION"
    set RUNTIMETYPE=HYBRID
    set CONTROL_PLANE_LOCATION="YOUR_CONTROL_PLANE_LOCATION"
    set CONSUMER_DATA_REGION="YOUR_CONSUMER_DATA_REGION"
    set BILLING_TYPE="SUBSCRIPTION"

    Dengan keterangan:

    • ORG_NAME: Nilai ini harus cocok dengan PROJECT_ID.
    • ANALYTICS_REGION: Region utama untuk penyimpanan data Analytics. Untuk mengetahui daftar region Analisis API Apigee yang tersedia, lihat Lokasi Apigee.
    • RUNTIMETYPE: Harus ditetapkan ke HYBRID.
    • CONTROL_PLANE_LOCATION: Lokasi penyimpanan konten inti pelanggan seperti paket proxy. Untuk mengetahui daftarnya, lihat Region bidang kontrol Apigee API yang tersedia.
    • CONSUMER_DATA_REGION: Sub-region dari region bidang kontrol. Anda harus menentukan CONTROL_PLANE_LOCATION dan CONSUMER_DATA_REGION. Untuk mengetahui daftar region data konsumen yang tersedia, lihat Lokasi Apigee..
    • BILLING_TYPE: Harus ditetapkan ke "SUBSCRIPTION". Ini adalah jenis penagihan untuk organisasi hybrid Apigee Anda. Lihat Hak langganan untuk informasi selengkapnya.

    Contoh:

    export ORG_NAME=$PROJECT_ID
    export ANALYTICS_REGION="us-west1"
    export RUNTIMETYPE=HYBRID
    export CONSUMER_DATA_REGION="us-west1"
    export CONTROL_PLANE_LOCATION="us"
    export BILLING_TYPE="SUBSCRIPTION"
    
  3. Panggil Apigee API berikut untuk membuat organisasi:

    Tidak ada residensi data

    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"

    Residensi Data

    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"'",
        "analyticsRegion":"'"$ANALYTICS_REGION"'"
      }' \
      "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"

    Jika permintaan pembuatan yang berhasil, API organisasi akan merespons dengan pesan yang serupa menjadi sebagai berikut:

    {
      "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"
      }
    }

    Dengan keterangan:

    • LONG_RUNNING_OPERATION_ID adalah UUID asinkron yang berjalan lama operasi. Anda dapat menggunakan ID ini untuk memeriksa status permintaan pembuatan organisasi Anda (dijelaskan di langkah 5).
    • org_name adalah ID organisasi baru Anda yang saat ini dibuat.

    Seperti yang ditunjukkan oleh properti state dalam respons, Apigee mulai membuat organisasi yang baru, sehingga statusnya adalah IN_PROGRESS. Proses ini dapat memerlukan waktu beberapa menit.

    Jika terjadi error, lihat Memecahkan masalah pembuatan organisasi.

  4. Simpan ID operasi yang berjalan lama ke variabel lingkungan. Ini akan berguna untuk tugas pengelolaan di masa mendatang.

    Sintaks

    export LONG_RUNNING_OPERATION_ID=LONG_RUNNING_OPERATION_ID

    Contoh

    export LONG_RUNNING_OPERATION_ID=6abc8a72-46de-f9da-bcfe-70d9ab347e4f
  5. Anda bisa memeriksa status operasi yang berjalan lama yang ID-nya dikembalikan oleh permintaan pembuatan. Untuk melakukannya, gunakan API operasi. Contoh:

    Tidak ada residensi data

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

    Contoh berikut menunjukkan kemungkinan respons terhadap permintaan ini:

    IN_PROGRESS

    Jika Apigee masih membuat organisasi, Apigee merespons dengan status IN_PROGRESS. Contoh:

    {
      "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"
      }
    }
    

    Anda harus menunggu lebih lama sebelum mencoba memverifikasi bahwa proses pembuatan sudah lengkap.

    SELESAI

    Setelah organisasi disediakan, status operasi yang berjalan lama FINISHED. Contoh:

    {
      "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": "ORG_NAME",
        "description": "",
        "createdAt": "1626237148461",
        "lastModifiedAt": "1626237149384",
        "properties": {
          "property": [
            {
              "name": "features.hybrid.enabled",
              "value": "true"
            },
            {
              "name": "features.mart.connect.enabled",
              "value": "true"
            }
          ]
        },
        "analyticsRegion": "ANALYTICS_REGION",
        "runtimeType": "HYBRID",
        "subscriptionType": "TRIAL",
        "state": "ACTIVE",
        "billingType": "EVALUATION",
        "expiresAt": "1631421073171",
        "addonsConfig": {
          "advancedApiOpsConfig": {},
          "integrationConfig": {},
          "monetizationConfig": {}
        }
      }
    }
    

    Residensi Data

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

    Contoh berikut menunjukkan kemungkinan respons terhadap permintaan ini:

    IN_PROGRESS

    Jika Apigee masih membuat organisasi, Apigee merespons dengan status IN_PROGRESS. Contoh:

    {
      "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"
      }
    }
    

    Anda harus menunggu lebih lama sebelum mencoba memverifikasi bahwa proses pembuatan sudah lengkap.

    SELESAI

    Setelah organisasi disediakan, status operasi yang berjalan lama FINISHED. Contoh:

    {
      "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": "ORG_NAME",
        "description": "",
        "createdAt": "1626237148461",
        "lastModifiedAt": "1626237149384",
        "properties": {
          "property": [
            {
              "name": "features.hybrid.enabled",
              "value": "true"
            },
            {
              "name": "features.mart.connect.enabled",
              "value": "true"
            }
          ]
        },
        "analyticsRegion": "ANALYTICS_REGION",
        "runtimeType": "HYBRID",
        "subscriptionType": "TRIAL",
        "state": "ACTIVE",
        "billingType": "SUBSCRIPTION",
        "apiConsumerDataLocation": "CONSUMER_DATA_REGION",
        "expiresAt": "1631421073171",
        "addonsConfig": {
          "advancedApiOpsConfig": {},
          "integrationConfig": {},
          "monetizationConfig": {}
        }
      }
    }
    
  6. Anda dapat menggunakan API organisasi Apigee untuk mengambil informasi tentang organisasi setelah dibuat.

    Contoh:

    Tidak ada residensi data

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

    Respons atas permintaan Anda berisi detail tentang organisasi yang ditentukan di JSON format font.

    {
      "name": "apigee-example",
      "createdAt": "1626237148461",
      "lastModifiedAt": "1626237149384",
      "properties": {
        "property": [
          {
            "name": "features.hybrid.enabled",
            "value": "true"
          },
          {
            "name": "features.mart.connect.enabled",
            "value": "true"
          }
        ]
      },
      "analyticsRegion": "us-west1",
      "runtimeType": "HYBRID",
      "subscriptionType": "PAID",
      "projectId": "apigee-example",
      "state": "ACTIVE",
      "billingType": "SUBSCRIPTION",
      "expiresAt": "1631421073171",
      "addonsConfig": {
        "advancedApiOpsConfig": {},
        "integrationConfig": {},
        "monetizationConfig": {}
      }
    }

    Residensi Data

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

    Respons atas permintaan Anda berisi detail tentang organisasi yang ditentukan di JSON format font.

    {
      "name": "apigee-example",
      "createdAt": "1626237148461",
      "lastModifiedAt": "1626237149384",
      "properties": {
        "property": [
          {
            "name": "features.hybrid.enabled",
            "value": "true"
          },
          {
            "name": "features.mart.connect.enabled",
            "value": "true"
          }
        ]
      },
      "analyticsRegion": "us-west1",
      "runtimeType": "HYBRID",
      "subscriptionType": "PAID",
      "projectId": "apigee-example",
      "state": "ACTIVE",
      "billingType": "SUBSCRIPTION",
      "expiresAt": "1631421073171",
      "addonsConfig": {
        "advancedApiOpsConfig": {},
        "integrationConfig": {},
        "monetizationConfig": {}
      }
    }

Memecahkan masalah pembuatan organisasi

Saat membuat organisasi menggunakan Create organizations API, Anda mungkin mengalami error yang dihasilkan. Respons akan terlihat seperti berikut:

{
  "error": {
    "code": HTTP_error_code,
    "message": "short_error_message",
    "status": "high_level_error_type",
    "details": [
      {
        "@type": "specific_error_type",
        "detail": "expanded_error_description"
      }
    ]
  }
}

Tabel berikut mencantumkan error yang mungkin Anda terima dan kemungkinan penyelesaiannya saat Anda mencoba membuat organisasi baru:

Kode Error HTTP Error HTTP Deskripsi
400 Invalid JSON payload received Struktur data dalam permintaan Anda berisi error sintaksis atau jalur ke endpoint salah.
400 Invalid organization ID ID organisasi yang Anda minta tidak boleh berisi huruf besar atau karakter khusus selain tanda hubung. Hanya boleh berisi huruf kecil, angka, dan/atau tanda hubung. Deskripsi dapat berisi hingga 32 karakter.
400 Unsupported analytics region Anda juga tidak menentukan nilai analyticsRegion di isi permintaan, atau nilai yang Anda tentukan bukan salah satu opsi yang valid.
400 Does not have an Apigee entitlement Project Google Cloud Anda (yang Anda buat di Langkah 2: Buat project Google Cloud) belum bersifat hybrid mengaktifkan pembuatan versi. Hal ini dapat menunjukkan adanya masalah pada penagihan Anda atau error lainnya yang terkait dengan akun Google Cloud Anda. Untuk informasi selengkapnya, hubungi Penjualan Apigee.
401 Request had invalid authentication credentials Token autentikasi gcloud Anda buruk atau sudah tidak berlaku, atau Anda tidak menyertakannya satu dalam permintaan. Buat token baru dan kirim ulang alamat tersebut.
403 Permission denied on resource project project_ID Anda mungkin telah mengirim permintaan yang berisi project ID atau jalur yang salah.
403 Unable to retrieve project information Organisasi belum dibuat atau disediakan. Anda dapat mengajukan permintaan untuk Operations API untuk memeriksa status operasi yang berjalan lama, seperti yang dijelaskan di langkah 5.
409 Organization already exists Anda mencoba membuat lebih dari satu organisasi untuk project Google Cloud. Anda hanya dapat membuat satu organisasi per project.
409 Org proposed_org_name already exists Anda mencoba membuat organisasi yang memiliki ID yang sama dengan organisasi yang sudah sudah ada. ID organisasi harus unik di semua pelanggan hybrid. Kirim ulang dengan ID organisasi baru yang diusulkan; misalnya, tambahkan nilai numerik ke akhir ID sebelumnya yang sudah Anda coba.

Langkah berikutnya

Lanjutkan ke Langkah 3: Buat grup lingkungan.