1. はじめに
IBM CloudのCIS(Cloud Internet Service)では、GraphQLを使ってログなどを取得することが可能になりました(GraphQLはAPI用のクエリ言語です。ググったらもっといい情報が出てきます)。
本稿では、IBM Cloud docsに従って、GraphQLを試してみたいと思います。なお、CISでGraphQLを利用するためにはEnterprise Planである必要があります。
2. GraphiQLの導入とセットアップ
-
ここからダウンロード可能。私の環境はMacなので、
GraphiQL-0.7.2.dmg
をダウンロードしてダブルクリックから導入した。 -
Edit HTTP Header
を押下 -
-
X-Auth-User-Token
の値は、IAMの認証トークン情報であり、取得方法はここを参照。 -
Content-Type
の値は、application/json
-
3. テスト
IBM Cloud docsにあるサンプルを利用してみた。
ツールの左側に以下のQueryを入れて、実行ボタンを押下すると、右側に結果が表示される。
3.1 Case1
Domain ID
は適宜調整してください。
Queryの例
{
viewer {
zones(filter: {zoneTag: "<Domain ID>"}) {
settings {
browserInsightsAdaptiveGroups {
maxDuration
maxNumberOfFields
maxPageSize
enabled
notOlderThan
}
}
}
}
}
3.2 Case2
Domain ID
および日付は適宜調整してください。
Queryの例
{
viewer {
zones(filter: {zoneTag: "<Domain ID>"}) {
httpRequests1hGroups(limit: 5, filter: {datetime_gt: "2020-11-08T00:00:00Z", datetime_lt: "2020-11-10T23:59:59Z"}) {
sum {
countryMap {
bytes
clientCountryName
}
}
dimensions {
date
datetime
}
}
firewallEventsAdaptiveGroups(limit: 10, filter: {datetime_gt: "2020-11-09T00:00:00Z", datetime_lt: "2020-11-10T23:59:59Z"}) {
count
dimensions {
clientCountryName
clientAsn
datetimeHour
}
}
}
}
}