--- title: "Python Client" slug: "dataquery-python-client-vpc" updated: 2026-09-17T09:29:58Z published: 2026-09-17T09:29:58Z canonical: "guide.ncloud-docs.com/dataquery-python-client-vpc" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Python Client VPC環境で利用できます。 Data Queryで提供する Python Clientの使用方法について説明します。 ## 準備事項 Python Clientを使用する環境に Python 3.9以上がインストールされている必要があります。 ## 使用方法 Data Query Python Clientの使用方法について説明します。 ### 1. パッケージのインストール [PyPI.org](https://pypi.org)に公開されている [ncp-dataquery](https://pypi.org/project/ncp-dataquery/)パッケージをインストールします。 ``` # [required] ncp-dataqueryパッケージをインストール pip install ncp-dataquery # [optional] sqlalchemy形式で Data Queryを連携する場合、当該パッケージをインストール pip install sqlalchemy ``` ### 2. Python Clientの連携例 #### 認証方式 `NcpIamAuthentication` クラスを使用して NCP IAM認証方式をサポートします。 ユーザーの AccessKeyと SecretKeyを入力する必要があります。 #### クエリの提出と結果確認 コードを作成してクエリを提出し、結果を確認します。 例) ``` # DBAPI from ncp_dataquery.dbapi import connect from ncp_dataquery.auth import NcpIamAuthentication conn = connect( host="", port=443, auth=NcpIamAuthentication("", ""), http_scheme="https", reuse_query_result=True, # optional, default=False reuse_query_max_age=5, # optional, default=60, range=1~10080 (unit: minute) ) cur = conn.cursor() cur.execute("SELECT * FROM public_data.korea_national_railway.subway_seoul_capital_area LIMIT 10") rows = cur.fetchall() for row in rows: print(" ".join(row)) ``` ``` # SQLAlchemy from sqlalchemy import create_engine, text from ncp_dataquery.auth import NcpIamAuthentication engine = create_engine( "trino://:443/", connect_args={ "auth": NcpIamAuthentication("", ""), "http_scheme": "https", "reuse_query_result": True, # optional, default=False "reuse_query_max_age": 5, # optional, default=60, range=1~10080 (unit: minute) } ) with engine.connect() as conn: result = conn.execute(text("SELECT * FROM public_data.korea_national_railway.subway_seoul_capital_area LIMIT 10")) for row in result: print(f"{row}") ``` ``` // 結果例 KORAIL 3号線 大化駅 126.747756 37.675883 KORAIL 3号線 大谷駅 126.811025 37.631629 KORAIL 3号線 花井駅 126.832503 37.637837 KORAIL 3号線 元興駅 126.873239 37.650709 KORAIL 3号線 注葉駅 126.761232 37.670138 KORAIL 3号線 鼎鉢山駅 126.773254 37.659709 KORAIL 3号線 馬頭駅 126.777641 126.777641 KORAIL 3号線 白石駅 126.788109 37.642973 KORAIL 3号線 元堂駅 126.842891 37.653103 KORAIL 3号線 三松駅 126.895559 37.653096 ``` #### 使用可能オプション - DBAPI: `connect()` の引数値で入力します。 - SQLAlchemy: `create_engine()`の connect_args引数値で入力します。 | オプション名 | データタイプ | 入力値 | 必須有無 | 備考 | | --- | --- | --- | --- | --- | | server | String | Data Query Endpoint | Y | リージョン別 Data Query Service Endpointを参照 | | reuse_query_result | Boolean | `true` または `false` | N | * default : `false` | | reuse_query_max_age | Integer | `1` ~ `10,080` | N | * default : `60` * reuse-query-result値が `true` の場合にのみ使用されます。(単位: 分) | **リージョン別 Data Query Service Endpoint** 現在は KRリージョンのみ使用でき、リージョンを拡大する予定です。 | リージョン | Endpoint | | --- | --- | | KR | kr.dataquery.naverncp.com | 参考 dataquery-python-clientは trino-python-clientをベースに提供します。上記で案内されたオプション以外の追加内容は、[Trinoドキュメント](https://github.com/trinodb/trino-python-client/tree/0.333.0)をご参照ください。