1
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

td-client-python でエンドポイントを指定した場合に、SSL接続でクエリを実行する

Python3 で td-client-python を使う際に、エンドポイントがデフォルトではない場合があります。
その場合は以下のようにエンドポイントを指定する必要があります。
例えば TD_ENDPOINT をapi.treasuredata.co.jpとすると、HTTP接続でクエリを実行します。
ここで、SSL接続が必要になる場合があります。

import os

from os.path import join, dirname

import tdclient

from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), '.env')
load_dotenv(dotenv_path)

TD_APIKEY = os.environ.get('TD_APIKEY')
TD_ENDPOINT = os.environ.get('TD_ENDPOINT')
DATABASE = 'hoge'

with tdclient.Client(apikey=TD_APIKEY, endpoint=TD_ENDPOINT) as client:
  job = client.query(DATABASE, 'SELECT COUNT(1) FROM fuga', type='presto')
  job.wait()

手元の環境は以下になります。

  • Ubuntu 18.04 LTS
  • Python 3.7.0
  • td-client==0.13.0

※ (2020.7.21 更新)
td-client==1.2.1 以降はデフォルトでSSL接続になるとのことです。

この場合、エンドポイントの指定でhttps://api.treasuredata.co.jpと明示的にSSLを指定する必要があります。

参考になった記事

td-client-python

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?