こんにちは!テリロジーのY.Tです。
今回は、「【SQL Developer Web】データのアップロード」の記事でご紹介したSQL Developer Webのデータロードから、AWS、OCIのオブジェクトストレージからデータをロードしてみたいと思います。
はじめに、SQL Developer Webから他クラウドへ接続する設定画面を確認し、AWS、OCIで実際にテスト用の バケット、また、アクセス用アカウントを作成してデータをロードしていきます。
SQL Developer Webからクラウドストレージへの接続
「【OCI SQL Developer Web】データのアップロード」の記事を参考に、SQL Developer Webにアクセスし、「データのロード」を選択します。
「クラウドの場所」を選択後、左上の「+クラウド・ストレージの追加」をクリックし、接続可能なクラウドサービスと接続に必要なパラメータを確認します。
「クラウド・ストア」から、データベースと接続可能な以下のオブジェクトストレージが、ドロップダウン形式で 選択できます。
- AWS S3
- Azure
- OCI オブジェクトストレージ
- GCP
- その他クラウドストレージサービス
また、接続するために入力が必要な情報は、主にストレージへのURI、ストレージにアクセスするアカウント名、 認証情報になります。
ここではAWS S3、OCIにテスト用のバケットを作成し、バケット内のデータをSQL Developer Webからデータベースにロードしたいと思います。
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への接続に必要な情報の確認ができました。
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 オブジェクトストレージへの接続に必要な情報の確認ができました。
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など主要なクラウドサービスと接続ができること、また、クエリ文を使わずに接続できることで容易に データ連携が可能になり、とても便利だと思いました!
最後までお読みいただき、ありがとうございました。🙇
- カテゴリ:
- OCIサービス紹介