こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData Connect Server を使用すると、Salesforce コンソールのようなアプリケーションや、Salesforce1 Mobile App のようなモバイルアプリケーションからIBM Cloud Object Storage データにアクセスできます。この記事ではCData Connect Server とSalesforce Connect を使用して、標準のSalesforce オブジェクトと外部のIBM Cloud Object Storage オブジェクトにアクセスします。
Connect Server を構成する
Salesforce Connect でリアルタイムIBM Cloud Object Storage データを操作するには、Connect Server からIBM Cloud Object Storage に接続し、新しい仮想データベースへのユーザーアクセスを提供してIBM Cloud Object Storage データのOData エンドポイントを作成する必要があります。
Connect Server ユーザーを追加する
Reveal からConnect Server を介してIBM Cloud Object Storage に接続するユーザーを作成します。
- [Users]->[ Add]とクリックします。
- ユーザーを構成します。
- [Save Changes]をクリックして新しいユーザーの認証トークンをメモします。
Connect Server からIBM Cloud Object Storage に接続
CData Connect Server は、簡単なポイントアンドクリックインターフェースを使用してAPI を生成します。
- Connect Server を開き、「Databases」をクリックします。
- 「Available Data Sources」から「IBM Cloud Object Storage」を選択します。
- 必要な認証プロパティを入力し、IBM Cloud Object Storage に接続します。
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 アカウントが複数ある場合のみ設定する必要があります。
プロパティを設定したら、これで接続設定は完了です。
- 「 Test Database」をクリックします。
- 「Permission」->「 Add」とクリックし、適切な権限を持つ新しいユーザー(または既存のユーザー)を追加します。(Reveal に必要なのは、SELECT のみです。)
Connect Server にIBM Cloud Object Storage OData エンドポイントを追加する
IBM Cloud Object Storage に接続したら、目的のテーブルのOData エンドポイントを作成します。
- 「OData」->「Tables」->「Add Tables」とクリックします。
- IBM Cloud Object Storage データベースを選択します。
- 使用するテーブルを選択し、「Next」をクリックします。
- (オプション)テーブルの定義を編集して特定のフィールドなどを選択します。
- 設定を保存します。
(オプション)Cross-Origin Resource Sharing (CORS) を構成する
複数の異なるドメインにアクセスして接続すると、クロスサイトスクリプティングの制限に違反する恐れがあります。その場合には、「OData」->「Settings」でCORS 設定を構成します。
- Enable cross-origin resource sharing (CORS):ON
- Allow all domains without '*':ON
- Access-Control-Allow-Methods:GET、PUT、POST、OPTIONS
- Access-Control-Allow-Headers:Authorization
設定への変更を保存します。
外部データソースとしてIBM Cloud Object Storage データに接続する
以下のステップに従って、CData Connect に生成されたフィードに接続します。
- Salesforce にログインし、「Setup」->「Integrations」->「External Data Sources」とクリックします。
- 「New External Data Source」をクリックします。
- 以下のプロパティに値を入力します。
「Format」メニューから「JSON」を選択します。
- 「Authentication」セクションでは、以下のプロパティを設定します。
- Identity Type:組織のすべてのメンバーが同じ認証情報を使用してCData Connect にアクセスする場合は、「Named Principal」を選択します。各自の認証情報で接続する場合は、「Per User」を選択します。
- Authentication Protocol:Basic 認証を使用するには、「Password Authentication」を選択します。
- Certificate:Salesforce からサーバーへの通信を暗号化及び認証するために使用する証明書を入力、または参照します。
- Username:CData Connect Server に追加したユーザーのユーザー名を入力します。
- Password:ユーザーの認証トークンを入力します。
IBM Cloud Object Storage オブジェクトを同期する
外部データソースを作成したら、以下のステップに従って、データソースへの変更を反映するIBM Cloud Object Storage 外部オブジェクトを作成します。IBM Cloud Object Storage 外部オブジェクトの定義をIBM Cloud Object Storage テーブルの定義と同期します。
- 作成した外部データソースのリンクをクリックします。
- 「Validate and Sync」をクリックします。
- 外部オブジェクトとして使用するIBM Cloud Object Storage テーブルを選択します。
Salesforce オブジェクトとしてIBM Cloud Object Storage データにアクセスする
IBM Cloud Object Storage データを外部データソースとして追加し、IBM Cloud Object Storage テーブルを外部オブジェクトとして同期すると、標準のSalesforce オブジェクトと同じように外部IBM Cloud Object Storage オブジェクトを使用できるようになります。
アプリケーションから簡単にIBM Cloud Object Storage データにアクセスする
この時点で、Salesforce からリアルタイムIBM Cloud Object Storage データに直接接続ができます。Salesforce のようなアプリケーションから簡単に100を超えるSaaS、Big Data、NoSQL ソースのデータにアクセスする方法の詳細は、Connect Server ページを参照してください。