· 

【OCI SQL Developer Web】オブジェクトストレージからのデータロード

こんにちは!テリロジーのY.Tです。

 

今回は、「【SQL Developer Web】データのアップロード」の記事でご紹介したSQL Developer Webの

データロードから、AWS、OCIのオブジェクトストレージからデータをロードしてみたいと思います。

 

 

はじめに、SQL Developer Webから他クラウドへ接続する設定画面を確認し、AWS、OCIで実際にテスト用の

バケット、また、アクセス用アカウントを作成してデータをロードしていきます。

 

1.SQL Developer Webからクラウドストレージへの接続

2.AWS S3でテスト用バケット、アカウントの作成

3.OCIでテスト用バケットの作成

4.SQL Developer WebからAWS S3、OCIオブジェクトストレージへ接続

1.SQL Developer Webからクラウドストレージへの接続

「【OCI SQL Developer Web】データのアップロード」の記事を参考に、SQL Developer Webにアクセスし、

「データのロード」を選択します。

 「クラウドの場所」を選択後、左上の「+クラウド・ストレージの追加」をクリックし、接続可能なクラウドサービスと接続に必要なパラメータを確認します。

 

「クラウド・ストア」から、データベースと接続可能な以下のオブジェクトストレージが、ドロップダウン形式で

選択できます。

・AWS S3

・Azure

・OCI オブジェクトストレージ

・GCP

・その他クラウドストレージサービス

また、接続するために入力が必要な情報は、主にストレージへのURI、ストレージにアクセスするアカウント名、

認証情報になります。

ここではAWS S3、OCIにテスト用のバケットを作成し、バケット内のデータをSQL Developer Webからデータベースにロードしたいと思います。

2.AWS S3でテスト用バケット、アカウントの作成

AWS S3からSQL Developer Web経由でOCI上のデータベースにデータをロードするためには、

以下の4つの情報が必要になります。

・ストレージへのパス(URI)

・接続時のアカウント名

・接続するアカウントのアクセスキー

・接続するアカウントのシークレットアクセスキー

 

実際にAWSへログインし、AWS S3にテスト用バケットを作成し、アクセス用のアカウントを作成していきます。

1.バケットの作成とデータの追加

「S3」>「バケットを作成」から新規にバケットを作成していきます。必要な事項を入力しバケットを作成します。

作成したバケットにテキストやCSV、JSONなど任意のデータをアップロードします。

アップロードしたデータを選択し、「URLをコピー」をクリックし、URLを確認します。

オブジェクト名までコピーできてしまいますが、SQL Developer Webではバケットを接続先のURIとして指定する

ため、以下のようにSQL Developer Webへ接続する際はオブジェクト名を削除したURIを指定します。

コピーしたURI:https://<バケット名>.s3-<リージョン名>.amazonaws.com/<オブジェクト名>

→OCIに接続する際のURI:https://<バケット名>.s3-<リージョン名>.amazonaws.com/

2.S3接続用のアカウントの作成

バケットの作成完了後、SQL Developer Webから、作成したバケットへアクセス際に利用するIAMユーザを作成

します。「IAM」>「ユーザー」>「ユーザを追加」をクリックし、IAMユーザの作成を行っていきます。

今回はS3に対してフルアクセス可能なポリシーを、作成するアカウントに付与します。

・ユーザ名:任意に入力

・アクセスの種類:プログラムによるアクセス

・割り当てるポリシー:AmazonS3FullAccess

ユーザの作成後、シークレットアクセスキーと、アクセスキーを確認します。

 

これでSQL Developer WebからAWS S3への接続に必要な情報の確認ができました。

3.OCIでテスト用バケットの作成

OCIのオブジェクトストレージからSQL Developer Web経由でOCI上のデータベースにデータをロードするためには、以下の4つの情報が必要になります。

・ストレージへのパス(URI)

・接続ユーザのトークン名

・接続ユーザ名

・接続ユーザのトークン

 

OCIでテスト用のストレージを作成していきます。アクセスユーザは既存のユーザで接続を行っていきます。

1.バケットの作成とデータの追加

「オブジェクト・ストレージ」>「オブジェクト・ストレージ」へ推移し、「バケットの作成」をクリックします。

2.URIの確認

作成したバケットを選択後、「アップロード」から任意のデータをアップロードます。

データをアップロード後、右側のメニューから「オブジェクト詳細の表示」を選択し、URIを確認します。

オブジェクト名より前の部分までをコピーします。

確認可能なURI:

https://<ストレージ名>.<リージョン名>.oraclecloud.com/n/<ネームスペース>/b/<バケット名>/o/<オブジェクト名>

→OCIに接続する際のURI:

https://<ストレージ名>.<リージョン名>.oraclecloud.com/n/<ネームスペース>/b/<バケット名>/o/

3.ユーザ名の確認とトークンの作成

次に、現在ログインしているIDCSユーザでトークンを作成していきます。

OCI管理コンソール左メニューの「アイデンティティ」>「ユーザー」をクリックし、現在ログインしているユーザを 選択します。その後、「認証トークン」の「トークンの作成」から、トークンの作成を行います。

作成したトークン名とトークンを確認します。

これでSQL Developer WebからOCI オブジェクトストレージへの接続に必要な情報の確認ができました。

4.SQL Developer WebからAWS S3、OCIオブジェクトストレージへ接続

今まで確認した、AWS S3とOCIオブジェクトストレージに接続するために必要な情報をSQL Developer Webに登録し、データベースで各々のストレージのデータを取得していきます。

SQL Developer Webに移動し、「クラウドの場所」を選択後、左上の「+クラウド・ストレージの追加」をクリックし、必要な情報を入力します。

 

ここでは、先ほど確認したOCI オブジェクトストレージの接続情報を入力し、「テスト」をクリックし接続できるか

確認します。テストに成功すると以下のように「クラウド・ストレージURIは指定された資格証明で有効です」と表示されます。「作成」をクリックしてSQL Developer Webからの接続を作成します。

また、AWSも同様に接続情報を入力し、作成します。

次に、実際にOCI上のバケット内のデータを取得したいと思います。「データのロード」、「クラウドストレージ」を選択します。

先ほど接続した、AWSとOCIのバケットが選択できるようになっており、バケット内のオブジェクトも確認できます。実際にオブジェクトをドラッグ&ドロップし、実行ボタンをクリックすると、ロードすることができます。

まとめ

今回はSQL Developer Webとオブジェクトストレージを接続する方法についてご紹介していきました。

AzureやGCPなど主要なクラウドサービスと接続ができること、また、クエリ文を使わずに接続できることで容易に

データ連携が可能になり、とても便利だと思いました!

最後までお読みいただき、ありがとうございました。🙇