紹介
イオンリテール(株)デジタル戦略部データソリューションGの丸尾です。
当チームは実店舗出身&非エンジニア人材のみで構成された
システムの内製化チームとなっておりまして、
今回はその中で利用しているものを共有します。
概要
本投稿ではGoogle Cloud Platform(GCP)とローカルPCを、
特定のCLI(SDK)ツールを利用してファイルの送受信や、
Biqueryからのデータ抽出を行う際のコンフィグ設定を説明します。
実際のイントラネットを介した連携は、
詳細なシステムを組んだ方が良いですが、
POC検証やクイックに試したい場合は参考にして下さい。
投稿はいくつか分けて投稿しますので各リンク先をご参照下さい。
稼働環境
💻windowsマシン(windows10)
弊社の従業員向けPCが基本windowsなのでwindowsマシンの方法を記載
公式リファランスにはmac,linuxマシンでの導入方法が記載されています
対象者
①本投稿はGCP初心者の方
②Azcopyなど別クラウドのsdkを使っていた方
③ベンダーに特定ファイルの連携行わせたい方
実施方法
Google Cloud CLI(SDK)を導入したらまず初めに以下を実行
※CLIの導入方法は➡こちら
gcloud init
もしくは以下のショートカットコマンドを実行して下さい
初めてGoogle CloudSDK shell を開いた時、下図のような画面が表示されます。
ログインに進むため「 Y 」 (大文字)を入力して下さい。
ブラウザが開かれ、アカウントを選択する画面に遷移します。
普段GCPを利用しているアカウントを選択し、リクエストが表示されるので許可を押す。
そうすると、自身のアカウントに紐づいているプロジェクトがshell上に表示されるので、自分がローカルPCから操作したいプロジェクトの左にある番号を入力し、Enterを押して下さい
以下の表示が出てデフォルトのリージョン/ゾーンを指定したい方は「y」
よくわからない方は「n」を入力してEnter
これで最低限のコンフィグ入力は完了です
試しにもう一度以下を入力すると
gcloud init
以下のような結果が表示され、
現行のアクティブ化されているアカウントの簡易的な情報が得られます
Settings from your current configuration [default] are:
accessibility:
screen_reader: 'False'
core:
account: ~~~~~~~~@gmail.com
project: my-pj
Pick configuration to use:
[1] Re-initialize this configuration [default] with new settings
[2] Create a new configuration
Please enter your numeric choice:
このコンフィグはローカルPC内で複数設定が可能で、
上の状態で「1」を入力すると「default」という名前のコンフィグ情報を変更
「2」を入力すると新しい名前のコンフィグ作成ができます。
アカウント一覧は以下のコマンドで確認できます
gcloud auth list
またこのアカウントに個々のプロジェクトを紐づけることができるので
コマンドをバッチ実行する時に以下のコマンドで切り替えて操作可能です
gcloud config set account <アカウント名>
@echo off
@REM このbatファイルがある場所へ移動
cd /d "%~dp0"
gcloud config configurations activate default && python main.py
@REM エラーが発生する際はpauseのコメントアウトを外す
@REM pause
&&が付いているのは「configurations activate」の実行で終了してしまわないように付けています。
他にも以下のコンフィグを付けることで各環境を切り替えて実行ができます
gcloud config configurations activate default
gcloud config set account ~~~@gmail.com
gcloud config set project my-pj
gcloud auth activate-service-account --key-file "C:\path\to\~~~.json"
コンフィグが正常に設定できているかは、
ご自身にBig queryの権限がついていれば以下のコマンドを叩いてみて下さい。
bq ls
C:\Users>bq ls
datasetId
---------------
table_test1
table_test2
以上の様に表示されれば正常に設定ができています。
他にもconfig設定は複数あるのでご自身の用途に合わせて調べてみて下さい。
注)ここまで説明してきたコンフィグ設定ですが、エラーとなる場合
接続・権限問題やプロキシー設定をご注意下さい
特にプロキシーは以下のように設定できます。
プロキシーは取り扱い注意で社内でご確認下さい。
#入力漏れがあると接続失敗します
#コピペで入力して「\n」のような改行が入ると、直接configファイルを修正しなければいけない等、面倒なことになるのでご注意下さい
gcloud config set proxy/address 999.999.999.999
gcloud config set proxy/port 8080
gcloud config set proxy/type http
また、プロキシー設定がある環境化で新しいコンフィグを作成しようとして、
「gcloud init> [2] Create a new configuration」を実行し名前を設定した時点で通信が途絶えてしまうのでその際はcmdを開き直すなどして上記の各「gcloud config set proxy」コマンドを実行下さい
実際のRPAコマンドなどはこちら