各製品の資料を入手。
詳細はこちら →PowerShell からIBM Cloud Object Storage のデータに接続してデータの取得・CSV エクスポートを実行する方法
CData PowerShell Cmdlets を使って、IBM Cloud Object Storage のデータに接続、データの取得・CSV エクスポートを実行する方法を紹介します。
最終更新日:2023-09-26
この記事で実現できるIBM Cloud Object Storage 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData Cmdlets for IBMCloudObjectStorage を使えば、PowerShell からIBM Cloud Object Storage に手軽に連携して、データのCRUD やエクスポートを実行できます。
本記事では、IBM Cloud Object Storage への接続方法からCSV エクスポート、データの操作までサンプルコード付きで解説していきます。
IBM Cloud Object Storage への接続を設定
それでは、まずはIBM Cloud Object Storage への接続設定からはじめていきましょう。接続設定にはCData IBM Cloud Object Storage Cmdlets が必要となります。右側のサイドバーから製品の全機能が使える30日間の無償トライアルがダウンロードできるので、ぜひご利用ください。
インストールが完了したら、プロファイルに以下の行を追加してください。次のPowerShell セッションでモジュールがロードされます。
Import-Module IBMCloudObjectStorageCmdlets;
Connect-IBMCloudObjectStorage コマンドを使ってIBM Cloud Object Storage との接続を設定します。各接続プロパティの取得方法は次に説明します。
$conn = Connect-IBMCloudObjectStorage -ApiKey "$ApiKey" -CloudObjectStorageCRN "$CloudObjectStorageCRN" -Region "$Region" -OAuthClientId "$OAuthClientId" -OAuthClientSecret "$OAuthClientSecret"
Cloud Object Storage 接続プロパティの取得・設定方法
Cloud Object Storage に接続する前に、Cloud Object Storage インスタンスを登録してCloud Object Storage API キーとCRN を取得していきます。
Cloud Object Storage の新規インスタンスの登録
IBM Cloud アカウントにCloud Object Storage がまだない場合は、以下の手順に従ってアカウントにSQL Query のインスタンスをインストールできます。
- IBM Cloud アカウントにログインします。
- Cloud Object Storage ページに移動して、インスタンス名を指定して「作成」をクリックします。Cloud Object Storage の新規インスタンスにリダイレクトされます。
API キー
API キーは以下の手順で取得できます。
- まずは、IBM Cloud アカウントにログインします。
- API キーページに移動します。
- 中央右隅のIBM Cloud APIキーの作成 をクリックして、新しいAPI キーを作成します。
- ポップアップウィンドウが表示されたら、API キーの名前を指定して作成をクリックします。ダッシュボードからはアクセスできなくなるため、API Key を控えておきましょう。
Cloud Object Storage CRN
デフォルトでは、CData 製品はCloud Object Storage CRN を自動で取得します。ただし、複数のアカウントがある場合は、CloudObjectStorageCRN を明示的に指定する必要があります。この値は、次の2つの方法で取得できます。
- Services ビューをクエリする。これにより、IBM Cloud Object Storage インスタンスとそれぞれのCRN がリストされます。
- IBM Cloud で直接CRN を見つける。これを行うには、IBM Cloud のダッシュボードに移動します。リソースリストで、ストレージからCloud Object Storage リソースを選択してCRN を取得します。
IBM Cloud Object Storage への接続
これで準備は完了です。以下の接続プロパティを設定してください。
- InitiateOAuth:GETANDREFRESH に設定。InitiateOAuth を使うと、OAuth 認証を繰り返す必要がなく、さらに自動でアクセストークンを設定できます。
- ApiKey:セットアップ中に控えたAPI キーを指定。
- CloudObjectStorageCRN(オプション):控えておいたCloud Object Storage のCRN に設定。Cloud Object Storage アカウントが複数ある場合のみ設定する必要があります。
プロパティを設定したら、これで接続設定は完了です。
これで接続設定は完了です。
IBM Cloud Object Storage のデータを取得してCSV にパイプライン
接続が完了したので、Objects テーブルデータを取得して結果をCSV ファイルにエクスポートします。
Select-IBMCloudObjectStorage -Connection $conn -Table Objects | Select -Property * -ExcludeProperty Connection,Table,Columns | Export-Csv -Path c:\myObjectsData.csv -NoTypeInformation
このコードでは、Select-IBMCloudObjectStorage から取得した結果をSelect-Object に流して、Export-Csv に渡す前にいくつかのプロパティを除外しています。これは、CData Cmdlets が接続情報、テーブル、およびカラム情報を結果セットのそれぞれの行に挿入するためです。それらの情報を表示したくない場合に、Export-Csv コマンドに渡す前に除外を先に行い、そのあとでCSV ファイルにエクスポートします。
おわりに
このように、CData Cmdlets を使えばPowerShell でのIBM Cloud Object Storage のデータへの連携をシンプルに実現できます。ぜひCData PowerShell Cmdlets の30日間無償トライアルをダウンロードして、シンプルかつパワフルなデータ連携をお試しください。