API グループインスタンスコントラクトの管理

Exchange の API グループインスタンスへのアクセス権を付与すると、アプリケーションと API インスタンスの間にコントラクトが自動的に作成されます。その後、API Manager からそのコントラクトを管理できます。

適用済みコントラクト

API グループでは、アプリケーションは次のシナリオで同じ API との複数のコントラクトを持つことができます:

  • アプリケーションが API へのアクセスを要求し、その要求が承認される。
    この場合、アプリケーションと API の間に直接的コントラクトが作成されます。これは ​API インスタンスコントラクト​と呼ばれます。

  • アプリケーションは、すでにそのアプリケーションとの直接的コントラクトがある API インスタンスで構成される、API グループインスタンスへのアクセスを要求します。
    これは ​API グループインスタンスコントラクト​と呼ばれます。

アプリケーションに同じ API インスタンスとのコントラクトが複数ある場合、常に 1 つのコントラクトのみがアクティブになります。これは​適用済みコントラクト​と呼ばれます。

このスクリーンショットは、API インスタンスコントラクトのコントラクトレベルとコントラクト状況を示しています。

API グループインスタンスコントラクト

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 グループインスタンスコントラクトを表示する手順は、次のとおりです。

  1. [Anypoint Platform]​ > ​[API Manager]​ に移動します。

  2. [API Groups (API グループ)]​ をクリックします。

  3. API グループインスタンスの詳細ページから、API グループインスタンスの ​version:instance​ リンクをクリックします。

  4. [Contracts (コントラクト)]​ をクリックして、コントラクト情報を表示するインスタンスを展開します。

    API グループインスタンスのコントラクトの表示

    API グループインスタンスのコントラクトが表示されます。

API グループインスタンスコントラクトを管理する手順は、次のとおりです。

  1. [API Manager]​ で、​[API Groups (API グループ)]​ をクリックします。

  2. API グループインスタンスの詳細ページから、API グループインスタンスの ​version:instance​ リンクをクリックします。

    API グループインスタンスの詳細ページが表示されます。

  3. [Contracts (コントラクト)]​ をクリックして、コントラクト情報を表示するインスタンスを展開します。

    API グループインスタンスのコントラクトの管理

    API グループインスタンスのコントラクトが表示されます。

  4. コントラクトを管理する API グループインスタンスで、​[…​]​ > ​[Revoke (取り消し)]​ をクリックします。