クイック・スタート
次のタスクを実行して、環境を設定し、Embedded R ExecutionのREST APIを使用して最初のEmbedded R Executionジョブを作成します。
前提条件
Embedded R ExecutionのREST API関数では、Oracle Autonomous DatabaseサービスのOracle Machine Learning for R (OML4R)スクリプト・リポジトリにスクリプトの名前を指定する必要があります。スクリプトには、ユーザー定義のR関数が含まれます。スクリプトを作成してスクリプト・リポジトリに保存する方法の詳細は、Embedded R Executionおよびスクリプト・リポジトリについてを参照してください。
アカウント情報の取得
Oracleからのアカウント作成電子メールには、Oracle Autonomous Databaseサービスのアイデンティティ・ドメイン名、ユーザー名およびパスワードが含まれます。これらの情報がわからない場合は、サービス管理者に問い合せてください。
- Oracle Cloud Infrastructureアカウントにサインインします。OCIユーザー名とパスワードが必要です。
- ハンバーガ・メニューをクリックし、プロビジョニングされているAutonomous Databaseインスタンスを選択します。Autonomous Databaseのプロビジョニングの詳細は、Oracle Autonomous Databaseのプロビジョニングを参照してください。
- 「データベース・アクション」をクリックします。
- データベース・アクション・ページをスクロール・ダウンし、「関連サービス」タイルの下の「Oracle Machine Learning RESTful Services」をクリックします。「Oracle Machine Learning RESTful Services」ダイアログが開きます。「コピー」をクリックして、次のURLを取得します:
- OMLによって提供されるREST APIのREST認証トークンの取得:
<oml-cloud-service-location-url>/omlusers/
- すべての組込みR REST API:
<oml-cloud-service-location-url>/oml/
URL
<oml-cloud-service-location-url>
には、テナンシID、場所およびデータベース名が含まれます。たとえば、https://qtraya2braestch-omldb.adb.us-sanjose-1.oraclecloudapps.com
などです。この例では、qtraya2braestch
はテナンシIDです。omldb
はデータベース名です。us-sanjose-1
はデータセンター・リージョンですoraclecloudapps.com
はルート・ドメインです。
- OMLによって提供されるREST APIのREST認証トークンの取得:
cURLのインストール
このドキュメントの例では、cURLコマンドライン・ツールを使用して、Embedded R ExecutionのREST APIにアクセスする方法を示しています。
- ブラウザで、cURLホーム・ページ(http://curl.haxx.se)にアクセスし、左上にある「Download」をクリックします。
- 「cURL Releases and Downloads」ページで、使用しているオペレーティング・システムに対応したcURLソフトウェアのSSL対応バージョンを見つけ、ZIPファイルをダウンロードするリンクをクリックしてソフトウェアをインストールします。
サーバーに安全に接続するには、SSLをサポートするバージョンのcURLをインストールする必要があります。
cURLを実行し、次の表に定義したコマンド行オプションを必要に応じて1つ以上指定します。
cURLオプション | 説明 |
---|---|
-d, --data @file.json
|
ローカル・マシン上にあるJSON形式のリクエストの本文が含まれるファイルを識別します。または、-d を使用してリクエスト本文を渡すこともできます。たとえば、-d '{"input":"IRIS", "parameters":"{\"ore.drop\":false}", "parallelFlag":true}' です。
|
-H, --header |
次のいずれか、または両方を定義します。
|
-i, --include |
出力にHTTPヘッダーを含めます。 |
-X |
リクエストの種類を指定します(GET、POSTなど)。 |
認証トークンの取得
認証の説明に従って、認証トークンを取得します。
リクエストの送信
RESTクライアントを設定した後、接続が機能していることを確認するリクエストを送信できます。たとえば、次のcURLコマンドは、OML4Rスクリプト・リポジトリで使用可能なRスクリプトをリストします。
curl -i -X GET --header "Authorization: Bearer ${token}"
<oml-cloud-service-location-url>/oml/api/r-scripts/v1/scripts
ノート:
このコールには認証が必要です。$token
は、認可APIを介して取得されたトークンに割り当てられる環境変数を表します。
<oml-cloud-service-location-url>
URLには、テナンシID、場所およびデータベース名が含まれます。たとえば、https://qtraya2braestch-omldb.adb.us-sanjose-1.oraclecloudapps.com
などです。
qtraya2braestch
はテナンシIDです。omldb
はデータベース名です。us-sanjose-1
はデータセンター・リージョンですoraclecloudapps.com
はルート・ドメインです
リクエストが成功すると、次のような本文の200
レスポンス・ヘッダーを受信します。
HTTP/1.1 200 OK
Date: Thu, 13 Jan 2022 08:36:42 GMT
Content-Type: application/json
Content-Length: 13
Connection: keep-alive
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1;mode=block
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
Content-Security-Policy: frame-ancestors 'none'
Set-Cookie: JSESSIONID=node0zdh3s4o3x13ua24jd16y44ro111.node0; Path=/oml; Secure; HttpOnly
Expires: Thu, 01 Jan 1970 00:00:00 GMT
JSON形式のレスポンス本文は次のとおりです。
{"result":[
{"OWNER":"RQSYS","SCRIPT":"function (index) \n{\n set.seed(index)\n x <- rnorm(10)\n res <- mean(x)\n res\n}","NAME":"compute.randomMean"},
{"OWNER":"RQSYS","SCRIPT":"function (dat) \n{\n res <- aggregate(dat, by = list(dat$Species), FUN = length)\n colnames(res)[1] <- \"Species\"\n res\n}","NAME":"group.count"},
{"OWNER":"RQSYS","SCRIPT":"function (dat) \n{\n ore.load(name = \"ds_regr\")\n pred = cbind(PRED = predict(regr, newdata = dat, supplemental.cols = \"Sepal.Length\"), dat[\"Sepal.Length\"])\n pred\n}","NAME":"my.predict"},
{"OWNER":"OMLUSER","SCRIPT":"function (divisor = 100) \n{\n id <- 1:10\n plot(1:100, rnorm(100), pch = 21, bg = \"red\", cex = 2)\n data.frame(id = id, val = id/divisor)\n}","NAME":"RandomRedDots"}]}