在 API Proxy 中強制實行營利限制

本頁適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

如要強制實行營利限制,請按照下文所述,將政策附加至與營利 API 產品相關聯的 API Proxy。

新增驗證政策

Apigee 營利功能會使用 VerifyAPIKey 或 VerifyAccessToken 政策,檢查有效的發布費率方案,判斷傳入要求是否可營利。

請透過下列任一方式,將 VerifyAPIKey 政策或 VerifyAccessToken 政策附加至 API Proxy:

  • 使用「建立 Proxy 服務精靈」建立 API Proxy 時,請在「常見政策」頁面的「安全性:授權」部分選取「API 金鑰」或「OAuth 2.0」。例如:

    選取 API 金鑰後,建立 Proxy 設定精靈的「Common policies」頁面

  • 開發 API Proxy 時,請將 VerifyAPIKey 政策或 VerifyAccessToken 政策附加至要求流程,做為 API Proxy PreFlow 中的首個政策。例如:

    API Proxy 編輯器中的「開發人員」分頁,顯示已附加至 PreFlow 的「VerifyAPIKey」政策

詳情請參閱:

強制執行開發人員訂閱 API 產品

將「MonetizationLimitsCheck」政策套用至 API Proxy,強制執行開發人員訂閱 API 產品。具體來說,如果存取 API 的應用程式開發人員未購買相關 API 產品的訂閱方案,系統就會觸發這項政策。在這種情況下,「MonetizationLimitsCheck」政策會觸發錯誤,並封鎖 API 呼叫。

如果在執行 Proxy 呼叫時,所擷取的 API 產品沒有營利費率方案,系統會將該產品視為未營利,而 MonetizationLimitsCheck 政策不會擷取任何其他資料,且政策不會生效。

將 MonetizationLimitsCheck 政策套用至 API Proxy 後,系統會填入 mint.limitscheck.*mint.subscription_* 流程變數,詳情請參閱「偵錯 MonetizationLimitsCheck 政策」和 mint 流程變數參考資料。

您可以透過下列任一方式,將「營利限制檢查」政策套用至 API Proxy:

  • 使用「建立 Proxy 服務」精靈建立 API Proxy 時,請在「常見政策」頁面中選取「強制執行營利限制」,如下圖所示。

    「Create proxy」精靈的「Common policies」頁面,已選取「Enforce Limits」核取方塊

  • 開發 API Proxy 時,請附加 MonetizationLimitsCheckPolicy,並將其加入 API Proxy PreFlow 中的要求流程中,在 VerifyAPIKey 或 VerifyAccessToken 政策之後,如以下圖所示。

    API Proxy 編輯器中的「開發人員」分頁,顯示「VerifyAPI」政策後,附加至「PreFlow」的「MonetizationLimitsCheck」政策

如需詳細資訊,請參閱:

在 API Proxy 中強制實行營利配額

配額會定義 API 產品在指定時間範圍內允許的要求數量。如要強制實施營利配額,建議您在建立 API 產品時設定配額值。

為 API 產品定義配額值,並不會自動限制透過 API 產品可發出的呼叫次數。您也必須在 API 產品參照的 API Proxy 中新增配額政策,確保系統會強制執行在 API 產品層級定義的配額值。

您可以透過下列任一方式將配額政策套用至 API Proxy:

  • 使用「建立 Proxy 服務」精靈建立 API Proxy 時,請在「常見政策」頁面的「配額」部分選取「依應用程式施加配額」,如以下圖所示。

    「建立 Proxy 精靈」的「常見政策」頁面,已選取「依應用程式強制執行配額」

  • 開發 API Proxy 時,請附加配額政策至 API Proxy PreFlow 中的要求流程, VerifyAPIKey 或 VerifyAccessToken 政策之後,如以下圖所示。

    API Proxy 編輯器中的「開發人員」分頁,顯示附加至 PreFlow 的配額政策

編輯配額政策,讓 <UseQuotaConfigInAPIProduct> 元素使用在 API 產品層級定義的配額設定。

例如:

<Quota continueOnError="false" enabled="true" name="impose-quota">
    <DisplayName>Impose Quota</DisplayName>
    <UseQuotaConfigInAPIProduct stepName="verify-api-key">
        <DefaultConfig>
            <Allow>10000</Allow>
            <Interval>1</Interval>
            <TimeUnit>week</TimeUnit>
        </DefaultConfig>
    </UseQuotaConfigInAPIProduct>
    <Distributed>true</Distributed>
    <Synchronous>true</Synchronous>
    <StartTime>2021-01-01 12:00:00</StartTime>
</Quota>

將配額政策附加至 API Proxy 時,系統會填入 ratelimit.* 流程變數,如「偵錯配額政策」和配額政策「流程變數」參考資料所述。

如需詳細資訊,請參閱: