Men-deploy dan mengelola arsip di lingkungan Apigee

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat dokumentasi Apigee Edge.

Kembangkan dan uji proxy API yang dapat diprogram menggunakan Apigee di VS Code. Kemudian, deploy arsip lingkungan konfigurasi proxy API ke lingkungan produksi dan pengujian integrasi Apigee seperti yang dijelaskan di bagian berikut.

Mengaktifkan deployment arsip di lingkungan Apigee

Sebelum dapat men-deploy arsip, Anda harus mengaktifkan deployment arsip di lingkungan Apigee.

Aktifkan deployment arsip seperti yang dijelaskan di bagian berikut.

UI Apigee Klasik

Untuk mengaktifkan deployment arsip di lingkungan Apigee, saat membuat lingkungan Apigee (di luar wizard penyediaan), pilih Archive di bagian Deployment type.

Dialog Lingkungan Baru.

Apigee API

Untuk mengaktifkan deployment arsip saat membuat lingkungan menggunakan API, tetapkan deploymentType ke ARCHIVE dalam isi permintaan.

Contoh:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments" \
   -X POST \
   -H "Authorization: Bearer $TOKEN" \
   -H "Content-type: application/json" \
   -d
   '{
      "name": "integration-test",
      "description": "Integration test environment",
      "displayName" : "Integration test",
      "deploymentType" : "ARCHIVE"
   }'

Dengan $TOKEN ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi curl yang digunakan dalam contoh ini, lihat Menggunakan curl. Untuk deskripsi variabel lingkungan yang digunakan, lihat Menetapkan variabel lingkungan untuk permintaan Apigee API.

Berikut adalah contoh respons:

{
  "name": "organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
    "operationType": "INSERT",
    "targetResourceName": "organizations/$ORG/environments/integration-test",
    "state": "IN_PROGRESS"
  }
}

Anda dapat memeriksa status operasi. Contoh:

curl https://apigee.googleapis.com/v1/organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7 /
   -H "Authorization: Bearer $TOKEN"

Berikut adalah contoh responsnya. Perhatikan bahwa status operasi adalah FINISHED dan status lingkungan disetel ke ACTIVE.

{
  "name": "organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
    "operationType": "INSERT",
    "targetResourceName": "organizations/$ORG/environments/integration-test",
    "state": "FINISHED"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.apigee.v1.Environment",
    "name": "integration-test",
    "description": "Integration test environment",
    "createdAt": "1615553880084",
    "lastModifiedAt": "1615553881911",
    "displayName": "Integration test",
    "state": "ACTIVE",
    "deploymentType": "ARCHIVE"
  }
}

Untuk mengetahui informasi selengkapnya tentang API ini, lihat Create environments API.

Men-deploy arsip ke lingkungan Apigee

Untuk men-deploy arsip ke lingkungan Apigee, gunakan perintah gcloud berikut:

gcloud beta apigee archives deploy \
    --environment=$ENV \
    [--organization=$ORG] \
    [--source=$SOURCE] \
    [--labels $KEY=$VALUE[,$KEY2=$VALUE2,$KEY3=$VALUE3,...]]

Anda harus menentukan lingkungan Apigee tempat Anda ingin men-deploy arsip menggunakan flag --environment. Lingkungan Apigee harus diaktifkan untuk deployment arsip. Untuk mengetahui informasi selengkapnya, lihat gcloud beta apigee archives deploy.

Secara default, arsip di-deploy:

  • Ke organisasi yang terkait dengan project aktif saat ini yang dikonfigurasi untuk gcloud.

    Untuk melihat konfigurasi gcloud saat ini, jalankan gcloud config list. Untuk menentukan organisasi, gunakan flag --organization.

  • Dari direktori kerja saat ini.
    Jika direktori utama src/main/apigee arsip berada di lokasi selain direktori kerja saat ini, gunakan flag --source untuk menentukan lokasi direktori utama arsip. Lihat juga Memahami struktur ruang kerja Apigee.

Secara opsional, Anda dapat menambahkan hingga 64 pasangan nilai kunci/label kustom ke deployment arsip menggunakan flag --labels. Misalnya, Anda mungkin ingin memberi label pada arsip dengan nomor build. Label akan ditampilkan saat Anda mencantumkan deployment arsip. Nilai kunci harus mematuhi panduan berikut:

  • Panjang maksimum 63 karakter
  • Ukuran maksimum 128 byte
  • Dikodekan dengan UTF-8
  • Sesuai dengan ekspresi reguler (PCRE) yang kompatibel dengan Perl berikut: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}

Di balik layar, perintah gcloud melakukan langkah-langkah berikut saat men-deploy ke Apigee di Google Cloud:

  1. Membuat file ZIP direktori ruang kerja Apigee src/main/apigee Anda. Untuk informasi selengkapnya, lihat Memahami struktur ruang kerja Apigee.
  2. Men-deploy arsip ke Apigee di Google Cloud, sebagai berikut:
    1. Membuat URL yang ditandatangani untuk bucket Google Cloud Storage dalam project yang terkait dengan organisasi Apigee saat ini menggunakan generateUploadUrl API.
    2. Mengupload file zip arsip ke bucket Cloud Storage menggunakan URL yang ditandatangani.
    3. Men-deploy arsip yang saat ini di-staging di bucket Cloud Storage ke Apigee di Google Cloud. menggunakan Archive Deployments API.

Contoh permintaan

Contoh berikut membuat arsip zip src/main/apigee di direktori saat ini dan men-deploy-nya ke lingkungan Apigee yang ditentukan:

gcloud beta apigee archives deploy --environment=$ENV

Contoh berikut menunjukkan cara menentukan organisasi yang tidak terkait dengan project aktif saat ini yang dikonfigurasi untuk gcloud:

gcloud beta apigee archives deploy --environment=$ENV --organization=$ORG

Contoh berikut membuat arsip zip direktori src/main/apigee di myarchive dan men-deploy-nya ke lingkungan Apigee yang ditentukan:

gcloud beta apigee archives deploy --environment=$ENV --source=/myarchive

Contoh berikut menambahkan label status dan build_id ke deployment arsip:

gcloud beta apigee archives deploy --environment=$ENV --labels=status=released,build=210315

Contoh respons

Berikut adalah contoh respons:

Using Apigee organization 'myorg'
Waiting for operation [b64c2665-b5ac-43cc-9e2d-232e8895c2ed] to complete...done.

Memeriksa status deployment arsip

Untuk memeriksa status deployment arsip, gunakan perintah gcloud alpha apigee operations.

Contoh berikut menunjukkan status deployment arsip untuk operasi dengan ID revisi 439fa3f7-6aa4-42ad-8b12-3ca912c75d5c adalah IN_PROGRESS.

gcloud alpha apigee operations describe b64c2665-b5ac-43cc-9e2d-232e8895c2ed

Berikut adalah contoh responsnya. Perhatikan bahwa state ditetapkan ke IN_PROGRESS.

Using Apigee organization 'myorg'
done: true
metadata:
  '@type': type.googleapis.com/google.cloud.apigee.v1.OperationMetadata
  operationType: INSERT
  state: IN_PROGRESS
  targetResourceName: uri
name: organizations/myorg/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed
organization: myorg
response:
  '@type': type.googleapis.com/google.cloud.apigee.v1.CanaryEvaluation
  control: 1-5-0-20210319-071117-ghq74
  endTime: '2021-03-20T06:15:44.329363950Z'
  metricLabels:
    env: test
    location: us-central1
  name: uri
  startTime: '2021-03-20T06:14:44.306534584Z'
  treatment: 1-5-0-20210319-190954-if0wk
  verdict: NONE
uuid: b64c2665-b5ac-43cc-9e2d-232e8895c2ed

Setelah operasi selesai, state akan disetel ke FINISHED.

Mencantumkan semua deployment arsip dalam lingkungan

Cantumkan semua deployment arsip di lingkungan seperti yang dijelaskan di bagian berikut.

gcloud

Untuk menampilkan daftar semua deployment arsip di Apigee di Google Cloud, gunakan perintah gcloud berikut:

gcloud beta apigee archives list --environment=$ENV

Anda harus menentukan lingkungan Apigee tempat Anda ingin melihat deployment arsip menggunakan flag --environment. Lingkungan Apigee harus Melihat detail untuk deployment arsip. Untuk mengetahui informasi selengkapnya, lihat gcloud beta apigee archives list.

Berikut adalah contoh respons:

Using Apigee organization 'myorg'
ARCHIVE ID                        ENVIRONMENT   DEPLOYED AT           LABELS                         OPERATION STATUS
pzfbs8uidbdv224joz                myorg         2021-03-10 11:21:29   status=released,build=210315   Deployed
fb4r8log2gm63r3gtu                myorg         2021-03-05 13:40:30
vrytwbhso558oil53m                myorg         2021-03-03 21:20:53

Apigee API

Untuk mencantumkan deployment arsip di lingkungan, buat permintaan GET ke API berikut: https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments.

Contoh:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments" \
  -H "Authorization: Bearer $TOKEN"

Dengan $TOKEN ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi curl yang digunakan dalam contoh ini, lihat Menggunakan curl. Untuk deskripsi variabel lingkungan yang digunakan, lihat Menetapkan variabel lingkungan untuk permintaan Apigee API.

Berikut adalah contoh respons:

{
  "archiveDeployments": [
    {
      "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz",
      "labels": {
        "status": "released",
        "build": "210315"
      },
      "createdAt": "1615821232451727",
      "updatedAt": "1615821232451727",
      "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed"
    },
    {
      "name": "organizations/myorg/environments/integration-test/archiveDeployments/fb4r8log2gm63r3gtu",
      "createdAt": "1615819281858447",
      "updatedAt": "1615819281858447",
      "operation": "organizations/apigee-docs-c/operations/71549b9c-4493-41b6-9838-c0ad5b1b3181"
    },
    {
      "name": "organizations/myorg/environments/integration-test/archiveDeployments/vrytwbhso558oil53m",
      "createdAt": "1615578337832207",
      "updatedAt": "1615578337832207",
      "operation": "organizations/apigee-docs-c/operations/a2eb50b5-f276-4de4-96a3-72fac3d4c05e"
    }
  ]
}

Melihat detail untuk deployment arsip

Lihat detail untuk deployment arsip seperti yang dijelaskan di bagian berikut.

gcloud

Untuk melihat detail deployment arsip di Apigee di Google Cloud, gunakan perintah gcloud berikut:

gcloud beta apigee archives describe $ID --environment=$ENV

Anda harus menentukan hal berikut:

  • ID revisi deployment arsip.
  • Lingkungan Apigee tempat Anda ingin melihat deployment arsip menggunakan flag --environment. Lingkungan Apigee harus diaktifkan untuk deployment arsip.

Untuk mengetahui informasi selengkapnya, lihat gcloud beta apigee archives describe.

Contoh:

gcloud apigee archives describe pzfbs8uidbdv224joz --environment=$ENV

Berikut adalah contoh respons:

Using Apigee organization 'myorg'
createdAt: '1615578337832207'
labels:
  status: 'released'
  build: '210315'
name: organizations/myorg/environments/$ENV/archiveDeployments/pzfbs8uidbdv224joz
operation: organizations/myorg/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed
operationStatus: Deployed
updatedAt: '1615821232451727'

Apigee API

Untuk melihat detail deployment arsip, buat permintaan GET ke API berikut: https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID.

Anda harus meneruskan ID revisi deployment arsip. Untuk melihat daftar ID revisi deployment file arsip untuk lingkungan Apigee, lihat Mencantumkan semua deployment file arsip dalam lingkungan.

Contoh:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/pzfbs8uidbdv224joz" \
  -X GET \
  -H "Authorization: Bearer $TOKEN"

Dengan $TOKEN ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi curl yang digunakan dalam contoh ini, lihat Menggunakan curl. Untuk deskripsi variabel lingkungan yang digunakan, lihat Menetapkan variabel lingkungan untuk permintaan Apigee API.

Berikut adalah contoh respons:

{
  "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz",
  "labels": {
     "status": "released",
     "build": "210315"
  },
  "createdAt": "1615578337832207",
  "updatedAt": "1615821232451727",
  "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed"
}

Memperbarui label untuk deployment arsip

Perbarui label untuk deployment arsip seperti yang dijelaskan di bagian berikut.

gcloud

Untuk memperbarui label deployment arsip di Apigee di Google Cloud, gunakan perintah gcloud berikut:

gcloud beta apigee archives update [$ID] --environment=$ENV
  [--update-labels=$KEY=$VALUE[,$KEY2=$VALUE2...$KEYn=$VALUEn]],
  [--clear-labels | --remove-labels=$KEY[,$KEY2...$KEYn]]

Anda harus menentukan hal berikut:

  • ID revisi deployment arsip
  • Lingkungan Apigee tempat Anda ingin melihat deployment arsip menggunakan flag --environment. Lingkungan Apigee harus diaktifkan untuk deployment arsip.
  • Satu atau beberapa flag berikut:
    Tanda Deskripsi
    --clear-labels Menghapus semua label. Jika --update-labels juga ditentukan, --clear-labels akan diterapkan terlebih dahulu.

    Tidak dapat ditentukan jika --remove-labels ditentukan.

    --remove-labels Menghapus label yang ditentukan. Jika --update-labels juga ditentukan, diskon tersebut akan diterapkan terlebih dahulu.

    Tidak dapat ditentukan jika --clear-labels ditentukan.

    --update-labels Perbarui label. Jika label sudah ada, nilainya akan diubah; jika tidak, label baru akan dibuat. Gabungkan dengan flag --remove-labels atau --clear-labels untuk menghapus subset atau semua label, sebelum memperbarui label.

Untuk mengetahui informasi selengkapnya, lihat update arsip apigee gcloud beta.

Contoh:

gcloud apigee archives update pzfbs8uidbdv224joz --environment=$ENV \
  --clear-labels --update-labels=status=released,build=210315,tier=1

Berikut adalah contoh respons:

Using Apigee organization `myorg`
createdAt: 2020-04-04T04:04:04.004Z
labels:
  status: released,
  build: 210315,
  tier: 1
name: organizations/apigee-docs-c/environments/dev/archiveDeployments/pzfbs8uidbdv224joz
operation: organizations/apigee-docs-c/operations/bf587121-8b5c-4897-9d8f-9b1ef0cb06ca
updatedAt: '1633450432067431'

Apigee API

Untuk memperbarui label deployment arsip di Apigee di Google Cloud, buat permintaan PATCH ke API berikut: https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID.

Anda harus meneruskan ID revisi deployment arsip. Untuk melihat daftar ID revisi deployment arsip untuk lingkungan Apigee, lihat Mencantumkan semua deployment arsip dalam lingkungan.

Teruskan semua label yang ingin Anda tambahkan ke arsip dalam isi permintaan. Label yang Anda teruskan akan menulis ulang kumpulan label saat ini, sehingga Anda dapat menghapus label dengan menghapusnya dari isi permintaan atau menghapus semua label dengan meneruskan daftar kosong.

Contoh:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID" \
  -X PATCH \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
    "labels": {
      "status" : "released",
      "build" : "210315"
    }
  }'

Dengan $TOKEN ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi curl yang digunakan dalam contoh ini, lihat Menggunakan curl. Untuk deskripsi variabel lingkungan yang digunakan, lihat Menetapkan variabel lingkungan untuk permintaan Apigee API.

Berikut adalah contoh respons:

{
  "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz",
  "labels": {
     "status": "released",
     "build": "210315"
  },
  "createdAt": "1615578337832207",
  "updatedAt": "1615821232451727",
  "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed"
}

Menghapus lingkungan Apigee dengan deployment arsip

Untuk menghapus lingkungan Apigee dengan deployment arsip:

  1. Di folder sementara, buat struktur direktori berikut dengan $ENV cocok dengan nama lingkungan yang ingin Anda hapus. Contoh:
    mkdir -p /$TEMP/archive/src/main/apigee/environments/$ENV
  2. Tambahkan file deployments.json ke direktori. Contoh:
    touch /$TEMP/archive/src/main/apigee/environments/$ENV/deployments.json
  3. Perbarui deployments.json untuk menyertakan array proxies kosong, seperti yang ditunjukkan di bawah.
    {
    "proxies" : []
    }
  4. Ubah direktori (cd) ke folder $TEMP/archive.
    cd $TEMP/archive

    Jika Anda

  5. Deploy arsip ke lingkungan Apigee yang ingin Anda hapus.
    gcloud beta apigee archives deploy --environment=$ENV
    
  6. Hapus lingkungan Apigee.

Menghapus revisi deployment arsip

Hapus revisi deployment arsip seperti yang dijelaskan di bagian berikut.

gcloud

Untuk menghapus revisi deployment arsip di Apigee di Google Cloud, gunakan perintah gcloud berikut:

gcloud beta apigee archives delete $ID --environment=$ENV

Anda harus menentukan hal berikut:

  • ID revisi yang ingin Anda hapus.
  • Lingkungan Apigee tempat Anda ingin melihat deployment arsip menggunakan flag --environment. Lingkungan Apigee harus diaktifkan untuk deployment arsip.

Contoh:

gcloud apigee archives delete fb4r8log2gm63r3gtu --environment=dev

Berikut adalah contoh respons:

Archive deployment revision "fb4r8log2gm63r3gtu" deleted

Apigee API

Untuk menghapus revisi deployment arsip di Apigee di Google Cloud, buat permintaan DELETE ke API berikut: https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID.

Anda harus meneruskan ID revisi deployment arsip yang ingin dihapus. Untuk melihat daftar ID revisi deployment arsip untuk lingkungan, lihat Mencantumkan semua deployment arsip dalam lingkungan.

Contoh:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID" \
  -X DELETE \
  -H "Authorization: Bearer $TOKEN" \

Dengan $TOKEN ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi curl yang digunakan dalam contoh ini, lihat Menggunakan curl. Untuk deskripsi variabel lingkungan yang digunakan, lihat Menetapkan variabel lingkungan untuk permintaan Apigee API.

Berikut adalah contoh respons:

{}