BigQuery
BigQuery に接続する
コネクターについての概要は以下のリンクを参照してください。
Connectorを作成する
トップページの「Connectors」タブを選択し「Create」ボタンを押下します。
BigQueryの認証情報を入力する
BigQueryでは2つの認証方式が提供されています。
サービスアカウント方式で接続する
BigQuery (Service Account)を選択し表示されたフォームに接続する認証情報を入力します。
項目名 | 説明 | 必須 | 例 |
---|---|---|---|
Credential | サービスアカウントJSON | ✅ | {"project_id": "", ...} |
サービスアカウントの作成については公式ページを参照してください。
OAuthで接続する
BigQuery (OAuth)を選択し表示されたGoogleへのサインインボタンを押下して認証します。
その他共通で入力が必要な項目は以下です。
項目名 | 説明 | 必須 | 例 |
---|---|---|---|
Project ID | プロジェクトID | ✅ | demo-project |
Dataset | データセット名 | demo_dataset | |
Location | ローケーション | asia-northeast1 |
入力後Createボタンを押下すると作成が完了します。パラメータに不備がある場合はエラーが表示されるため接続内容が正しいか再度ご確認ください。
作成したデータベースに接続する
作成が成功すると一覧表示からコネクター名を取得することができます。アイコン横の文字列がconnection_name
です。これを使用することでコード上でデータベースに接続可能です。
SQLまたはPythonのコードに作成したコネクター名を入力しデータを取得します。
Connectorを作成する
トップページの「Connectors」タブを選択し「Create」ボタンを押下します。
BigQueryの認証情報を入力する
BigQueryでは2つの認証方式が提供されています。
サービスアカウント方式で接続する
BigQuery (Service Account)を選択し表示されたフォームに接続する認証情報を入力します。
項目名 | 説明 | 必須 | 例 |
---|---|---|---|
Credential | サービスアカウントJSON | ✅ | {"project_id": "", ...} |
サービスアカウントの作成については公式ページを参照してください。
OAuthで接続する
BigQuery (OAuth)を選択し表示されたGoogleへのサインインボタンを押下して認証します。
その他共通で入力が必要な項目は以下です。
項目名 | 説明 | 必須 | 例 |
---|---|---|---|
Project ID | プロジェクトID | ✅ | demo-project |
Dataset | データセット名 | demo_dataset | |
Location | ローケーション | asia-northeast1 |
入力後Createボタンを押下すると作成が完了します。パラメータに不備がある場合はエラーが表示されるため接続内容が正しいか再度ご確認ください。
作成したデータベースに接続する
作成が成功すると一覧表示からコネクター名を取得することができます。アイコン横の文字列がconnection_name
です。これを使用することでコード上でデータベースに接続可能です。
SQLまたはPythonのコードに作成したコネクター名を入力しデータを取得します。
morph initコマンドを実行する
morph init
コマンドを実行してDBの接続情報を~/.morph/connections.yml
に保存します。
morphパッケージのインストールを行なっていない場合は事前に下記のコマンドでインストールしてからお進みください。
対話式のインターフェースでデータベースの種類一覧が表示されるのでSnowflake (User/Password)を選択します。
続いて認証情報を入力します。slug
はコネクター名として扱うもので、この名前をSQLもしくはPythonで指定します。
以下の入力例は実際に接続できる値に置き換えてください。
認証情報の保存が完了すると以下のメッセージが表示されます。
connections.yml
は以下のように保存されています。他のコネクターを作成した場合はconnections
以下に追加されます。
コード上でコネクターを使いデータを取得する
SQLまたはPythonのコードに作成したコネクター名を入力しデータを取得します。
実際にコネクターを指定してファイルを実行した場合の優先順位は以下の通りです。
またmorph deploy
を行なった環境ではダッシュボードで作成したコネクターのみが使用可能なため注意してください。
- ローカルマシンの
~/.morph/connections.yml
に記載されたコネクター - クラウドで登録されたコネクター
OAuthの場合の記述方法
OAuthを使用する際は~/.morph/connections.yml
を直接編集します。
access_tokenのリフレッシュはダッシュボードの機能のためローカル環境では記載したものが常時使用されます。
OAuth方式