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 Anda.

Aktifkan deployment arsip seperti yang dijelaskan di bagian berikut.

UI Apigee

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

Dialog Lingkungan baru.

API Apigee

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

Tempat $TOKEN ditetapkan ke token akses OAuth 2.0, 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 responsnya:

{
  "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 ditetapkan 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, lihat Membuat API lingkungan.

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 archive 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 ini berada di lokasi selain direktori kerja saat ini, gunakan flag --source untuk menentukan lokasi direktori utama arsip. Lihat juga Memahami struktur ruang kerja Apigee.

Jika ingin, Anda dapat menambahkan hingga 64 key-value pair label kustom ke deployment arsip menggunakan flag --labels. Misalnya, Anda mungkin ingin memberi label 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
  • Berenkode UTF-8
  • Sesuai dengan ekspresi reguler yang kompatibel dengan Perl (PCRE) 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 dari direktori ruang kerja Apigee src/main/apigee Anda. Untuk mengetahui informasi selengkapnya, lihat Memahami struktur ruang kerja Apigee.
  2. Men-deploy arsip ke Apigee di Google Cloud, sebagai berikut:
    1. Menghasilkan URL bertanda tangan 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 bertahap di bucket Cloud Storage ke Apigee di Google Cloud. menggunakan Archive Deployments API.

Contoh permintaan

Contoh berikut membuat arsip zip src/main/apigee dalam 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 bagian 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 responsnya:

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

Buat daftar semua deployment arsip dalam lingkungan seperti yang dijelaskan di bagian berikut.

gcloud

Untuk mencantumkan 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 berupa Melihat detail deployment arsip. Untuk mengetahui informasi selengkapnya, lihat daftar arsip gcloud beta apigee.

Berikut adalah contoh responsnya:

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

API Apigee

Untuk mencantumkan deployment arsip di lingkungan, berikan 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"

Tempat $TOKEN ditetapkan ke token akses OAuth 2.0, 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 responsnya:

{
  "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 deployment arsip

Lihat detail 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 archive certificate.

Contoh:

gcloud apigee archives describe pzfbs8uidbdv224joz --environment=$ENV

Berikut adalah contoh responsnya:

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'

API Apigee

Untuk melihat detail deployment arsip, ajukan 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 arsip bagi lingkungan Apigee, lihat Mencantumkan semua deployment arsip di lingkungan.

Contoh:

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

Tempat $TOKEN ditetapkan ke token akses OAuth 2.0, 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 responsnya:

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

Memperbarui 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 tanda 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 tertentu. Jika --update-labels juga ditentukan, nilai tersebut akan diterapkan terlebih dahulu.

    Tidak dapat ditentukan jika --clear-labels ditentukan.

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

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

Contoh:

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

Berikut adalah contoh responsnya:

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'

API Apigee

Untuk memperbarui label deployment arsip di Apigee di Google Cloud, berikan 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 di lingkungan.

Teruskan semua label yang ingin Anda tambahkan ke arsip dalam isi permintaan. Label yang Anda teruskan akan menimpa kumpulan label saat ini, sehingga Anda dapat menghapus label dengan menghilangkannya 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"
    }
  }'

Tempat $TOKEN ditetapkan ke token akses OAuth 2.0, 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 responsnya:

{
  "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. Dalam 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 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 responsnya:

Archive deployment revision "fb4r8log2gm63r3gtu" deleted

API Apigee

Untuk menghapus revisi deployment arsip di Apigee di Google Cloud, berikan 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 bagi suatu lingkungan, baca Mencantumkan semua deployment arsip di lingkungan.

Contoh:

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

Tempat $TOKEN ditetapkan ke token akses OAuth 2.0, 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 responsnya:

{}