分析 REST API

REST API を使用して分析データにアクセスする方法。

開始前に

API Connect REST API呼び出しは、authorizationヘッダーのベアラートークンを使って認証されます。 ツールキットの資格情報を使用して、ベアラー・トークンを要求します。 ツールキットの認証情報は、API Manager UIで見つけることができます:
  1. API Manager UI にログインします。
  2. ホーム・ページで、 「ツールキットのダウンロード」 タイルをクリックします。
  3. Toolkit の資格情報をダウンロードします。
  4. ダウンロードした credentials.json ファイルを開きます。
    ...
      "toolkit": {
        "endpoint": "https://mgmt.api.example.com/api",
        "client_id": "7409693f-f726-48b4-8909-7c0d26f13e81",
        "client_secret": "5feeb0be-17f8-41a4-96d6-d40f33d69ef6"
      },
    ...
    このファイルの toolkit.client_idtoolkit.client_secret、および toolkit.endpoint をメモします。 これらの値を使用して、ベアラー・トークンを取得します。

手順

  1. API キーを作成します。 APIキーの作成方法の詳細については、 プラットフォームREST APIキーの管理を参照してください。
  2. APIキーを使用してベアラートークンをリクエストします:
    curl -v -k -X POST -d '{"api_key": "<api_key>", "client_id": "<client_id>", "client_secret": "<client_secret>", "grant_type": "api_key"}' -H 'Content-Type: application/json' -H 'Accept: application/json' https://<management_server_platform_api_endpoint>/api/token
    ここで、
    • <api-key> は生成したAPIキーです。
    • <client_id> は、 ファイルの "toolkit" セクションにあるクライアント ID、または クラウド管理者から提供されたものです。 credentials.json API Connect
    • <client_secret> は、 ファイルの "toolkit" セクションにあるクライアント・シークレット、または クラウド管理者から提供されたものです。 credentials.json API Connect
    ベアラー・トークンは、access_token プロパティーで返されます。
    {
        "access_token": "<bearer_token>",
        "token_type": "Bearer",
        "expires_in": 28800
    }

    expires_in 値をメモします。これは、トークンの有効期限が切れるまでの秒数です。 有効期限が切れた後、新しいベアラー・トークンを要求する必要があります。

  3. 返されたベアラートークンを使用して、アナリティクス REST API を呼び出します。
    # This call to /orgs/<provider_organization>/events requires a bearer token that was requested with provider org credentials:
    curl -k -H 'Authorization: Bearer <bearer_token>' -X GET --url 'https://<platform api endpoint>/analytics/<analytics_service>/orgs/<provider_organization>/events'
    
    {
        "total": 300,
        "search_time": 3,
        "events": [...]
    }
    
    # This call to the consumer API: orgs/<consumer org>/dashboard, requires a bearer token that was requested with consumer org credentials.
    curl -k -H 'X-IBM-Consumer-Context: <provider org>.<catalog>' -H 'Authorization: Bearer <bearer_token>' -X GET --url 'https://<consumer api endpoint>/consumer-analytics/orgs/<consumer org>/dashboard' 
    {
        "search_time": 16,
        "status_codes": {
            "total": 300,
            "data": [...]
        },
        "min_response_time": {
            "data": ...
        ...
    
    
    
    ここで、
    • <platform api endpoint> は であるが、分析APIにアクセスするために、 を に置き換えたものである。 toolkit.endpoint /api /analytics
    • <analytics_service> は、分析サービスの名前です。
    • <bearer_token>はステップ 2のトークンである。 トークンを引用符で囲まないでください。
  4. クエリ パラメータを使用して結果をフィルターし、特定のフィールドのみを表示します。
    特定のアナリティクス・イベント・レコードを検索したい場合は、APIコールにクエリ・パラメータを追加します。 たとえば、特定の API および製品への呼び出しのイベント データのみを取得するには、次のようにします。
    /events?api_name=<api name>&product_name=<product name>
    出力で特定のAPIイベントレコードフィールドのみを取得するには、fieldsクエリパラメータ。 たとえば、API 名と呼び出し時刻のみを取得するには、次のようにします。
    /events?fields=api_name,datetime
    特定の時間の前または後のイベントのみをリクエストするには、startそしてendパラメーター。 例:
    /events?start=2024-07-11T10:01:00.000Z&end=2024-07-11T10:02:00.000Z

次のタスク

アナリティクスREST APIの完全なドキュメントはこちらです: Analytics REST API.