環境変数の設定


はじめに

LINE-botを開発する際に自分がつまづいた環境変数について書きたいと思います!

環境変数とは

まず「環境変数ってなんや?」って方もいると思うので(僕がそうでした😅)環境変数の説明からします!
環境変数とは

OSが提供するデータ共有機能の一つ。OS上で動作するモノがデータを共有するための仕組みである。(wikipedia)

です。
要は、プログラミングで使う変数のようにあらかじめ設定して置くことで後で呼び出せるようにしておく箱のようなモノです!
イメージはこちらのサイトが分かりやすかったです👉 環境変数

環境変数のメリット

環境変数のメリットは大きく3つ!!

1.OSレベルでの標準機能なのでプログラミング言語に依存しない
2.KeyValueペアで存在するだけのシンプルな機能
3.文字列、型等も持たない

いつ使うのか?

次は環境変数を使う場面ですが主に「機密情報をアプリケーションに渡す」際に使用されます。
GitやGithubでコードを管理していると不特定多数に見られることを前提にしていますがLINEのアクセストークンシークレットなどの機密情報は隠さないといけません。

そのためOS上に環境変数を設定し、コードで呼び出すという方法が使用されています。

実行した環境

今回はLINEのアクセストークンとシークレットを環境変数として登録し、Pythonファイルで呼び出すということを行いました! 実行環境は以下です。
OS:MacOS
言語:Python
環境:Cloud9
シェル:bash

やり方

まずターミナルで環境変数の登録を行います!
※「$」はターミナルで打ってますよーという意味なので実際には打ちません!

$export LINE_CHANNEL_ACCESS_TOKEN="ここにLINEbotのアクセストークンを入力!"
$export LINE_CHANNEL_SECRET="ここにはシークレットを入力!"

次はコードを書いて設定した環境変数を呼び出します!

python_file.py
#osモジュールをインポート
import os

#環境変数の呼び出し
LINE_CHANNEL_ACCESS_TOKEN = os.environ["LINE_CHANNEL_ACCESS_TOKEN"]
LINE_CHANNEL_SECRET = os.environ["LINE_CHANNEL_SECRET"]

これでOSに設定した環境変数を呼び出すことができます。
なお、環境変数はターミナルを立ち上げるごとに設定しないといけないためご注意を!!