ドキュメントAdobe PassAdobe Pass 同時実行モニタリング

同時実行性の監視使用状況 API

最終更新日: 2024年9月18日
  • トピック:
  • 同時実行モニタリング
メモ
このページのコンテンツは情報提供のみを目的としています。 この API を使用するには、Adobeから現在のライセンスが必要です。 無許可の使用は許可されていません。

API の概要

同時実行性モニタリング使用状況(CMU)は、WOLAP (Web ベース オンライン分析処理)プロジェクトとして実装されている。 CMU は、データウェアハウスに基づく汎用のビジネスレポート web API です。 これは、一般的な OLAP 操作を RESTfully で実行できる HTTP クエリ言語として機能します。

メモ
CMU API は一般には使用できません。 可用性に関する質問については、Adobe担当者にお問い合わせください。

CMU API は、基礎となる OLAP キューブの階層ビューを提供します。 URL パスセグメントとしてマッピングされたディメンション階層内の各リソース ディメンション)は、現在の選択対象の(集計) 指標を含むレポートを生成します。 各リソースは、親リソース(ロールアップの場合)とそのサブリソース(ドリルダウンの場合)を指します。 スライスとダイシングは、ディメンションを特定の値や範囲にピン留めするクエリ文字列パラメーターによって実現されます。

REST API は、ディメンションパス、提供されたフィルターおよび選択された指標に従って、リクエストで指定された期間内に使用可能なデータを提供します(提供されていない場合はデフォルト値にフォールバックします)。 時間範囲は、時間ディメンション(年、月、日、時間、分、秒)を含まないレポートには適用されません。

エンドポイント URL のルートパスは、使用可能なドリルダウンオプションへのリンクと共に、1 つのレコード内の全体的な集計指標を返します。 API のバージョンは、エンドポイント URI パスの末尾のセグメントとしてマッピングされます。 例えば、https://mgmt.auth.adobe.com/cmu/v2 は、クライアントが WOLAP バージョン 2 にアクセスすることを意味します。

使用可能な URL パスは、応答に含まれるリンクを介して検出できます。 有効な URL パスは、(事前に)集計指標を保持する基になるドリルダウンツリー内のパスをマッピングするために保持されます。 /dimension1/dimension2/dimension3 という形式のパスは、これら 3 つのディメンションの事前集計を反映します(SQL 句 GROUP BY dimension1、dimension2、dimension3 に相当)。 このような事前集計が存在せず、システムがその場で計算できない場合、API は 404 Not Found 応答を返します。

ドリルダウン・ツリー

次のドリルダウンツリーは、CMU 2.0 で使用可能なディメンション(リソース)を示しています。

CM テナントが利用できるDimension

https://mgmt.auth.adobe.com/cmu/v2 API エンドポイントへの GET は、次を含む表現を返します。

  • 使用可能なルート・ドリルダウン・パスへのリンク:

    <link rel="drill-down" href="/cmu/v2/dimensionA"/>
    <link rel="drill-down" href="/cmu/v2/dimensionB"/>
    
  • すべての指標の概要(集計値)(デフォルトの間隔。クエリ文字列パラメーターは提供されていないので、以下を参照)。

ドリルダウンパスの後(ステップごとの手順):/dimensionA/year/month/day/dimensionX 次の応答を取得します:

  • 「dimensionY」および「dimensionZ」ドリルダウンオプションへのリンク
  • dimensionX の各値の日次集計を含むレポート

フィルター

日時次元を除き、現在のプロジェクションで使用可能な次元(次元パス)は、その名前をクエリー文字列パラメータとして使用してフィルタできます。

次のフィルタリングオプションを使用できます。

  • 次に等しい フィルターは、ディメンション名をクエリ文字列内の特定の値に設定することで提供されます。
  • IN フィルターは、同じ dimension-name パラメーターを、異なる値で複数回追加することで指定できます。dimension=value1&dimension=value2
  • 次に等しくない フィルターには「!」を使用する必要があります ディメンション名の後の記号が「!=' "operator": ディメンション!=値
  • NOT IN フィルターには「!='演算子を複数回使用します(set: ディメンションの各値に 1 回ずつ)。=value1&dimension!=値 2&…

また、クエリ文字列には、ディメンション名に特別な使用法があります。ディメンション名が値のないクエリ文字列パラメーターとして使用される場合、レポートにそのディメンションを含むプロジェクションを返すように API に指示されます。

CMU クエリの例:

URL
同等の SQL
/dimension1/dimension2/dimension3?dimension1=value1
SELECT * from projection WHERE dimension1 = 'value1' GROUP BY dimension1, dimension2, dimension3
/dimension1/dimension2/dimension3?dimension1=value1&dimension1=value2
SELECT * from projection WHERE dimension1 IN ('value1', 'value2') GROUP BY dimension1, dimension2, dimension3
/dimension1/dimension2/dimension3?dimension1!=value1
SELECT * from projection WHERE dimension1 <> 'value1' GROUP BY dimension1, dimension2, dimension3
/dimension1/dimension2/dimension3?dimension1!=value1&dimension2!=value2
SELECT * from projection WHERE dimension1 NOT IN ('value1', 'value2') GROUP BY dimension1, dimension2, dimension3
直接のパスがない場合:/dimension1/dimension3、パス:/dimension1/dimension2/dimension3

/dimension1?dimension3
SELECT * from projection GROUP BY dimension1,dimension3
NOTE
これらのフィルタリング手法はいずれも、日付/時間ディメンションには機能しません。 日付/時間ディメンションをフィルタリングするには、(以下に説明する)クエリ文字列の開始パラメーターと終了パラメーターを必要な値に設定する以外に方法はありません。

次のクエリ文字列パラメーターには、API 用に予約された意味があります(そのため、ディメンション名として使用できません。そうでない場合、そのようなディメンションにはフィルタリングはできません)。

CMU API 予約クエリ文字列パラメーター:

パラメーター
オプション
説明
デフォルト値
例
access_token
はい
IMS OAuth 保護が有効になっている場合、IMS トークンは、標準の認証ベアラートークンまたはクエリ文字列パラメーターとして渡すことができます。
なし
access_token=XXXXXX
dimension-name
はい
任意のディメンション名 – 現在の URL パスまたは有効なサブパスに含まれます。値は「次に等しい」フィルターとして扱われます。 値を指定しない場合、指定したディメンションが現在のパスに含まれていないか隣接していたとしても、強制的に出力に含められます
なし
someDimension=someValue&someOtherDimension
終了
はい
レポートの終了時間(ミリ秒)
サーバーの現在の時刻
終了=(2012-07-30)
形式
はい
コンテンツネゴシエーションに使用されます(効果は同じですが、「拡張」パスより優先順位が低くなります。以下を参照してください)。
なし:コンテンツ・ネゴシエーションでは他の戦略が試行されます
format=json
制限
はい
返される最大行数
リクエストに制限が指定されていない場合にセルフリンクでサーバーから報告されるデフォルト値
制限= 1500
指標
はい
返される指標名のコンマ区切りリスト。これは、使用可能な指標のサブセットのフィルタリング(ペイロードサイズの削減)と、(デフォルトの最適なプロジェクションではなく)リクエストされた指標を含むプロジェクションを返すように API を強制する場合に使用します。
このパラメーターが指定されていない場合、現在のプロジェクションで使用可能なすべての指標が返されます。
metrics=m1,m2
開始
はい
レポートの開始時刻を ISO8601 として指定します。プレフィックスのみを指定した場合、サーバーは残りの部分を入力します(例:start=2012 は start=2012-01-01:00:00:00)
サーバーによってセルフリンクでレポートされます。サーバーは、選択された時間精度に基づいて適切なデフォルトの提供を試みます
開始=2012-07-15

現在利用可能な HTTP メソッドはGETのみです。 OPTIONS/HEAD方式のサポートは、今後のバージョンで提供される可能性があります。

CMU API ステータスコード

状態コード
理由フレーズ
説明
200
OK
応答には、「ロールアップ」リンクと「ドリルダウン」リンク(該当する場合)が含まれます。 レポートは、リソースの属性として、ネストされた「report」要素/プロパティとして表示されます。
400
リクエストが正しくありません
応答本文には、リクエストの問題を説明するテキストメッセージが含まれます。 400 Bad Request ステータスには、応答本文(プレーン/テキスト メディア タイプ)に説明テキストが伴い、クライアント エラーに関する有用な情報が提供されます。 無効な日付形式や既存のディメンション以外に適用されるフィルターなどの些細なシナリオに加えて、システムは、その場で返または集計するために大量のデータが必要なクエリに対しても応答を拒否します。
401
未認証
ユーザー認証に適切な OAuth ヘッダーが含まれていないリクエストが原因です
403
禁止
現在のセキュリティ コンテキストで要求が許可されていないことを示します。これは、ユーザーが認証されたが、要求された情報へのアクセスが許可されていない場合に発生します
404
見つかりません
無効な URL パスが要求で指定された場合に発生します。 クライアントが 200 回の応答で提供される「ドリルダウン」/「ロールアップ」リンクに従う場合は、この問題は発生しません
405
許可されていないメソッド
サポートされていないメソッドがリクエストで使用されたことを示します。 現在はGET方式のみがサポートされていますが、今後のバージョンでは、HEADやOPTIONSが可能になる可能性があります
406
受け付けられません
サポートされていないメディアタイプがクライアントによって要求されたことを示します。
500
内部サーバーエラー
「こんなことは起きてはならないでしょう」
503
サービスを利用できません
アプリケーションまたはその依存関係のエラーを示します

データ形式

データは次の形式で使用できます。

  • JSON (デフォルト)
  • XML
  • CSV
  • HTML(デモ用)

クライアントは次のコンテンツ ネゴシエーション戦略を使用できます(優先順位はリスト内の位置によって決まります。最初のものです)。

  1. URL パスの最後のセグメントに追加される「ファイル拡張子」。例:/cmu/v2/tenant/year/month/day.xml URL にクエリ文字列が含まれる場合、拡張子は疑問符の前にする必要があります:/cmu/v2/tenant/year/month/day.csv?mvpd=SomeMVPD
  2. 形式クエリ文字列パラメーター:例:/cmu/report?format=json
  3. 標準の HTTP Accept ヘッダー:例:Accept: application/xml

「extension」とクエリパラメーターの両方で、次の値がサポートされています。

  • xml
  • json
  • csv
  • html

戦略のいずれかでメディアタイプが指定されていない場合、API はデフォルトで JSON コンテンツを生成します。

ハイパーテキストアプリケーション言語(HAL)

JSON および XML の場合、ペイロードは、次に示すように HAL としてエンコードされます:http://stateless.co/hal_specification.html。

実際のレポート(「report」と呼ばれるネストされたタグ/プロパティ)は、選択または適用可能なすべてのディメンションと指標を含んだレコードの実際のリストと、次のようにエンコードされた値で構成されます。

JSON

 "report": [
  {
    "dimension1": "d1",
    ...
    "metric1": "m1",
    ...
  }, {
    ...
  }
]

XML

 <report>
  <record dimension1="d1" ... metric1="m1" ... />
  ...
</report>

XML および JSON 形式の場合、レコード内のフィールド(ディメンションと指標)の順序は未指定ですが、一貫性があります(順序はすべてのレコードで同じになります)。 ただし、クライアントは、レコード内のフィールドの特定の順序に依存してはいけません。

リソースリンク(JSON の「self」 rel および XML の「href」リソース属性)には、現在のパスと、インラインレポートに使用されるクエリ文字列が含まれます。 クエリ文字列は、暗黙的なパラメーターと明示的なパラメーターをすべて表示するので、ペイロードは、使用される時間間隔や暗黙的なフィルター(ある場合)などを明示的に示します。 リソース内の残りのリンクには、現在のデータをドリルダウンするために追跡できるすべての使用可能なセグメントが含まれます。 ロールアップ用のリンクも提供され、親パス(存在する場合)を指します。 ドリルダウン/ロールアップリンクの href 値には、URL パスのみが含まれます(クエリ文字列は含まれないので、必要に応じてクライアントが追加する必要があります)。 現在のリソースによって使用(または暗黙)されるすべてのクエリ文字列パラメーターが「ロールアップ」リンクまたは「ドリルダウン」リンクに適用できるわけではありません(例えば、フィルターはサブリソースまたはスーパーリソースには適用されない場合があります)。

例(clients という指標が 1 つあり、year/month/day/... に事前集計があるとします)。

  • https://mgmt.auth.adobe.com/cmu/v2/year/month.xml

    <resource href="/cmu/v2/year/month?start=2012-07-20T00:00:00&end=2012-08-20T14:35:21">
      <links>
        <link rel="roll-up" href="/cmu/v2/year"/>
        <link rel="drill-down" href="/cmu/v2/year/month/day"/>
      </links>
      <report>
        <record month="6" year="2012" clients="205"/>
        <record month="7" year="2012" clients="466"/>
      </report>
    </resource>
    
  • https://mgmt.auth.adobe.com/cmu/v2/year/month.json

    {
      "_links" : {
        "self" : {
          "href" : "/cmu/v2/year/month?start=2012-07-20T00:00:00&end=2012-08-20T14:35:21"
        },
        "roll-up" : {
          "href" : "/cmu/v2/year"
        },
        "drill-down" : {
          "href" : "/cmu/v2/year/month/day"
        }
      },
      "report" : [ {
        "month" : "6",
        "year" : "2012",
        "clients" : "205"
      }, {
        "month" : "7",
        "year" : "2012",
        "clients" : "466"
      } ]
    }
    

CSV

CSV データ形式では、リンクや他のメタデータ(ヘッダー行を除く)はインラインで提供されず、代わりに、選択メタデータが、次のパターンに従ってファイル名で提供されます。

report__<start-date>_<end-date>_<filter-values,...>.csv

CSV にはヘッダー行が含まれ、レポートデータは後続の行として含まれます。 ヘッダー行には、すべてのディメンションと、すべての指標が続きます。 レポートデータの並べ替え順序は、ディメンションの順序に反映されます。 したがって、データが D1 で並べ替えられ、次に D2 で並べ替えられた場合、CSV ヘッダーは D1, D2, ...metrics.... のようになります。

ヘッダー行のフィールドの順序は、テーブルデータの並べ替え順を反映しています。

例:https://mgmt.auth.adobe.com/cmu/v2/year/month.csvは、次の内容を含む report__2012-07-20_2012-08-20_1000.csv という名前のファイルを生成します。

年
月
クライアント
2012
6
580
2012
7
231

データの鮮度

リクエストには Last-Modified ヘッダーが含まれていますが、本文のレポートが最後に更新された時刻は 反映されません。 一般レポートは、次のルールを使用して、定期的に計算されています。

  • 時間の精度が 年 または 月 の場合、レポートは 2 日ごとに更新されます
  • 時間の精度が 日 の場合、レポートは 3 時間ごとに更新されます
  • 時間の精度が 時間 の場合、レポートは 1 時間ごとに更新されます
  • 時間の精度が 分 の場合、レポートは毎分更新されます

アクティビティレベル および 同時実行レベル レポートは、時間の精度に関係なく、毎日更新されます。

GZIP 圧縮

Adobeでは、CMU レポートを取得するクライアントで gzip サポートを有効にすることを強くお勧めします。 これにより、応答のサイズが大幅に削減され、応答時間が短縮されます。 (CMU データの圧縮率は 20~30 の範囲である。)

クライアントで gzip 圧縮を有効にするには、次のように Accept-Encoding: ヘッダーを設定します。

Accept-Encoding: gzip, deflate

関連情報

  • CMU の概要
recommendation-more-help
42139a1e-84f9-43e7-9581-d6e1d65973da