【2024/08アップデート】Amazon Redshiftでクエリをファイルからインポートできるように！

# はじめに
株式会社ジールの @oreo_tです。
2024/8/14のアップデートで、Redshiftでクエリをファイルインポートできるようになりましたので紹介しようと思います。
以下、公式情報のリンクです。

https://aws.amazon.com/jp/about-aws/whats-new/2024/08/amazon-redshift-query-editor-v2-query-import/

# 機能紹介
### インポートのやり方
まずAWSのコンソールからRedshiftの画面を開き、「クエリエディタv2」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2197572/339a10e0-c88e-8bc2-cdfd-1895f895bb3d.png)

クエリエディタの画面が開けたら、左のメニューから「Queries」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2197572/008595f7-fa55-2055-2925-571fac7d9db3.png)

この画面になったら、右上の「Inport query」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2197572/56221d5c-daeb-5047-028e-ccd4e8bf224d.png)

上の欄に取り込みたいクエリのファイルorフォルダをドラック&ドロップするか、「Add files」「Add folders」から選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2197572/bab08a2e-325c-4348-54bb-b5e4632ae801.png)

取り込むファイルの一覧が表示されます。ここのErrors列に何も書かれていなければ問題なく取り込める想定です。確認して「Import」をクリックしましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2197572/348ed95a-cb6d-25fe-022f-ed687e0707df.png)

クエリ一覧に取り込んだクエリが表示されたら取込み成功です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2197572/8281e182-cd0d-b5d5-dce2-07ff6f354bbd.png)


### インポート内容の確認方法
クエリ一覧で、見たいクエリをダブルクリックor右クリック→「Open query」で内容を確認できます。これで開いたクエリは編集、保存ができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2197572/96a4ed2e-1a6c-a4b8-ef06-807a77773951.png)


### 仕様と注意点

#### ファイル名に日本語が含まれる場合
ファイル名には日本語が含まれていても問題なくインポートできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2197572/43576412-8b6f-ecbe-922c-6a7ad99da110.png)

#### 文字コードについて
UTF-8で読み込まれるので、日本語でコメントを書いてShift-Jis等で保存した場合はインポートされるものの日本語部分が文字化けしてしまいます。あらかじめUTF-8で保存しておきましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2197572/f2f84939-79c8-acfa-d6d7-d30ef50ecfb7.png)

#### 同じファイル名で再度インポートする際
同じファイル名でインポートした場合でも、上書きされずに別のクエリとして扱われます。ローカルで修正したものを再度上げて更新する、といった使い方は出来なさそうなのでご注意ください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2197572/fb5b7065-ef5b-33cd-3c08-792581458ab0.png)

#### ファイルの拡張子
インポートできる拡張子は「.sql」と「.txt」の2種類が対応しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2197572/d6328fca-89e0-ae54-f8b5-6c29220b8727.png)

ですが、、「Add files」からファイルを選択する際は、それ以外の拡張子でもインポートできてしまうようです。(ドラック&ドロップでは追加できませんでした。)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2197572/907ef7bd-e18c-a3f1-7b49-794d9b861dfc.png)

弊社ではよくDDLのファイルを「.ddl」の拡張子で作っているので「.sql」「.txt」以外の拡張子が使えるならありがたいのですが、仕様なのかバグなのか分からないので利用は控えた方がよさそうです。

# まとめ
弊社では開発時によく共有フォルダでクエリを管理していて、そこからコンソール画面へのコピー&ペーストでクエリを実行することがよくありましたが、この方法ならコピペミスを無くせたり、クエリの変更履歴をクエリエディタ上で見られたりするので運用管理が効率的にできそうです。
今回は割愛しましたが、クエリエディタに上げたクエリはチーム内の別ユーザーと共有もできるので、チーム全体の作業効率化にもなりそうです。
皆様もぜひ使ってみてください。

***
株式会社ジールでは、「ITリテラシーがない」「初期費用がかけられない」「親切・丁寧な支援がほしい」「ノーコード・ローコードがよい」「運用・保守の手間をかけられない」などのお客様の声を受けて、オールインワン型データ活用プラットフォーム「ZEUSCloud」を月額利用料にてご提供しております。
ご興味がある方は是非下記のリンクをご覧ください：

https://www.zdh.co.jp/products-services/cloud-data/zeuscloud/?utm_source=qiita&utm_medium=referral&utm_campaign=qiita_zeuscloud_content-area