現象
表題の件、下記のように、Redash の Python DataSources で get_query_result で値を取得しようとすると、KeyError が表示された。
result = get_query_result(1)['rows'][0]['REMOTEADDRESS']
Error running query: <type 'exceptions.KeyError'> 'REMTOTEADDRESS'
存在しないカラム名を指定した時に出るエラーなのだが、参照元のクエリの出力結果を見ると、REMOTEADDRESS は存在していた。
原因
参照元クエリの出力結果とSQLの実行時の名称が異なっていたため。
クエリ出力結果では「REMOTEADDRESS」と表示されていたが、SQL 上では「remoteAddress」だった。
「remoteAddress」を指定したら問題なく動いた。
result = get_query_result(1)['rows'][0]['remoteAddress']
結果出力時に何故か大文字になってしまっていて、勘違いしていたようだ。
コメント