Documentation Index
Fetch the complete documentation index at: https://docs.morph-data.io/llms.txt
Use this file to discover all available pages before exploring further.
Snowflake に接続する
コネクターについての概要は以下のリンクを参照してください。
Connectorを作成する
トップページの「Connectors」タブを選択し「Create」ボタンを押下します。
作成したデータベースに接続する
作成が成功すると一覧表示からコネクター名を取得することができます。アイコン横の文字列がconnection_nameです。これを使用することでコード上でデータベースに接続可能です。
SQLまたはPythonのコードに作成したコネクター名を入力しデータを取得します。{{
config(
connection="connection_name"
)
}}
select * from table_name
ローカルでは現在User/Password方式のみがコマンドで作成可能です。それ以外の方式はダッシュボードをご利用いただくか、直接~/.morph/connections.ymlに記述する必要があります。
morph initコマンドを実行する
morph initコマンドを実行してDBの接続情報を~/.morph/connections.ymlに保存します。morphパッケージのインストールを行なっていない場合は事前に下記のコマンドでインストールしてからお進みください。 対話式のインターフェースでデータベースの種類一覧が表示されるのでSnowflake (User/Password)を選択します。Select your database type:
1. PostgreSQL
2. MySQL
3. Redshift
4. SQLServer
5. Snowflake (User/Password)
6. BigQuery (Service Account)
Enter the number corresponding to your database type: 5
Snowflake (User/Password) selected.
続いて認証情報を入力します。slugはコネクター名として扱うもので、この名前をSQLもしくはPythonで指定します。以下の入力例は実際に接続できる値に置き換えてください。Create a slug for your connection: snowflake-connection
Enter your Snowflake account: https://~
Enter your Snowflake database name: DEMO
Enter your Snowflake username: DEMO_USER
Enter your Snowflake password: password
Enter your Snowflake role name: DEMO_ROLE
Enter your Snowflake warehouse: DEMO_WAREHOUSE
Enter your Snowflake schema name (optional):
認証情報の保存が完了すると以下のメッセージが表示されます。Successfully initialized! 🎉
You can edit your connection details in `path_to_connections.yml`
connections.ymlは以下のように保存されています。他のコネクターを作成した場合はconnections以下に追加されます。cat ~/.morph/connections.yml
connections:
snowflake-connection:
account: https://~
database: DEMO
method: snowflake_user_password
password: password
role: DEMO_ROLE
schema_: ''
type: snowflake
user: DEMO_USER
warehouse: DEMO_WAREHOUSE
コード上でコネクターを使いデータを取得する
SQLまたはPythonのコードに作成したコネクター名を入力しデータを取得します。{{
config(
connection="connection_name"
)
}}
select * from table_name
実際にコネクターを指定してファイルを実行した場合の優先順位は以下の通りです。
またmorph deployを行なった環境ではダッシュボードで作成したコネクターのみが使用可能なため注意してください。
- ローカルマシンの
~/.morph/connections.ymlに記載されたコネクター
- クラウドで登録されたコネクター
秘密鍵・OAuthの場合の記述方法
秘密鍵、もしくはOAuthを使用する際は~/.morph/connections.ymlを直接編集します。access_tokenのリフレッシュはダッシュボードの機能のためローカル環境では記載したものが常時使用されます。秘密鍵方式connections:
snowflake-key-pair-connection
type: snowflake # 固定
method: snowflake_key_pair # 固定
account: str
username: str
database: str
key_pair: str
role: str
warehouse: str
schema_: str # 任意
passphrase: str # 任意
access_token: str # 任意
OAuth方式connections:
snowflake-oauth-connection
type: snowflake # 固定
method: snowflake_oauth # 固定
account: str
database: str
refresh_token: str
client_id: str
client_secret: str
redirect_uri: str
role: str
warehouse: str
code_verifier: str
schema_: str # 任意
access_token: str # 任意