はじめに
少し前に(と思ったら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の開発者コンソールにアクセスします。「アプリの新規作成」>「カスタムアプリ」を選択し、必要事項を入力します。
認証方法として、ユーザー認証 (OAuth 2.0)
を選択します。
リダイレクトURIにhttps://trocco.io/connections/http/callback
を入力し、アプリケーションスコープとして「Boxに格納されているすべてのファイルとフォルダの読み取り」を選択します。
続いて、trocco®の接続情報作成画面で、必要事項を入力します。
これで接続情報の作成は完了です。簡単ですね。
転送設定を作成する
転送元HTTP・HTTPSの設定を入力する際に、OAuth 2.0を利用するにチェックします。そのほか、必要事項を入力します。
認証関連の情報を入力する必要がありません。
転送先Snowflakeに必要な設定を入力します。
自動設定をすると、そのままではカラム名が小文字になっているので、一括変換で大文字にしておきます。
これで設定完了し、実行するとSnowflakeにテーブルが作成されます。
Snowflakeでデータを確認する
テーブルを確認すると、1レコードのENTRIES
のカラムに複数のファイルやフォルダの情報が配列形式で入っています。
クエリを投げてさくっとパースしてあげます。必要に応じて調整してください。
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
さいごに
HTTPコネクタはいくつか利用してきましたが、OAuth 2.0を使えると確かに活用の幅が広がるなと改めて思いました。想像以上に設定が簡単な上に可能性も感じられたので、また色々試してみようと思います!
参考