# KARTE Datahubとの連携方法

ここでは、KARTE DatahubにあるデータにCodatumからアクセスするためのセットアップ方法を説明します。

### KARTE Datahub上での作業

1. Datahub設定画面にて、払い出しサービスアカウント（SA）を払い出す

* 「その他の設定」>「データハブ設定」 >「 サービスアカウント管理」を選択
* 「払い出しGoogleサービスアカウント」＞「Googleサービスアカウント作成」を押下し、ダウンロードするキータイプを選択の上、保存する（紛失すると復元不可のため、大切に保管してください）

2. 払い出したSAにジョブ実行権限を付与する

* 「BQクエリ実行権限付与済みアカウント」>「権限付与」を押下し、作成したSAを入力して権限を付与する

3. データセット画面にて、SAに閲覧権限を付与する

* サイドバー「データセット」にて、コネクションに用いるデータセット横の 「...」>「データセットの共有設定」を押下
* 「データセットを共有するメンバーを追加」から、作成したSAに閲覧権限を付与する

[こちらのドキュメント](https://developers.karte.io/docs/datahub-create-service-account)でも手順を確認いただけます。「外部サービス」がCodatumに該当します。

### Codatum上での作業

1. Codatumにサインアップする（[こちら](https://app.codatum.com/signup)）

* Codatumアカウントとワークスペースを作成

2. コネクションの作成

* 「ワークスペース設定」>「[コネクション](https://app.codatum.com/workspace/last-accessed/setting/connections)」を開く
* 「+コネクションを追加」からからGoogle BigQueryを選択
* 任意のコネクション名を指定する
* 任意のアクセスレベルを指定する
* KARTE Datahubからダウンロードしたファイルをアップロードする
* 「保存」を押下

3. 同期の設定

* 「コネクション」画面から作成したコネクションを選択し、「テーブル同期設定」>「同期対象」>「編集」を押下
* 「Projectを追加」を押下し、KARTE Datahubのプロジェクト名（例：karte-data）を入力。その後「datasetを追加」を押下し、参照したいdataset名（例：karte\_stream\_\[api\_key]）を選択した上で、「保存して同期」を押下

  <figure><img src="https://1959197998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvyRvOrlY46GCAFYEPPGZ%2Fuploads%2Fgit-blob-5fbc8ad71a5c06d95665f614e29bd4a0ab143dbf%2Fkarte-datahub-sync-settings.png?alt=media" alt="KARTE DatahubのProject名とDataset名の入力画面" width="563"><figcaption></figcaption></figure>

4. そのコネクションを使って、ノートブックやクエリでSQLが実行できることを確認する

* ノートブックを開き、本文内で `/` と入力して、SQLブロックを挿入
* SQLブロックにDatahubで実行できるSQLを入力して Runボタンを押し、実行完了することを確認
  * このとき、コネクションを先程アップロードしたSAにすることを忘れないでください

    <figure><img src="https://1959197998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvyRvOrlY46GCAFYEPPGZ%2Fuploads%2Fgit-blob-9ea8de775c610aee88cdab5b8ab30e76d62ac2b5%2Fimage.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

### 注意点

* 払い出しSAによるクエリは、1日5TBの制限があります。
* 払い出しSAによるクエリはKARTE Datahubのクエリ消費量に合算されます。
* `karte-data` の連携時に `karte-data: Internal Server Error: Error list datasets` のエラーメッセージが表示される場合があります。
  * データセットが多いことに起因するエラーでありクエリの実行などには影響しないことが多いので、クエリの実行やカタログでの閲覧など実行したいアクションが実行できる場合にはエラーを無視して構いません。
* 手順3の同期設定について、KARTEイベントデータであれば、テーブル名は `krt_pockyevent_v1_*` 、データセット名は `karte_stream_[api_key]` 、プロジェクト名は `karte-data` です。
  * `karte-data` はデータセット数が膨大で、データセット名も入力しないとSyncできません。そのため、Add project後に Add dataset ボタンが出てくるまで少し待ってください。
  * 「イベント」ログを格納する実体となるテーブルは、`karte_event` ではなく `krt_pockyevent_v1_*` となります。詳しくは[こちら](https://developers.karte.io/docs/datahub-karte_event-table#%E5%AE%9F%E9%9A%9B%E3%81%AE%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E5%90%8D%E3%81%AFkarte_event%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84)をご覧ください。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.codatum.jp/external-integrations/karte-datahubtono.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
