こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData Connect Server を使用すると、Salesforce コンソールのようなアプリケーションや、Salesforce1 Mobile App のようなモバイルアプリケーションからBitbucket データにアクセスできます。この記事ではCData Connect Server とSalesforce Connect を使用して、標準のSalesforce オブジェクトと外部のBitbucket オブジェクトにアクセスします。
Connect Server を構成する
Salesforce Connect でリアルタイムBitbucket データを操作するには、Connect Server からBitbucket に接続し、新しい仮想データベースへのユーザーアクセスを提供してBitbucket データのOData エンドポイントを作成する必要があります。
Connect Server ユーザーを追加する
Reveal からConnect Server を介してBitbucket に接続するユーザーを作成します。
- [Users]->[ Add]とクリックします。
- ユーザーを構成します。
- [Save Changes]をクリックして新しいユーザーの認証トークンをメモします。
Connect Server からBitbucket に接続
CData Connect Server は、簡単なポイントアンドクリックインターフェースを使用してAPI を生成します。
- Connect Server を開き、「Databases」をクリックします。
- 「Available Data Sources」から「Bitbucket」を選択します。
- 必要な認証プロパティを入力し、Bitbucket に接続します。
ほとんどのクエリでは、ワークスペースを設定する必要があります。唯一の例外は、Workspacesテーブルです。このテーブルはこのプロパティの設定を必要とせず、クエリを実行すると、Workspaceの設定に使用できるワークスペーススラッグのリストが提供されます。このテーブルにクエリを実行するには、スキーマを'Information'に設定し、SELECT * FROM Workspacesクエリを実行する必要があります。
Schemaを'Information'に設定すると、一般的な情報が表示されます。Bitbucketに接続するには、以下のパラメータを設定してください。
- Schema: ワークスペースのユーザー、リポジトリ、プロジェクトなどの一般的な情報を表示するには、これを'Information'に設定します。それ以外の場合は、クエリを実行するリポジトリまたはプロジェクトのスキーマに設定します。利用可能なスキーマの完全なセットを取得するには、sys_schemasテーブルにクエリを実行してください。
- Workspace: Workspacesテーブルにクエリを実行する場合を除き、必須です。Workspacesテーブルへのクエリにはこのプロパティは必要ありません。そのクエリはWorkspaceの設定に使用できるワークスペーススラッグのリストのみを返すためです。
Bitbucketでの認証
BitbucketはOAuth認証のみをサポートしています。すべてのOAuthフローからこの認証を有効にするには、カスタムOAuthアプリケーションを作成し、AuthSchemeをOAuthに設定する必要があります。
特定の認証ニーズ(デスクトップアプリケーション、Webアプリケーション、ヘッドレスマシン)に必要な接続プロパティについては、ヘルプドキュメントを必ず確認してください。
カスタムOAuthアプリケーションの作成
Bitbucketアカウントから、以下のステップを実行します。
- 設定(歯車アイコン)に移動し、ワークスペース設定を選択します。
- アプリと機能セクションで、OAuthコンシューマーを選択します。
- コンシューマーを追加をクリックします。
- カスタムアプリケーションの名前と説明を入力します。
- コールバックURLを設定します。
- デスクトップアプリケーションとヘッドレスマシンの場合、http://localhost:33333または任意のポート番号を使用します。ここで設定するURIがCallbackURLプロパティになります。
- Webアプリケーションの場合、信頼できるリダイレクトURLにコールバックURLを設定します。このURLは、ユーザーがアプリケーションにアクセスが許可されたことを確認するトークンを持って戻るWebの場所です。
- クライアント認証情報を使用して認証する予定の場合、これはプライベートコンシューマーですを選択する必要があります。ドライバーでは、AuthSchemeをclientに設定する必要があります。
- OAuthアプリケーションに与える権限を選択します。これにより、読み取りおよび書き込みできるデータが決まります。
- 新しいカスタムアプリケーションを保存するには、保存をクリックします。
- アプリケーションが保存された後、それを選択して設定を表示できます。アプリケーションのKeyとSecretが表示されます。これらを将来の使用のために記録してください。Keyを使用してOAuthClientIdを設定し、Secretを使用してOAuthClientSecretを設定します。
- 「 Test Database」をクリックします。
- 「Permission」->「 Add」とクリックし、適切な権限を持つ新しいユーザー(または既存のユーザー)を追加します。(Reveal に必要なのは、SELECT のみです。)
Connect Server にBitbucket OData エンドポイントを追加する
Bitbucket に接続したら、目的のテーブルのOData エンドポイントを作成します。
- 「OData」->「Tables」->「Add Tables」とクリックします。
- Bitbucket データベースを選択します。
- 使用するテーブルを選択し、「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
設定への変更を保存します。
外部データソースとしてBitbucket データに接続する
以下のステップに従って、CData Connect に生成されたフィードに接続します。
- Salesforce にログインし、「Setup」->「Integrations」->「External Data Sources」とクリックします。
- 「New External Data Source」をクリックします。
- 以下のプロパティに値を入力します。
- 「Writable External Objects」オプションを選択します。
「Format」メニューから「JSON」を選択します。
- 「Authentication」セクションでは、以下のプロパティを設定します。
- Identity Type:組織のすべてのメンバーが同じ認証情報を使用してCData Connect にアクセスする場合は、「Named Principal」を選択します。各自の認証情報で接続する場合は、「Per User」を選択します。
- Authentication Protocol:Basic 認証を使用するには、「Password Authentication」を選択します。
- Certificate:Salesforce からサーバーへの通信を暗号化及び認証するために使用する証明書を入力、または参照します。
- Username:CData Connect Server に追加したユーザーのユーザー名を入力します。
- Password:ユーザーの認証トークンを入力します。
Bitbucket オブジェクトを同期する
外部データソースを作成したら、以下のステップに従って、データソースへの変更を反映するBitbucket 外部オブジェクトを作成します。Bitbucket 外部オブジェクトの定義をBitbucket テーブルの定義と同期します。
- 作成した外部データソースのリンクをクリックします。
- 「Validate and Sync」をクリックします。
- 外部オブジェクトとして使用するBitbucket テーブルを選択します。
Salesforce オブジェクトとしてBitbucket データにアクセスする
Bitbucket データを外部データソースとして追加し、Bitbucket テーブルを外部オブジェクトとして同期すると、標準のSalesforce オブジェクトと同じように外部Bitbucket オブジェクトを使用できるようになります。
アプリケーションから簡単にBitbucket データにアクセスする
この時点で、Salesforce からリアルタイムBitbucket データに直接接続ができます。Salesforce のようなアプリケーションから簡単に100を超えるSaaS、Big Data、NoSQL ソースのデータにアクセスする方法の詳細は、Connect Server ページを参照してください。