show log include yuh

勉強したことの復習を兼ねて、IT関係(ネットワーク/サーバ/アプリケーション)についてまとめてます。たまに趣味のこと

スポンサーリンク

StackStormでGCPリソースを操作する

概要

GCPのリソースを操作する際はサービス アカウントでjsonキーをダウンロードし、 環境変数に先程ダウンロードした GOOGLE_APPLICATION_CREDENTIALS で指定する必要があります。今回StackStormでBigQueryを操作するために調査してみました。

virtualenv内で指定する

StackStormはアクション毎にvirtualenv環境を作っているようです。なのでvirtualenvで環境変数を定義することでもできるかと試してみる。

アクションスクリプトのあるディレクトリに移動

cd /opt/stackstorm/virtualenvs

virtualenv 環境へ入る

今回は default にあるvirtualenvに入ります。
source default/bin/activate
※ちなみに抜ける時は deactivate

環境変数の指定

vi default/bin/postactivate

export GOOGLE_APPLICATION_CREDENTIALS="/opt/stackstorm/script/account-key.json"

env内では指定できてるけどactionでは動いてない...?

コード内で指定する

結局これです。os.environでキーを指定することでBigQueryを操作することができました。

os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = '/opt/stackstorm/script/account-key.json'