間違ってアーカイブしちゃったRedashのQueryを元に戻す方法
結論
※ ただし、アーカイブしちゃったQueryがダッシュボードから参照されている場合、ダッシュボードからQueryが消えたままになる。頑張って手動で戻さないといけない
Redashとは
こちら読んでください
何をやらかしたか
Redashでとある作業をしてて、Redash API経由で1000Queryくらいをアーカイブしてしまった...
RedashのUI上ではアーカイブから元に戻す導線が見つからなかった...
さあ、どうしたもんか🤔
間違ってアーカイブしちゃったQueryをRedash APIで元に戻す
「Redash APIを使えば元に戻せるのでは?」と考えた
まずは、Redash APIを使ってアーカイブされたQueryのレスポンスを確認してみた
{ "can_edit": true, "version": 1, "is_archived": true, "query": "", "id": 1149, "data_source_id": 1, "name": "New Query" }
is_archived
が true
になっていることがわかった
じゃRedas APIのQuery更新APIのパラメータにis_archived
をfalse
で実行すれば、元に戻せるのでは?と考えた
if __name__ == '__main__': try: for i in range(100, 1100): data = { "id": i, "is_archived": False, } response = requests.post( 'https://redash.test.com/api/queries/{}'.format(i), json=data, headers=auth_headers('API_KEY')) response.raise_for_status() except Exception as ex: logging.exception(ex)
こんな感じのPythonスクリプトを書いて実行してみたところ、アーカイブされていたQueryが元に戻りました🎉
よかった😆