LoginSignup
4
3

trocco®でBoxのメタデータをSnowflakeに転送する(OAuth 2.0認証)

Posted at

はじめに

少し前に(と思ったら2023年7月だった・・・)trocco®の転送元HTTP・HTTPSの認可方式にOAuth 2.0が追加されました。ずっと触れていなかったので今さらながら簡単な検証記事になります。

OAuth 2.0が使えることでデータ取得できるサービスが多く増えるというのはもちろんですが、認証の設定を接続情報に切り出せることで、個々の設定をシンプルに行えるのも便利ですね。

こんな方におすすめ

  • trocco®でのOAuth 2.0での認証について知りたい
  • Boxのメタデータを取得して活用したい

接続情報を作成する

通常、HTTP・HTTPSコネクタでは接続情報は不要(個別に設定する)なのですが、OAuth 2.0での認証を利用する場合、事前に接続情報を作成しておく必要があります。ただし、trocco®での設定の前に、Boxの設定が必要になるので、そちらから進めましょう。

まず、Boxにログインしたあとに、Boxの開発者コンソールにアクセスします。「アプリの新規作成」>「カスタムアプリ」を選択し、必要事項を入力します。

image.png

認証方法として、ユーザー認証 (OAuth 2.0)を選択します。

image.png

リダイレクトURIにhttps://trocco.io/connections/http/callbackを入力し、アプリケーションスコープとして「Boxに格納されているすべてのファイルとフォルダの読み取り」を選択します。

image.png

続いて、trocco®の接続情報作成画面で、必要事項を入力します。

image.png

これで接続情報の作成は完了です。簡単ですね。

転送設定を作成する

転送元HTTP・HTTPSの設定を入力する際に、OAuth 2.0を利用するにチェックします。そのほか、必要事項を入力します。

image.png

認証関連の情報を入力する必要がありません。

image.png

転送先Snowflakeに必要な設定を入力します。

image.png

自動設定をすると、そのままではカラム名が小文字になっているので、一括変換で大文字にしておきます。

image.png

これで設定完了し、実行するとSnowflakeにテーブルが作成されます。

Snowflakeでデータを確認する

テーブルを確認すると、1レコードのENTRIESのカラムに複数のファイルやフォルダの情報が配列形式で入っています。

image.png

クエリを投げてさくっとパースしてあげます。必要に応じて調整してください。

select
  parse_json(e.value):type::varchar as type,
  parse_json(e.value):id::varchar as id,
  parse_json(e.value):name::varchar as name,
  parse_json(e.value)
from
  demo_db.public.box_file_list b
left join
  table(flatten(b.entries)) e

image.png

さいごに

HTTPコネクタはいくつか利用してきましたが、OAuth 2.0を使えると確かに活用の幅が広がるなと改めて思いました。想像以上に設定が簡単な上に可能性も感じられたので、また色々試してみようと思います!

参考

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3