LINQPad でNASA のデータを操作する方法

加藤龍彦
加藤龍彦
デジタルマーケティング
LINQPad でNASA にLINQ クエリを実行する方法を解説します。



CData ADO.NET Provider for API は、LINQ やEntity Framework などの標準のADO.NET インターフェースを使ってNASA の操作を実現します。この記事では、LINQPad から接続してLINQ クエリを実行する方法を説明します。

必要なもの

本記事の手順を実行してLINQPad からNASA に接続するには、以下の3つの製品が必要になります。

  • NASA の環境
  • LINQPad
  • CData ADO.NET Provider for API。右側のサイドバーから30日間無償トライアルがダウンロードできます

データモデルの作成

CData ADO.NET Provider for API およびLINQPad をダウンロード・インストールしたら、Visual Studio で新しいクラスライブラリプロジェクトを作成します。

ADO.NET Provider の利用に必要となるEF 6を設定する方法については、ヘルプドキュメントを参照してください。

  1. プロジェクトを右クリックし、[追加]→[新しい項目]→[ADO.NET Entity Data Model]をクリックします。ダイアログが表示されたら、データベースから[Code First]を選択します。 [New Connection]をクリックして、表示されたウィザードで接続文字列オプションを指定します。

    New Connectionを選択して新しい接続設定を作成
  2. 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 などの利用可能なテーブルからデータをクエリできます。

    一般的な接続文字列は次のとおりです。

    Profile=C:\profiles\NASA.apip;AuthScheme=APIKey;APIKey=YOUR_NASA_API_KEY
  3. 希望するテーブルおよびビューを選択して[Finish]をクリックし、データモデルを作成します。

    下部のFinishをクリックしてデータモデルを作成
  4. プロジェクトをビルドします。生成されたファイルを使ってLINQPad でNASA 接続を作成できます。

LINQPad でNASA のデータに接続

必要な接続プロパティを取得してデータモデルアセンブリを作成したら、以下の手順に従ってLINQPad でデータモデルを使いはじめましょう。

  1. LINQPad を開き[接続の追加]をクリックします。

    接続の追加をクリック
  2. [Use a typed data context from your own assembly]オプションを選択します。

  3. [Entity Framework DbContext]を選択します。

    下部のフィールドから[Entity Framework DbContext]を選択
  4. [Path to Custom Assembly]ボックスの横にある[参照]をクリックして、プロジェクトフォルダを参照します。bin フォルダの下の.dll または.exe を参照します。

  5. DbContext の名前を選択します。
  6. 接続文字列をApp.Config に保存した場合は、App.Config へのパスを指定します。
DbContextの名前とApp.Configへのパスを指定

これでLINQPad 経由でNASA にクエリできます。サポートされたLINQ クエリの例は、ヘルプドキュメントの「LINQ およびEntity Framework」を参照してください。

LINQPad からNASAに接続

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

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

NASA に接続