
目次
前回の作業と今回の作業について
テーブルの作成
認証トークンの作成
ADWCに資格情報を格納する
バケットにロード用のデータを用意
次回作業について
前回の作業と今回の作業について
前回は、linuxマシンにインストールしたCommand Line Interface(CLI)のを設定し、バケット内にアップロードしたファイルの表示させるところまで行いました。
今回は、DBの操作に戻り、Autonomous Database Warehouseにテーブルを作成し、データをロードします。
テーブルの作成
試しにtestというテーブルを作成します。
CREATE TABLE adwc_user.test ( id NUMBER NOT NULL, name NUMBER NOT NULL, time DATE NOT NULL);
testテーブルが作成されました。

このtestテーブルにデータをロードしたいと思います。
認証トークンの作成
ADWCとバケット間を通信は、認証トークンとユーザ名、PWを使用するとのことなので、早速認証トークンを作成します。
メニューから【Identity】→【Users】→【User Details】に進んだ先の、左下に[Auth Tokens]という項目を押下します。

「Generate Token」を押下します。

【Generate Token】を押下すると、【DESCRIPTION】の部分に説明を記載します。トークンが増えていくと、なんの為に、生成したものか分からなくなるので、ここでは「Token for loading data to ADWC」としておきます。

再び【Generate Token】を押下すると、トークンが発行されますので、コピーしておきます。

ADWCに資格情報を格納する
ADWCに資格情報を格納する為に、DBMS_CLOUDパッケージの、create_credentialプロシージャを使用します。引数は、credential_name,username,passwordの3つになります。
begin DBMS_CLOUD.create_credential ( credential_name => 'OBJ_STORE_CRED', username => 'ユーザの名前', password => 'トークン' ) ; end;
バケットにデータを用意
続いて、バケット側にデータを上げていきます。前回、せっかくCommand Line Interfaceを入れたので、コマンドで行っていきたいと思います。様々検証で上げていたファイルを削除します。
****-Virtual-Machine:~$ oci os object delete -ns テナント名 -bn バケット名 --name ファイル名 Are you sure you want to delete this resource? [y/N]: y
ファイル名が分からないときは、–dry-runを付けると、ファイル名が出てくるので試してみました。
*****-Virtual-Machine:~$ oci os object bulk-delete -ns ***** -bn ***** --dry-run
ファイル名が日本語の場合、このような風にエンコードされて出てきましたので、注意が必要かと思います。
{ "delete-failures": {}, "deleted-objects": [ "\u***\u***\u***\u***\u***\u***\u***\u***\u***" ] }
ファイル名を指定するのが面倒なので、対象となる文字列指定・該当するものを削除も試してみました。 –prefix の後に対象文字列を入れると以下のように削除できました。対象がひとつならdeleteで、複数はbulk-delete、今回頻繁に間違えたので、今後、CLIが体に染みつくぐらい触らないとな、と。。
*****-Virtual-Machine:~$ oci os object bulk-delete -ns **** -bn **** --prefix te WARNING: This command will delete 1 objects. Are you sure you wish to continue? [y/N]: y Deleted test.txt [####################################] 100% { "delete-failures": {}, "deleted-objects": [ "test.txt" ] }
CLIの操作は色々試したくなって横道にそれがちになります。。前置きが長くなりましたが、アップに移ります。
****-Virtual-Machine:~$ oci os object put -bn **** --file **** --name ***** Uploading object [####################################] 100% { "etag": "****", "last-modified": "****", "opc-content-md5": "****" }
nameのプロパティは必須のようです、指定しなければ元と同じにしてくれるのかな、と思っていましたがはじかれてしまいました。
次回作業について
様々、横道にそれつつ進んできましたが、次回はADWCにデータを入れてクエリなどの実行に進みたいと思います。次回で、一旦環境構築編については終了の予定です。