FIWAREマーケットプレイス データ購入手順

本手順書について

NECとさくらインターネットが共同運営するデータ流通実証実験環境に構築された、FIWAREデータマーケットプレイス(以下、「マーケットプレイス」と記載します)を使用し、データを購入するため手順ついて説明します。マーケットプレイスは、FIWARE Business API Ecosystem (BAE) というソフトウェアを使用して実現しています。また、購入したデータの参照方法、プログラムからのデータ取得についても説明します。

用語

本手順書では、以下の用語を用いて手順を説明します。

用語 説明
マーケットプレイス FIWARE GE(ソフトモジュール)を使って構築したデータマーケットプレイス。APIで提供されるデータの売買を可能にするシステム
BAE FIWARE Business API Ecosystem。マーケットプレイスを構成するソフトウェア
IDM マーケットプレイスにログインするための認証を行うシステム
CKAN マーケットプレイスで売買されるデータを格納するシステム
Orion 購入したデータにFIWARE NSGIv2 APIでアクセスできるシステム
売り手 マーケットプレイスにデータを登録して、データの販売を行うユーザ
買い手 マーケットプレイスに登録されているデータを購入するユーザ
プロダクト 売り手が保有しているデータ(製品)
オファーリング プロダクトの中から、売り手が販売情報(値付けなど)の登録を行い、販売するデータ(商品)
カタログ オファーリングを分類するためのグループ
ストック 売り手の所有しているプロダクトおよびオファーリングを保管する場所
インベントリ 買い手の購入したデータ、受発注履歴を保管する場所
PayPal マーケットプレイスで購入したデータの代金を支払うためのシステム

テスト用アカウントについて

マーケットプレイスの利用者には、以下の2つのテスト用アカウントを運営事務局から提供します。ご提供するアカウントは、テスト目的のため、メールアドレス、氏名などの個人情報は使用しないで、ダミーデータを登録しています。

IDMアカウント

マーケットプレイス、CKAN、Orionを使用するためのアカウントです。

PayPalテスト用アカウント

マーケットプレイス上で購入したデータの代金を支払うためのPayPalアカウントです。マーケットプレイスではデータ取引の決済手段にPayPalを使用しています。今回の実証実験ではデータの取引を行いますが、実際に費用はかかりません。このため、マーケットプレイスでは、PayPalサンドボックスという決済をテストする仕組みを利用し、実際の通貨を使用せず、テスト用のPayPal環境の中で架空の金銭の授受を行います。このアカウントはマーケットプレイス上での購入支払のみに利用することができ、実際の商品を購入するなどの、他の支払い目的には使用できません。

マーケットプレイスを使用したCKANデータ購入、参照の流れ

データの買い手は、以下の流れでデータを購入、参照を行います。マーケットプレイスへのアクセスにはアカウントを使用します。アカウントは、利用申し込み時に運営事務局からご提供したアカウントです。   1. マーケットプレイスへのログイン 2. マーケットプレイスからデータの購入を行う 3. 買い手の住所登録 4. オファーリング購入 5. CKANデータセットの参照 6. データの購入履歴を確認する 7. PayPalでの支払いを確認する

データの購入方法

マーケットプレイスへのログイン

ブラウザで 以下のURLを開きます。

https://bae.fiware-testbed.jp/

マーケットプレイスのトップページが表示されます。 右上の「Sign in」が表示されている場合はクリックします。

IDMのログイン画面が表示されます。 事前に払い出されているIDMアカウントのメールアドレス、パスワードを入力して、「Sign In」をクリックします。

マーケットプレイスの初回ログイン時のみ、以下の「Authorize BAE?」という画面が表示されます。 「Authorize」をクリックします。 なお、2回目のログインからはこの画面は表示されません。

マーケットプレイスのトップページが再度表示されます。 右上にログインを行ったユーザ名が表示されます。

マーケットプレイスからデータの購入を行う

買い手の住所登録

マーケットプレイスで購入を行うためには、最初に買い手の住所登録が必要です。 ユーザのアイコンをクリックしてから「Settings」をクリックし、「Contact mediums」をクリックします。

買い手の住所情報を入力します。下の表で指定された文字を入力します。 全てダミーデータを入力してください。個人情報を入力しないでください。 画面は入力例です。

項目 内容
Email IDMアカウントのメールアドレスを入力します
Street 「street1」 と入力します
Postcode 「0000000」 と入力します
City 「city1」 と入力します
State / Province 「state1」 と入力します
Country 「Japan」を選択します
Type 「type1」と入力します
Number 「Japan」を選択し、「09012345678」と入力します

すべて入力したら、「Create」をクリックします。

登録した住所が画面に表示されます。  

オファーリング購入

ホームを表示します。購入したい商品の「Add to cart」をクリックします。

表示されるダイアログの各タブをクリックすると、商品の説明、利用規約(ライセンス)、価格が表示されます。 「2. Terms & Conditions」タブ内の「I have read and agreed the terms and conditions」をチェックして、「Add Cart」をクリックします。 (各データはCreative Commonsライセンスで登録しています。ライセンスに同意しない場合は購入できません)

  支払を行うには、ショッピングカートをクリックし、「Checkout」をクリックします。

入力項目は全てオプションなので入力する必要はありません。 「Checkout」をクリックします。

Checkoutを行うと、以下のメッセージが表示されます。

「click here」をクリックすると、別ウィンドウ(タブ)でPayPalのログイン画面が表示されます。 運営事務局から入手した、PayPalアカウントのメールアドレス、パスワードを入力して、「Log In」をクリックします。個人のPayPalアカウントは絶対使用しないでください。また、以下のPayPalの手順を実行しても実際には支払いは発生しませんのでご安心ください。

はじめてPayPalアカウントを使用する場合は確認画面が出てきます。 チェックボックスをクリックして、「Agree & Continue」をクリックします。 2回目のログインからは、この画面は表示されません。

「Continue」をクリックします。

PayPalでの支払いが完了すると、マーケットプレイスの画面に戻り、以下のように表示されます。 ウィンドウ(タブ)を閉じてください。

Checkout後に表示されているメッセージの、「Payment Completed」をクリックします。 以上で購入が終了します。

購入したデータが、画面に表示されます。

CKANデータセットの参照

購入したデータセットを参照します。 「My Inventory」から購入したプロダクトを開き、「Download」をクリックします。

今回のテスト販売しているデータはcsvとのファイルではなく、APIによる提供です。「Download」をクリックしても、ファイルのダウンロードが開始するのではなく、CKANの画面に遷移します。

CKANにログインしていない場合は、「データセットが見つかりません」と表示されます。 「ログイン」をクリックします。

CKANの初回ログイン時のみ、以下の「Authorize CKAN?」という画面が表示されます。 「Authorize」をクリックします。 2回目のログインからはこの画面は表示されません。

CKANのデータセットが表示されます。

以下から表示したいデータをクリックします。

データが表示されます。

  CKANのデータセット一覧には以下のように表示されます。 購入済みのデータセットには「ACQUIRED」と表示され、未購入のデータセットは「プライベート」と表示されます。

データの購入履歴を確認する

データの購入履歴は、マーケットプレイスを開いて、「My inventory」をクリックして、「Product Orders」をクリックすると表示されます。

PayPalでの支払を確認する

データを購入してからPayPalに支払の履歴が出るまでに15分ほど時間がかかることがあります。

ブラウザで 以下のURLを開きます。

https://www.sandbox.paypal.com/

PayPalアカウントのメールアドレスとパスワードを入力して、「Log In」をクリックします。

PayPalの画面に支払履歴が表示されます。 マーケットプレイスでの購入は、支払先が「マーケットプレイス demonstration マーケットプレイス's Test Store」と、表示されます。

プログラム等からの購入データへのアクセス

購入したデータには、プログラム等からFIWARE NGSIv2 APIを利用して、アクセスすることができます。ここでは、Linuxのコマンドラインからcurlコマンドを使用して取得する方法を説明します。

アクセスするためには、以下の情報が必要です。

  • IDMアカウント : 事務局から入手したメールアドレスとパスワード
  • アクセストークン : IDMのアカウントを使用して取得します。
  • データセットのURL、Tenant、Service Path : 購入したデータのckan画面で確認できます。

Orion に対して、curlコマンドでクエリします。結果はjsonで返されるため、jsonデータを整形する、jqコマンドを使用します。事前にこれらのコマンドをインストールしてください。

  • Ubuntuの場合
$ sudo apt-get install curl jq
  • CentOSの場合
$ sudo yum install curl jq

Orion のURLは以下の通りです。このURLに対してcurlでコマンドを送ります。

https://orion.fiware-testbed.jp/

アクセストークンの取得

最初にアクセストークンを取得します。シェルから以下のコマンドを実行してください。その際、[メールアドレス]と[IDMパスワード]を指定してください。

$ curl -s https://orion.fiware-testbed.jp/token \
-H 'Content-type: application/json' \
-d @- <<EOF | jq
{
  "username": "userxxx@fiware-testbed.jp",
  "password": "xxxxxxxxxxxxxxxx"
}
EOF

curlコマンドを実行すると、以下のようなメッセージが表示されます。

{
  "access_token": "ea55b263e1cec355c01bb339bab4943dfe5004d1",
  "token_type": "Bearer",
  "expires_in": 3599,
  "refresh_token": "3ce87804ef62cd564001ee9273507dbec325592c"
}

access_tokenの ea55b263e1cec355c01bb339bab4943dfe5004d の部分が、購入したデータを取得するためのアクセストークンです。このアクセストークンの内容を控えておいてください。 また、アクセストークンの有効期限は取得から1時間となっています。 有効期限を超えた場合はサーバにアクセスできなくなるため、再度アクセストークンを取得し直してください。

購入したデータの取得

取得したアクセストークンを使用して、購入したデータを取得します。以下のデータセットを例として、データを取得します。

データを取得するには、データのURL、Tenant、Service Pathの情報が必要です。これらは購入したデータのデータセットのページにあります。

  • URL
  • Tenant
  • Service Path

上記の情報を使用して、以下のcurlコマンドを実行するとデータを取得できます。

たとえば、大気環境観測データの場合、以下の通りです。

  • URL : https://orion.fiware-testbed.jp/v2/entities?type=AirQualityObserved
  • Tenant : NEC
  • Service Path : /fukuoka_aq

これに、access_token を加えて、以下のcurl コマンドでデータを取得できます。

curl https://orion.fiware-testbed.jp/v2/entities?type=AirQualityObserved -H "Accept: application/json" -H "X-Auth-Token: ea55b263e1cec355c01bb339bab4943dfe5004d" -H "Fiware-Service: NEC" -H "Fiware-ServicePath: /fukuoka_aq" -sS | jq

実際には、URL, Tenant, Service Path, access_tokenは、取得したいデータや実行環境により異なりますので、これらに適切な値を設定ください。

実行結果は、以下のようになります。(データが多いため、一部のみ掲載)

$ curl https://orion.fiware-testbed.jp/v2/entities?type=AirQualityObserved -H "Accept: application/json" -H "X-Auth-Token: ea55b263e1cec355c01bb339bab4943dfe5004d" -H "Fiware-Service: NEC" -H "Fiware-ServicePath: /fukuoka_aq" -sS | jq
[
  {
    "id": "fukuoka-aq-oohashi-20180729t090000jst",
    "type": "AirQualityObserved",
    "NO": {
      "type": "Number",
      "value": 1,
      "metadata": {
        "unit": {
          "type": "Text",
          "value": "ppb"
        }
      }
    },
    "NO2": {
      "type": "Number",
      "value": 3,
      "metadata": {
        "unit": {
          "type": "Text",
          "value": "ppb"
        }
      }
    },
    "NOx": {
      "type": "Number",
      "value": 4,
      "metadata": {
        "unit": {
          "type": "Text",
          "value": "ppb"
        }
      }
    },
    "PM2.5": {
      "type": "Number",
      "value": 16,
      "metadata": {
        "unit": {
          "type": "Text",
          "value": "μg/m3"
        }
      }
    },
    "SPM": {
      "type": "Number",
      "value": 32,
      "metadata": {
        "unit": {
          "type": "Text",
          "value": "μg/m3"
        }
      }
    },
    "dateObserved": {
      "type": "DateTime",
      "value": "2018-07-29T00:00:00.00Z",
      "metadata": {}
    },
    "location": {
      "type": "geo:json",
      "value": {
        "type": "Point",
        "coordinates": [
          130.432889,
          33.551951
        ]
      },
      "metadata": {}
    },
    "refPointOfInterest": {
      "type": "Text",
      "value": "./fukuoka-aq-oohashi",
      "metadata": {}
    },
    "source": {
      "type": "URL",
      "value": "https://ckan.open-governmentdata.org/dataset/1ca83d63-f3da-47fd-8b1a-6748d5aa03ad/resource/c8ca3386-798b-4fb0-a413-0a535d2ee996/download/kankyodata168.csv",
      "metadata": {}
    }
  },
  {
    "id": "fukuoka-aq-kashii-20180729t020000jst",
    "type": "AirQualityObserved",

NGSIのデータは様々な取得方法があります。 詳細については、以下のURLのページを参照してください。

  • FIWARE Orion NGSI v2 walkthrough : http://fiware-orion.readthedocs.io/en/latest/user/walkthrough_apiv2/index.html#query-entity


© NEC Corporation 2019-2021