0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle Analytics Cloud:REST APIで接続の管理

Posted at

はじめに

Oracle Analytics Cloud(OAC)でファイルやローカル・サブジェクトエリア以外のデータソースにアクセスする際には、「接続」を作成する必要があります。
「接続」はブラウザで簡単に作成できますが、REST APIで作成することもできますので、試してみました。

準備

OACインスタンスに接続するためには、OACインスタンスに関連付けられているIdentity Domainに機密アプリケーションを作成します。
手順はこちらの記事を参考にしてください。

今回はAutonommous Data Warehouse(ADW)への接続を作成したいので、目的のADWインスタンスの資格証明ファイルを入手しておきます。

接続の作成

OCI管理コンソールからCloud Shellを使用します。
image.png

ADWの資格証明.zipを展開してcwallet.ssoをアップロードします。
image.png
image.png

tnsnames.oraを開いて、ADWへの接続文字列を確認しておきます。
Cloud Shellで次のコマンドの<access_token>、<OAC Hostname>、<接続文字列>およびusernameとpasswordを適切な値に置き換えて実行します。

curl -i \
--header 'Authorization: Bearer <access_token>' \
--request POST 'https://<OAC Hostname>/api/20210901/catalog/connections' \
--form 'cert=@"cwallet.sso"' \
--form 'connectionParams="{ 
    \"version\": \"2.0.0\", 
    \"type\": \"connection\", 
    \"name\": \"myADW\", 
    \"description\": \"Sample Oracle ADW connection with a wallet created using Connections API\" , 
    \"content\": { 
        \"connectionParams\": { 
            \"connectionType\": \"oracle-autonomous-data-warehouse\" , 
            \"connectionString\": \"<接続文字列>\" , 
            \"username\": \"ADMIN\" , 
            \"password\": \"password \", 
            \"remoteData\": false , 
            \"systemConnection\": true , 
            \"sslType\": \"ClientSideSSL\" 
        } 
    } 
}"'

実行結果

HTTP/1.1 201 Created
Date: Mon, 15 Jan 2024 00:43:15 GMT
Content-Type: text/plain
Content-Length: 43
Connection: keep-alive
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
X-ORACLE-DMS-RID: 0:4
X-ORACLE-DMS-RID: 0
X-Content-Type-Options: nosniff
X-ORACLE-DMS-ECID: b7e414cf-8c5d-4ba8-86fb-7f431e5639a4-00032d5b
X-ORACLE-DMS-ECID: b7e414cf-8c5d-4ba8-86fb-7f431e5639a4-00032d5b
X-XSS-Protection: 1; mode=block
Vary: Origin,X-Forwarded-Proto
Strict-Transport-Security: max-age=31536000;

{"connectionID":"J3N5c3RlbScuJ215QURXJw=="}

connectionIDの戻り値は、接続のオブジェクトIDをBase64でエンコードしたものです。
image.png

接続の更新

更新したい接続のオブジェクトIDをエンコードします。
エンコードしたオブジェクトIDが「J3N5c3RlbScuJ215QURXJw==」の接続で、ADWにアクセスするユーザー名とパスワードを変更します。

curl \
 --header 'Authorization: Bearer <access_token>' \
 --request PUT  https://<OAC Hostname>/api/20210901/catalog/connections/J3N5c3RlbScuJ215QURXJw== \
 --form 'cert=@"cwallet.sso"' \
 --form 'connectionParams="{
      \"version\": \"2.0.0\",
      \"type\": \"connection\",
      \"content\": {
        \"connectionParams\": {
           \"username\": \"scott\",
           \"password\": \"password \"
        }
      }
}"'

image.png

接続の削除

削除したい接続のオブジェクトIDをエンコードします。
例えば、オブジェクトIDが「J3N5c3RlbScuJ215QURXJw==」の接続を削除する場合は、次の通りです。

curl -i \
 --header "Authorization: Bearer <access_token>" \
 --header "Content-Type: application/json" \
 --request DELETE https://<OAC Hostname>/api/20210901/catalog/connections/J3N5c3RlbScuJ215QURXJw==

HTTP/1.1 202 Accepted
Date: Mon, 15 Jan 2024 02:04:38 GMT
Content-Type: text/plain
Content-Length: 0
Connection: keep-alive
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
X-ORACLE-DMS-RID: 0:5
X-ORACLE-DMS-RID: 0
X-Content-Type-Options: nosniff
X-ORACLE-DMS-ECID: dac20284-1fb2-47e1-b485-578876cc6131-0003cfce
X-ORACLE-DMS-ECID: dac20284-1fb2-47e1-b485-578876cc6131-0003cfce
X-XSS-Protection: 1; mode=block
Vary: Origin,X-Forwarded-Proto
Strict-Transport-Security: max-age=31536000;

ドキュメント

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?