1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Azure の Access Token を一時的な環境変数として利用する

Posted at

概要

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等のテストをサクッと行えそうです

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?