CloverDX(旧CloverETL)で Spotify のデータ に接続

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
CloverDX データ統合ツールのビジュアルワークフローを使って Spotify のデータ を転送。



CData JDBC Driver for Spotify を使用すると、CloverDX(旧CloverETL)のデータ変換コンポーネントで Spotify をソースとして扱えます。この記事では、JDBC Driver for Spotify を使用して、フラットファイルへのシンプルな転送を設定する方法を説明します。

JDBC データソースとして Spotify に接続

  1. Spotify のデータ への接続を作成します。新規のCloverDX グラフで、Outline ペインの「Connections」ノードを右クリックし、「Connections」->「Create Connection」をクリックします。Database Connection ウィザードが表示されます。
  2. プラスアイコンをクリックし、JAR からドライバーをロードします。インストールディレクトリのlib サブフォルダを参照し、cdata.jdbc.api.jar ファイルを選択します。
  3. JDBC URL を入力します。

    OAuth 認証の設定

    Spotify は認証に OAuth 2.0 を使用します。クライアント認証情報を取得するには、Spotify Developer Dashboard でアプリケーションを作成する必要があります。

    Spotify アプリケーションのセットアップ

    1. Spotify Developer Dashboard にアクセスします。
    2. Spotify アカウントでログインして Create app をクリックします。
    3. アプリ名、説明を入力し、Redirect URI を設定します(デスクトップアプリケーションの場合は
      http://localhost:33333
      など)。
    4. アプリ設定から Client IDClient Secret をコピーします。

    接続プロパティ

    以下の接続プロパティを設定して接続を確立してください:

    • AuthScheme:OAuth に設定します。
    • InitiateOAuthGETANDREFRESH に設定します。InitiateOAuth を使うと、OAuthAccessToken を取得するプロセスを管理できます。
    • OAuthClientId:Spotify アプリケーションの Client ID に設定します。
    • OAuthClientSecret:Spotify アプリケーションの Client Secret に設定します。
    • Scope:必要な OAuth スコープ(スペース区切り)に設定します。デフォルトには、このプロファイルのテーブルに必要なすべての読み取りスコープが含まれます。
    • CallbackURL:Spotify アプリケーションで設定したリダイレクト URI に設定します(例:http://localhost:33333)。

    接続文字列の例

    Profile=C:\profiles\Spotify.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackURL=http://localhost:33333;
    

    利用可能な OAuth スコープ

    • user-read-private:ユーザーのサブスクリプション詳細と露骨なコンテンツ設定への読み取りアクセス。
    • user-read-email:ユーザーのメールアドレスへの読み取りアクセス。
    • user-library-read:ユーザーが保存したトラック、アルバム、エピソード、ショー、オーディオブックへの読み取りアクセス。
    • playlist-read-private:ユーザーの非公開プレイリストへの読み取りアクセス。
    • playlist-read-collaborative:ユーザーがフォローしているコラボレーティブプレイリストへの読み取りアクセス。
    • user-follow-read:現在のユーザーがフォローしているアーティストの一覧への読み取りアクセス。
    • user-read-playback-state:ユーザーのプレーヤー状態(デバイス、現在のトラック、再生位置)への読み取りアクセス。
    • user-read-currently-playing:ユーザーが現在再生中のコンテンツへの読み取りアクセス。
    • user-read-playback-history:ユーザーが最近再生したトラックへの読み取りアクセス。
    • user-top-read:ユーザーのトップアーティストとトラックへの読み取りアクセス。

    組み込みの接続文字列デザイナー

    JDBC URL の構築には、Spotify JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインから実行します。

    java -jar cdata.jdbc.api.jar
    

    接続プロパティを入力し、接続文字列をクリップボードにコピーします。

    一般的なJDBC URL は次のようになります:

    jdbc:api:Profile=C:\profiles\Spotify.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackURL=http://localhost:33333;

DBInputTable コンポーネントで Spotify のデータ をクエリ

  1. Palette の「Readers」から「DBInputTable」をジョブフローにドラッグし、ダブルクリックして設定エディターを開きます。
  2. 「DB connection」プロパティで、ドロップダウンメニューから Spotify JDBC データソースを選択します。
  3. SQL クエリを入力します。例:
    SELECT ,  FROM Albums WHERE Id = '4aawyAB9vmqN3uQ7FjRGTy'

クエリの出力をUniversalDataWriter に書き込む

  1. 「Writers」から「UniversalDataWriter」をジョブフローにドラッグします。
  2. UniversalDataWriter をダブルクリックして設定エディターを開き、ファイルURL を追加します。
  3. DBInputTable を右クリックし、「Extract Metadata」をクリックします。
  4. DBInputTable の出力ポートをUniversalDataWriter に接続します。
  5. UniversalDataWriter の「Select Metadata」メニューで、Albums テーブルを選択します。(このメニューはUniversalDataWriter の入力ポートを右クリックしても開けます。)
  6. 「Run」をクリックして、ファイルに書き込みます。

はじめる準備はできましたか?

API Driver で Spotify のライブデータに接続

Spotify に接続