このページの内容は Apigee と Apigee ハイブリッドに該当します。
Apigee Edge のドキュメントを表示する。
以下のセクションで説明するように、収益化された API プロダクトに関連付けられている API プロキシにポリシーを接続して、収益化の上限を適用します。
認証ポリシーの追加
Apigee 収益化では、VerifyAPIKey または VerifyAccessToken ポリシーを使用してアクティブな公開料金プランを確認し、受信リクエストが収益化可能かどうかを確認します。
次のいずれかの方法で、VerifyAPIKey ポリシーまたは VerifyAccessToken ポリシーを API プロキシに接続します。
-
[Create Proxy] ウィザードを使用して API プロキシを作成する場合は、[Common policies] ページの [Security: Authorization] セクションで [API Key] または [OAuth 2.0] を選択します。次に例を示します。
-
API プロキシを開発する際に、VerifyAPIKey ポリシーまたは VerifyAccessToken ポリシーを API プロキシ PreFlow 内の最初のポリシーとしてリクエスト フローに接続します。次に例を示します。
詳しくは以下をご覧ください。
- フローにポリシーを接続する
- アクセス トークンの検証
- Debug を使用した認証ポリシーのモニタリングとデバッグ
API プロダクトに対するデベロッパー サブスクリプションの適用
API プロダクトにデベロッパー サブスクリプションを適用するには、API プロキシに MonetizationLimitsCheck ポリシーを接続します。このポリシーは、API にアクセスしているアプリ デベロッパーが関連の API プロダクトのサブスクリプションを購入していない場合にトリガーされます。この場合、MonetizationLimitsCheck ポリシーによって障害が発生し、API 呼び出しがブロックされます。
プロキシ呼び出しの実行時に取得された API プロダクトに収益化料金プランが存在しない場合は、そのプロダクトは収益化されていないとみなされ、MonetizationLimitsCheck ポリシーはそれ以上のデータを取得しないため、このポリシーによる影響はありません。
MonetizationLimitsCheck ポリシーを API プロキシに接続すると、MonetizationLimitsCheck ポリシーのデバッグとmint フロー変数のリファレンスで説明されているように、mint.limitscheck.*
や mint.subscription_*
のフロー変数に値が代入されます。
次のいずれかの方法で MonetizationLimitsCheck ポリシーを API プロキシに接続します。
-
[Create Proxy] ウィザードを使用して API プロキシを作成する場合は、次の図に示すように、[Common policies] ページで [Enforce monetization limits] を選択します。
-
API プロキシを開発する際は、次の図に示すように、VerifyAPIKey または VerifyAccessToken ポリシーの後に API プロキシ PreFlow のリクエスト フローに MonetizationLimitsCheckPolicy を接続します。
詳しくは以下をご覧ください。
- API プロキシの作成
- フローにポリシーを接続する
- Debug を使用した MonetizationLimitsCheck ポリシーのデバッグ
- MonetizationLimitsCheck ポリシー
API プロキシでの収益化割り当ての適用
割り当ては、特定の期間に API プロダクトで許可されるリクエストの数を定義します。収益化に割り当てを適用するには、API プロダクトを作成するときに割り当て値を設定することをおすすめします。
API プロダクトに割り当て値を定義しても、API プロダクトで実行できる呼び出し回数の制限は自動的には適用されません。また、API プロダクトで参照される API プロキシに Quota ポリシーを追加して、API プロダクト レベルで定義された割り当て値が適用されるようにする必要があります。
次のいずれかの方法で Quota ポリシーを API プロキシに接続します。
-
[Create proxy] ウィザードを使用して API プロキシを作成する場合は、[Common policies] の [Quotas] セクションで [Impose quotas per app] を選択します。
-
API プロキシを開発する際に、下の図のように、VerifyAPIKey ポリシーまたは VerifyAccessToken ポリシーの後で Quota ポリシーを API プロキシ PreFlow のリクエスト フローに接続します。
Quota ポリシーを編集して <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>
Quota ポリシーを API プロキシに接続すると、ratelimit.*
フロー変数に値が入力されます。詳細については、Quota ポリシーのデバッグと Quota ポリシーのフロー変数リファレンスをご覧ください。
- フローにポリシーを接続する
- デバッグを使用して Quota ポリシーをデバッグする
- 割り当てポリシー