Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerExchange の API グループインスタンスへのアクセス権を付与すると、アプリケーションと API インスタンスの間にコントラクトが自動的に作成されます。その後、API Manager からそのコントラクトを管理できます。
API グループでは、アプリケーションは次のシナリオで同じ API との複数のコントラクトを持つことができます:
アプリケーションが API へのアクセスを要求し、その要求が承認される。
この場合、アプリケーションと API の間に直接的コントラクトが作成されます。これは API インスタンスコントラクトと呼ばれます。
アプリケーションは、すでにそのアプリケーションとの直接的コントラクトがある API インスタンスで構成される、API グループインスタンスへのアクセスを要求します。
これは API グループインスタンスコントラクトと呼ばれます。
アプリケーションに同じ API インスタンスとのコントラクトが複数ある場合、常に 1 つのコントラクトのみがアクティブになります。これは適用済みコントラクトと呼ばれます。
1 | インスタンスレベルの API インスタンスのコントラクト |
2 | コントラクトが表示される API グループ |
3 | 現在 API インスタンスとのコントラクトがあるアプリケーション |
4 | 現在アクティブなコントラクト |
5 | API グループレベルの API インスタンスのコントラクト |
アプリケーションは、API グループ内の異なる API との複数のコントラクトを持つことができます。API グループレベルで API インスタンスコントラクトを表示できます。コントラクトは、API グループとのコントラクトがあるアプリケーションで並び替えられます。API グループ内で現在アクティブなコントラクトは、Applied
として表示されます。
アプリケーションに同じ API とのコントラクトが複数ある場合、同じ API の他のコントラクト層と比べて制限が最も少ない層が Applied
に設定されます。承認済みのコントラクトのみが Applied
に設定されます。取り消されたコントラクトはアクティブではなくなるため、Applied
に設定されることはありません。
API とアプリケーションの間に複数のコントラクトがある場合、コントラクトが Applied
に設定される方法についての理解を深めるために、次の例を考えてみます。
Good Weather は、Contacts
というアプリケーションの Facebook
API へのアクセスを要求しています。Contacts
と Facebook
の間にコントラクトが作成されます。コンシューマーは同じアプリケーション Contacts
を使用して、数ある中から Facebook
API で構成される Social Chatter
という API グループインスタンスへのアクセスを要求します。Contacts
と Social Chatter
の間にもコントラクトが作成されます。
この場合、アプリケーション Contacts
には 2 つのコントラクトがあります。
API Facebook
との直接的コントラクト
API グループインスタンス Social Chatter
とのコントラクトによる、API Facebook
との間接的コントラクト
Contacts
には 2 つのコントラクトがあるため、どちらのコントラクトが Applied
に設定されるでしょうか。次の条件があるとします。
API コントラクト層では 1 分あたり 100 要求が許可されている
API グループコントラクトでは 1 分あたり 10 要求が許可されている
この場合、Contacts
と Facebook
の間のコントラクトが最も制限の少ない層であるため、Applied
に設定されます。ユーザーは、API グループコントラクトを使用する場合よりも 1 分あたり 90 個多い要求を取得します。
コントラクトは API に適用されますが、API グループインスタンスには適用されません。たとえば、コンシューマーが API グループインスタンス Social Chatter
と別のアプリケーション Interests
の間のコントラクトを作成するとします。
Contacts
と API Facebook
の場合、適用済みコントラクトは API コントラクト。
Interests
と API Facebook
の場合、API グループインスタンスコントラクトがアプリケーションと API の間の唯一のコントラクトであるため、適用済みコントラクトは API グループインスタンスコントラクト。
Interests
には Facebook
API との直接的コントラクトはありません。
API グループインスタンスコントラクトを表示する手順は、次のとおりです。
[Anypoint Platform] > [API Manager] に移動します。
[API Groups (API グループ)] をクリックします。
API グループインスタンスの詳細ページから、API グループインスタンスの version:instance
リンクをクリックします。
[Contracts (コントラクト)] をクリックして、コントラクト情報を表示するインスタンスを展開します。
API グループインスタンスのコントラクトが表示されます。
API グループインスタンスコントラクトを管理する手順は、次のとおりです。
[API Manager] で、[API Groups (API グループ)] をクリックします。
API グループインスタンスの詳細ページから、API グループインスタンスの version:instance
リンクをクリックします。
API グループインスタンスの詳細ページが表示されます。
[Contracts (コントラクト)] をクリックして、コントラクト情報を表示するインスタンスを展開します。
API グループインスタンスのコントラクトが表示されます。
コントラクトを管理する API グループインスタンスで、[…] > [Revoke (取り消し)] をクリックします。