Watson Discovery API経由での日本語データコレクション作成 アップデート


Watson Discoveryの認証方式が変わった。

5月時点でシドニーだけのようですが、IBM CloudでWatson Discoveryのインスタンス(サービス)を新規に有効化するとWatson Discoveryに接続する際の認証の方法が、従来のWatson Discoveryのユーザー名とパスワードではなく、API Keyを用いる方式に変更されています。IBMのドキュメントが追い付いていないため、APIリファレンスを読みながら確認しました。

API Keyによる日本語データコレクション作成の手順

従来の作成手順はこちらをご覧ください。
1.Watson Discoveryのサービスを作成し、最初に表示される管理画面に表示されている「apikey」と「url」をメモします。「apikey」を表示するには、「表示」をクリックします。

2.Linux上でターミナルエミュレータ(端末アプリ)を起動します。

3.environment_idを取得するコマンドを実行
コマンド実行

$ curl -u "apikey":"ここにapikeyを記述" "確認したurlを記述/v1/environments?version=2018-03-05"

実行例

$ curl -u "apikey":"xxxxxxxxxxxx" "https://gateway-syd.watsonplatform.net/discovery/api/v1/environments?version=2018-03-05"

environment_idが出力されます。environment_idは2つ出力されますが、下記のような形式で出力されている方を使用します。
例 "environment_id" : "xxxxx-yyyyy-1111-aaaaa-2222"

4.configuration_idを発行するコマンドを実行
コマンド実行

$ curl -u "apikey":"ここにapikeyを記述" "確認したurlを記述/v1/environments/取得したenvironment_idを記述/configurations?version=2018-03-05"

実行例

$ curl -u "apikey":"xxxxxxxxxxxx" "https://gateway-syd.watsonplatform.net/discovery/api/v1/environments/xxxxx-yyyyy-1111-aaaaa-2222/configurations?version=2018-03-05"

configuration_id が出力されます。
例 "configuration_id": "xy11yy-a22bbcc-vvv78xxxxx-mmm3444nnnn"

「configuration_id」は、次のコマンド実行によるデータコレクション作成の際に使用します。データコレクション作成時に「configuration_id」を省略する場合は、「environment_id」に関連付けられた最初の「configuration_id」がデフォルトとして使用されます。

5.日本語対応のデータコレクションを作成します。
コマンド実行

$ curl -X POST -u "apikey":"ここにapikeyを記述" -H "Content-Type: application/json" -d '{  "name": "jp_data",   "description": "My data collection",  "language": "ja" }' "確認したurlを記述/v1/environments/取得したenvironment_idを記述/collections?version=2018-03-05"

実行例

$ curl -X POST -u "apikey":"xxxxxxxxxxxx" -H "Content-Type: application/json" -d '{  "name": "jp_data",   "description": "My data collection",  "language": "ja" }' "http://gateway-syd.watsonplatform.net/discovery/api/v1/environments/xxxxx-yyyyy-1111-aaaaa-2222/collections?version=2018-03-05"

出力結果が下記のようになっていれば、API経由での日本語対応のデータコレクション作成は成功です。

{
  "name" : "jp_data",
  "collection_id" : "8xxxx6xxxxx-22f0x-8xxx-10yyy-10aa9aaaaaa",
  "description" : "My data collection",
  "created" : "2018-06-22T02:04:42.077Z",
  "updated" : "2018-06-22T02:04:42.077Z",
  "configuration_id" : "xy11yy-a22bbcc-vvv78xxxxx-mmm3444nnnn",
  "language" : "ja",
  "status" : "active"
}

Webブラウザで、有効化したWatson Discoveryサービスで「ツールを起動」を実行しますと、コマンド実行で作成したデータコレクションが表示されていることが確認できます。

参考資料

Watson Discoveryリリースノート (英語版のみ表示されます。)
https://console.bluemix.net/docs/services/discovery/release-notes.html#17May2018
APIリファレンス
https://www.ibm.com/watson/developercloud/discovery/api/v1/curl.html?curl

シドニーでWatson Assistantを新規に有効化すると、Watson AssistantもAPI Keyによる認証方式に変わっていました....(-。-;
おそらく統一されていくと思いますが、しばらくは混乱が起きそうです。