Anda dapat membuat dan mengedit kebijakan secara lokal, menggunakan editor atau IDE pilihan Anda yang kompatibel dengan teks atau XML.
Topik ini menggunakan jenis kebijakan Kuota sebagai contoh cara membuat, mengonfigurasi, melampirkan, men-deploy, dan menguji kebijakan.
Sebagian besar proxy API menerapkan kuota. Kuota memberikan kontrol atas frekuensi aplikasi klien
diizinkan untuk memanggil API selama interval waktu tertentu. Dalam contoh di bawah, kebijakan Kuota dikonfigurasi untuk membatasi aplikasi menjadi 1 permintaan per menit. (Meskipun mungkin tidak realistis, hal ini memberikan cara sederhana untuk melihat efek kebijakan.)
Dalam konfigurasi proxy API, file Kebijakan disimpan sebagai file XML di direktori /apiproxy/policies.
Misalnya, kebijakan jenis Kuota yang disebut Quota Policy dapat dibuat sebagai file bernama
QuotaPolicy.xml dengan konten berikut:
Anda dapat membuat file teks secara manual, atau Anda dapat membuat kebijakan dari skema XML. Semua
kebijakan memiliki beberapa setelan yang khusus untuk jenis kebijakan, dan beberapa setelan yang
bersifat umum di semua kebijakan.
Saat Anda melampirkan kebijakan di UI pengelolaan, builder proxy API akan membuat instance kebijakan dari skema XML untuk jenis kebijakan yang Anda pilih. Oleh karena itu, Anda mungkin melihat elemen dalam konfigurasi kebijakan yang, demi kejelasan, tidak selalu disertakan dalam dokumentasi.
Semua kebijakan menentukan atribut berikut:
enabled: Menunjukkan apakah kebijakan diaktifkan (on) atau dinonaktifkan (off). Kebijakan dapat
diaktifkan/dinonaktifkan saat runtime dengan mengubah setelan ini. Kebijakan yang memiliki enabled
yang ditetapkan ke false tidak diterapkan.
continueOnError: Menentukan apakah pipeline harus terus memproses pesan jika kebijakan gagal. Saat menerapkan kebijakan kuota, error kemungkinan menunjukkan bahwa
kuota telah terlampaui, dan oleh karena itu, atribut ini harus disetel ke salah (false).
name: Nama yang Anda berikan untuk kebijakan ini. Nama ini unik untuk instance
kebijakan ini, dan digunakan untuk melampirkan kebijakan ke alur sebagai langkah pemrosesan.
Pada contoh di atas, elemen Allow, Interval, dan
TimeUnit khusus untuk kebijakan Kuota. Elemen ini menyediakan setelan yang diterapkan oleh Layanan API atas nama API. Jenis kebijakan lainnya menentukan setelannya sendiri, yang dapat Anda pelajari di Referensi Kebijakan.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-05 UTC."],[[["\u003cp\u003eThis guide focuses on creating, configuring, attaching, deploying, and testing policies within Apigee and Apigee hybrid environments.\u003c/p\u003e\n"],["\u003cp\u003ePolicies, exemplified here by the Quota policy, are stored as XML files in the \u003ccode\u003e/apiproxy/policies\u003c/code\u003e directory within an API proxy configuration.\u003c/p\u003e\n"],["\u003cp\u003eThe Quota policy type allows control over API invocation frequency, as illustrated by an example that limits apps to one request per minute.\u003c/p\u003e\n"],["\u003cp\u003eAll policies, including the Quota policy, have attributes such as \u003ccode\u003eenabled\u003c/code\u003e, \u003ccode\u003econtinueOnError\u003c/code\u003e, and \u003ccode\u003ename\u003c/code\u003e, which define their behavior and status.\u003c/p\u003e\n"],["\u003cp\u003ePolicy-specific elements like \u003ccode\u003eAllow\u003c/code\u003e, \u003ccode\u003eInterval\u003c/code\u003e, and \u003ccode\u003eTimeUnit\u003c/code\u003e in the Quota policy example provide settings for enforcing API limits.\u003c/p\u003e\n"]]],[],null,["# Attaching and configuring policies in XML files\n\n*This page\napplies to **Apigee** and **Apigee hybrid**.*\n\n\n*View [Apigee Edge](https://docs.apigee.com/api-platform/get-started/what-apigee-edge) documentation.*\n\nYou can create and edit policies locally, using your favorite text or XML-aware editor or IDE.\nThis topic uses the Quota policy type as an example of how to create, configure, attach, deploy,\nand test policies.\n\nMost API proxies enforce a quota. Quotas provide control over how often a client app is\npermitted to invoke an API over a given time interval. In the example below, a Quota policy is\nconfigured to limit apps to 1 request per minute. (While this may not be realistic, it does\nprovide a simple way to see the effects of a policy.)\n\nIn an API proxy configuration, Policy files are stored as XML files under\n`/apiproxy/policies` directory.\n\nFor example, a policy of type Quota called Quota Policy could be created as a file called\n`QuotaPolicy.xml` with the following content: \n\n```text\n\u003cQuota enabled=\"true\" continueOnError=\"false\" name=\"QuotaPolicy\"\u003e\n \u003cAllow count=\"1\"/\u003e\n \u003cInterval\u003e1\u003c/Interval\u003e\n \u003cTimeUnit\u003eminute\u003c/TimeUnit\u003e\n\u003c/Quota\u003e\n```\n\nYou can create a text file by hand, or you can generate the policy from an XML schema. All\npolicies have some settings that are specific to the policy type, and some settings that are\ngeneric across all policies. \nWhen you attach policies in the management UI, the API proxy builder generates the policy instance from the XML schema for the policy type you selected. Therefore, you may see elements in the policy configuration that, for clarity, are not always included in documentation.\n\nAll policies define the following attributes:\n\n- `enabled`: Indicates whether the policy is turned *on* or *off* . Policies can be enabled/disabled at runtime by changing this setting. A policy that has `enabled` set to `false` is not enforced.\n- `continueOnError`: Defines whether the pipeline should continue processing the message if the policy fails. When enforcing quota policies, errors likely indicate that the quota has been exceeded, and, therefore, this attribute should be set to false.\n- `name`: The name that you give to this policy. This name is unique to this policy instance, and it is used to attach the policy to the flow as a processing step.\n\n| **Note:** Except for `name`, you rarely need to modify the default settings for these policy attributes. For this reason, and for clarity, they are often excluded from the policy samples in the documentation.\n\nIn the example above, the elements `Allow`, `Interval`, and\n`TimeUnit` are specific to the Quota policy. These elements provide settings that API\nServices enforces on behalf of an API. Other policy types define their own settings, which you\ncan learn about in the [Policy Reference](/apigee/docs/api-platform/reference/policies/reference-overview-policy)."]]