Rでの環境変数設定&参照についての備忘録

Databaseに接続する際やAPIのキーをコードで管理したいときに、実際の他者と共有するコードに書いたりすることは絶対に避けるべきことであることは自明であると思う。

上記のようなスクリプト を共有すること自体はそれほど多くはないと思うが、先日久しぶりに振り返って、実装しなければいけない時があったので、備忘録として残しておく。また前の記事でLINE Notify APIを利用したパッケージの紹介を行った。その際にも環境変数APIキーを保存することを推奨したが、そこでピントこなかった人にもこの記事を参考にして欲しい。

kokiando.hatenablog.com

github.com

今回はRでの作業を残しておくが、python環境変数を設定&参照したいと思っている人がいれば下記の動画をおすすめする。短くまとまっているし、必要最低限の部分のみ共有されているのでとても参考になった。

www.youtube.com

基本的には.Renvironというファイルの中で環境変数を管理する。.Renvironとは基本的にユーザー個別で環境変数設定を行えるファイルである。

rstats.wtf

注意したいのはこれはRスクリプト を保管するファイルではないという点である。

シェルのようなコマンドラインフォーマットに則って記述された変数の集まりのようなものと自分は捉えている。

.Renvironをエディタで開き以下のように変数を設定する。

google_key=aaaabbbbccc
LINE_API_TOKEN=abcde12345

至ってシンプルである。改行にも、セミコロンやピリオドなどの指定も不要である。この記述が終わったら一度Rstudioのセッションを再起動させる必要がある。基本的に.Renvironはセッション毎に読み込まれるファイルであることを覚えておく。 ここまでの作業が終わればあとは実際にちゃんと環境変数を参照できるか、または正しく設定されているかを確認することを推奨する。

stat.ethz.ch

> Sys.getenv("LINE_API_TOKEN")
[1] "abcde12345"

このようにbaseRに含まれているSys.getenv()関数を使うことで参照できる。以上。