Mule アプリケーションからNASA のデータにアクセス:CData JDBC Driver
CData JDBC Driver for API はNASA のデータをMule アプリケーションと連携することで、読みといった機能をおなじみのSQL クエリを使って実現します。JDBC ドライバーを使えば、NASA のデータをバックアップ、変換、レポート作成、分析するMule アプリケーションをユーザーは簡単に作成できます。
本記事では、Mule プロジェクト内でCData JDBC Driver for API を使用して、NASA のデータのWeb インターフェースを作成する方法を紹介します。作成したアプリケーションを使えば、HTTP 経由でNASA のデータをリクエストして、JSON 形式で結果を取得できます。まったく同様の手順で、すべてのCData JDBC ドライバで数百種類のデータソースのWeb インターフェースを作成できます。手順は以下のとおりです。
- Anypoint Studio で新しいMule プロジェクトを作る。
- Message Flow にHTTP コネクタを追加する。
- HTTP コネクタのアドレスを設定する。

- HTTP コネクタの追加後、Database Select コネクタを同じフローに追加する。
- データベースへの新しい接続を作成し(または既存の接続を編集し)、プロパティを設定する。
- 接続を「Generic Connection」に設定
- Required Libraries セクションでCData JDBC ドライバのJAR ファイルを指定する(例:cdata.jdbc.api.jar)。
- NASA の接続文字列にURL を指定
API キー認証の設定
ほとんどの NASA API エンドポイント(APOD、NeoWS、DONKI、TechTransfer)では、NASA API キーが必要です。https://api.nasa.gov で無料のキーを登録してください。デフォルトの DEMO_KEY ではアクセスが制限されます(1 時間あたり 30 リクエスト、1 日あたり 50 リクエスト)。登録済みのキーでは 1 時間あたり 1,000 リクエストが可能です。
以下のエンドポイントは API キーが不要で、認証なしで利用できます:EONET(Earth Observatory Natural Event Tracker)、EPIC(Earth Polychromatic Imaging Camera)、NASA Image and Video Library、TechPort。
API キーを取得したら、以下の接続プロパティを設定します:
- AuthScheme:APIKey に設定します。
- APIKey:NASA の API キーに設定します。簡単なテストには DEMO_KEY を使用します。
接続文字列の例
Profile=C:\profiles\NASA.apip;AuthScheme=APIKey;APIKey=YOUR_NASA_API_KEY
NASA への接続
認証を設定すると、NASA に接続して、AstronomyPictureOfDay、NearEarthObjectFeed、EonetEvents、NasaImageLibrary などの利用可能なテーブルからデータをクエリできます。
組み込みの接続文字列デザイナ
JDBC 用のURL の作成にサポートが必要な場合は、NASA JDBC Driver に組み込まれた接続文字列デザイナを使用できます。JAR ファイルをダブルクリックするか、コマンドラインからJAR ファイルを実行してください。
java -jar cdata.jdbc.api.jar
接続プロパティを入力して、接続文字列をクリップボードにコピーします。
- Driver クラス名をcdata.jdbc.api.APIDriver に指定します。
- 「接続テスト」をクリックします。
- SQL Query Text をNASA のデータをリクエストするためのSQL クエリに設定します。例えば、
SELECT , FROM AstronomyPictureOfDay WHERE StartDate = '2024-01-01'
。
- Transform Message コンポーネントをフローに追加します。
- Output スクリプトを次のように設定して、ペイロードをJSON に変換します。
%dw 2.0 output application/json --- payload
- NASA のデータを閲覧するには、HTTP コネクタ用に設定したアドレスに移動します(デフォルトでは、localhost:8081):http://localhost:8081。Web ブラウザおよびJSON エンドポイントを使用可能な他のツール内で、NASA のデータをJSON として利用できます。
これで、カスタムアプリケーションおよび他のさまざまなBI、帳票、ETL ツールからNASA のデータを(JSON データとして)扱うための簡易なWeb インターフェースを作成できました。Mule アプリケーションからお好みのデータソースにアクセスできる、JDBC Driver for API の30日の無償評価版のダウンロードはこちらから。