ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →Google Cloud Storage Connector の30日間無償トライアルをダウンロード
30日間の無償トライアルへ製品の詳細
Google Cloud Storage Python Connector 相談したいGoogle Cloud Storage データ連携用Python コネクタライブラリ。Google Cloud Storage データをPandas、SQLAlchemy、Dash、petl などの人気のPython ツールにシームレスに統合。
CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
Python エコシステムには、多くのモジュールがあり、システム構築を素早く効率的に行うことができます。CData Python Connector for GoogleCloudStorage を使うことで、pandas モジュールとDash フレームワークでGoogle Cloud Storage にデータ連携するアプリケーションを効率的に開発することができます。本記事では、pandas、Dash とCData Connector を使って、Google Cloud Storage に連携して、Google Cloud Storage データ をビジュアライズするシンプルなウェブアプリを作る方法をご紹介します。
CData Python Connectors は、以下のような特徴を持った製品です。
まずは、pip で必要なモジュールおよびフレームワークをインストールします:
pip install pandas pip install dash pip install dash-daq
必要なモジュールとフレームワークがインストールされたら、ウェブアプリを開発していきます。コードのスニペットは以下の通りです。フルコードは記事の末尾に掲載しているので、参考にしてください。
まず、CData Connector を含むモジュールをインポートします:
import os import dash import dash_core_components as dcc import dash_html_components as html import pandas as pd import cdata.googlecloudstorage as mod import plotly.graph_objs as go
接続文字列を使ってデータへの接続を確立します。connect 関数を使ってCData Google Cloud Storage Connector からGoogle Cloud Storage データ との接続を確立します。
cnxn = mod.connect("ProjectId='project1';InitiateOAuth=GETANDREFRESH;OAuthSettingsLocation=/PATH/TO/OAuthSettings.txt")")
ユーザー資格情報の接続プロパティを設定することなく接続できます。InitiateOAuth をGETANDREFRESH に設定したら、接続の準備が完了です。
接続すると、Google Cloud Storage OAuth エンドポイントがデフォルトブラウザで開きます。ログインして権限を付与すると、OAuth プロセスが完了します。
サービスアカウントには、ブラウザでユーザー認証を行わないサイレント認証があります。サービスアカウントを使用して、企業全体のアクセススコープを委任することもできます。
このフローでは、OAuth アプリケーションを作成する必要があります。詳しくは、ヘルプドキュメントを参照してください。以下の接続プロパティを設定したら、接続の準備が完了です:
これで、サービスアカウントのOAuth フローが完了します。
read_sql 関数を使って、padas からSQL 文を発行し、DataFrame に結果を格納します。
df = pd.read_sql("""SELECT Name, OwnerId FROM Buckets WHERE Name = 'TestBucket'""", cnxn)
DataFrame に格納されたクエリ結果を使って、ウェブアプリにname、stylesheet、title を設定していきます。
app_name = 'dash-googlecloudstorageedataplot' external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css'] app = dash.Dash(__name__, external_stylesheets=external_stylesheets) app.title = 'CData + Dash'
次に、Google Cloud Storage データ をベースにした棒グラフを作詞し、アプリのレイアウトを設定します。
trace = go.Bar(x=df.Name, y=df.OwnerId, name='Name') app.layout = html.Div(children=[html.H1("CData Extention + Dash", style={'textAlign': 'center'}), dcc.Graph( id='example-graph', figure={ 'data': [trace], 'layout': go.Layout(alt='Google Cloud Storage Buckets Data', barmode='stack') }) ], className="container")
接続、アプリ、レイアウトを定義したら、アプリを実行してみましょう。以下のコードで実行できます。
if __name__ == '__main__': app.run_server(debug=True)
最後に、Python でウェブアプリを起動してブラウザでGoogle Cloud Storage データ を見てみましょう。
python googlecloudstorage-dash.py
ちゃんとデータが表示できてますね!
Google Cloud Storage Python Connector の30日の無償トライアル をぜひダウンロードして、Google Cloud Storage データ への接続をPython アプリやスクリプトから簡単に作成してみてください。
import os import dash import dash_core_components as dcc import dash_html_components as html import pandas as pd import cdata.googlecloudstorage as mod import plotly.graph_objs as go cnxn = mod.connect("ProjectId='project1';InitiateOAuth=GETANDREFRESH;OAuthSettingsLocation=/PATH/TO/OAuthSettings.txt") df = pd.read_sql("SELECT Name, OwnerId FROM Buckets WHERE Name = 'TestBucket'", cnxn) app_name = 'dash-googlecloudstoragedataplot' external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css'] app = dash.Dash(__name__, external_stylesheets=external_stylesheets) app.title = 'CData + Dash' trace = go.Bar(x=df.Name, y=df.OwnerId, name='Name') app.layout = html.Div(children=[html.H1("CData Extention + Dash", style={'textAlign': 'center'}), dcc.Graph( id='example-graph', figure={ 'data': [trace], 'layout': go.Layout(alt='Google Cloud Storage Buckets Data', barmode='stack') }) ], className="container") if __name__ == '__main__': app.run_server(debug=True)