概要
REST-APIでいろいろなAzureサービスを利用するときに Access Token が必要になります。Pythonプログラムでサクッと動作確認したいときに一時的な環境変数として利用したいなぁ〜 という個人的思いで確認してみました。
実行環境
macOS Monterey 12.3.1
python 3.8.12
azure cli 2.41.0
Azure へのログイン
ローカルのターミナルからPythonプログラムを実行できる権限のアカウントでログインします。
$ az login --tenant [tenantId]
$ az account set --subscription [subscriptionName]
Access Token の生成
ターミナルから Access Token を作成します。Tokenの有効期限はどうやら1時間くらいです。
(base) 22-10-25 9:01 ihoge $ az account get-access-token
{
"accessToken": "eyJ0eXA・・・省略・・・CvuyFvw",
"expiresOn": "2022-10-25 10:07:12.000000",
"subscription": "eeeeeeee-1717-4343-9797-ffffffffffff",
"tenant": "aaaaaaaa-2828-4646-5757-bbbbbbbbbbbb",
"tokenType": "Bearer"
}
これを一時的環境変数として設定します。
$ export EXP_TOKEN=$(az account get-access-token --query 'accessToken' --output tsv)
※「=」の前後にスペースがあると以下のエラーとなります、、、、
$ export EXP_TOKEN = $(az account get-access-token --query 'accessToken' --output tsv)
zsh: bad assignment
設定した環境変数を確認します。
$ env | grep EXP_TOKEN
EXP_TOKEN=eyJ0eXA・・・省略・・・CvuyFvw
※以下のコマンドでも確認できます、、、
$ export -p
Pythonプログラムで環境変数の取得
実行するプログラム
temporary_env.py
import os
EXPORT_TOKEN = os.environ['EXP_TOKEN']
print(EXPORT_TOKEN)
print(type(EXPORT_TOKEN), "\n")
プログラムの実行
$ python temporary_env.py
eyJ0eXA・・・省略・・・CvuyFvw
<class 'str'>
まとめ
これでPythonプログラムからREST-API等のテストをサクッと行えそうです