「クイックスタート: Heroku Connect CLI」
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2024年05月08日(水)
Table of Contents
低料金プランを使用してこのチュートリアルを完了することをお勧めします。資格のある学生の皆様は、新しい Heroku for GitHub Students プログラムを通じてプラットフォームクレジットを申請できます。
このガイドは、Heroku CLI および Heroku Connect CLI プラグインを使用して Heroku Connect アドオンを設定するのに役立ちます。このアドオンの詳細は、「Heroku Connect」を参照してください。
別の設定オプションについては、「クイックスタート: Heroku Connect」および「Heroku Connect API」を参照してください。
前提条件
- 確認済みの Heroku アカウント
- Heroku CLI プラグインがインストールされていること
手順 1: Heroku アプリと Heroku Postgres データベースを作成する
Heroku Connect では、Salesforce からデータを同期するために Heroku Postgres が必要です。Heroku Connect と Heroku Postgres はどちらもアドオンであり、Heroku アプリにアタッチする必要があります。空のアプリにアドオンをアタッチすることができ、コードのデプロイは必要ありません。
データベースを使用してこのチュートリアルを完了した場合、使用量のカウントに入ります。コストを抑制するために、完了したらすぐにデータベースを削除してください。低料金プランについて確認してください。資格のある学生の皆様は、Heroku for GitHub Students プログラムを通じてプラットフォームクレジットを申請できます。
次のようにして、空のアプリを作成して Heroku Postgres をアタッチします。
- Heroku CLI コマンド
heroku apps:create
を使用してアプリを作成します。 - Heroku CLI コマンド
heroku addons:create heroku-postgresql:PLAN_NAME
を使用してデータベースをプロビジョニングします。プラン名を指定しない場合、essential-0
プランがプロビジョニングされますが、このデフォルトはお勧めしません。本番環境のユースケースでは-4
以上のプランを選択してください。詳細は、「Heroku Connect」を参照してください。チュートリアルの目的に限り、費用を最小限に抑えるためにessential-0
プランを選択できます。
手順 2: Heroku Connect アドオンをプロビジョニングする
Heroku CLI コマンド heroku addons:create herokuconnect:PLAN_NAME
を実行します。
プラン名を指定しない場合、demo
プランがプロビジョニングされます。詳細は、「Available Plans」(使用可能なプラン) を参照してください。
手順 3: Heroku Connect CLI プラグインをインストールする
次の Heroku CLI コマンドを実行して、Heroku Connect CLI プラグインをインストールします。
$ heroku plugins:install heroku-connect-plugin
手順 4: Heroku Connect にユーザーを追加する
デフォルトでは、Heroku Connect アドオンにユーザーはアクセスできません。heroku connect:info
を実行して、ユーザーをアプリに関連付けます。
手順 5: Heroku Postgres への接続を設定する
heroku config
を実行して、データベースの環境設定を確認します。- 接続に使用するデータベースを設定します (
heroku connect:db:set --db=DATABASE_CONFIG_VAR --schema=salesforce
)。もう 1 つのスキーマにテーブルがない場合は、salesforce
ではなくそこにテーブルを配置することを選択できます。
手順 6: Salesforce への接続を設定する
次の CLI プラグインコマンドのいずれかを実行して、Salesforce 組織に対する認証を開始できます。[View All Data] (すべてのデータの表示) 権限を持つ専用の統合ユーザーを使用することをお勧めします。詳細は、「Heroku Connect」を参照してください。
本番環境の組織
このコマンドは、--environment
フラグが指定されていない場合に、本番環境の組織に対する認証を開始します。
heroku connect:sf:auth
サンドボックス組織
heroku connect:sf:auth --environment=sandbox
カスタムのログインドメイン
heroku connect:sf:auth --environment=custom --domain=DOMAIN
CLI プラグインを使用して接続を作成する場合、Heroku Connect は、現在の Salesforce API のデフォルトのバージョンを使用するように接続を設定します。別のバージョンを使用するには、代わりに Heroku Connect ダッシュボードでこの手順を実行してください。接続の設定後に API バージョンを変更することはできません。接続を再作成して、API バージョンを変更します。
手順 7: 接続状態を確認する
IDLE
状態になっていることを確認して、接続が正しく構成されていることを確認します。
手順 8: マッピングを設定する
CLI プラグインを使用する場合は、JSON 設定ファイルをインポートすることによってのみマッピングを設定できます。マッピングを設定したことがない場合は、代わりに Heroku Connect ダッシュボードを使用してマッピングを作成することをお勧めします。
設定をエクスポートするためのマッピングを備えた既存の Heroku Connect アドオンがない場合は、この例に従うことができます。
サンプルの JSON 設定ファイル
{
"mappings": [
{
"object_name": "Account",
"config": {
"access": "read_only",
"sf_notify_enabled": false,
"sf_polling_seconds": 600,
"sf_max_daily_api_calls": 30000,
"fields": {
"CreatedDate": {},
"Id": {},
"IsDeleted": {},
"Name": {},
"SystemModstamp": {}
},
"indexes": {
"Id": {
"unique": true
},
"SystemModstamp": {
"unique": false
}
}
}
},
{
"object_name": "Property__c",
"config": {
"indexes": {
"Address__c": {
"unique": true
},
"SystemModstamp": {
"unique": false
},
"Id": {
"unique": true
}
},
"sf_max_daily_api_calls": 30000,
"access": "read_write",
"upsert_field": "Address__c",
"applied_at": "2021-02-16T17:40:15.177747Z",
"sf_polling_seconds": 600,
"sf_notify_enabled": true,
"fields": {
"Description__c": {},
"Broker__c": {},
"Name": {},
"Address__c": {},
"IsDeleted": {},
"SystemModstamp": {},
"CreatedDate": {},
"Price__c": {},
"Id": {}
}
}
}
],
"connection": {
"app_name": "example-app",
"organization_id": "00D5w000003xwrCEAQ",
"exported_at": "2021-06-17T16:36:52.796896+00:00",
"features": {
"disable_bulk_writes": false,
"poll_db_no_merge": true,
"poll_external_ids": false,
"rest_count_only": false,
"ucs_basic_collation_index": true
},
"api_version": "52.0",
"name": "",
"logplex_log_enabled": false
},
"version": 1
}
既存のマッピング設定をエクスポートする
マッピングを備えた既存の Heroku Connect アドオンがある場合は、設定をエクスポートして別の接続にインポートできます。次の CLI コマンドを実行します。
heroku connect:export
マッピング設定をインポートする
次の CLI コマンドを使用して JSON ファイルをインポートします。
heroku connect:import FILE
既存のファイルをインポートする場合は、インポート先の接続の情報と一致するようにファイルの connection
セクションを変更してください。
(オプション) 手順 9: 設定を確認する
heroku connect:info
を実行して、データが同期していることを確認します。これにより、マッピングとその状態のテーブルが返されます。「マッピング状態のリファレンス」をチェックして、すべてのマッピングがエラー以外の状態にあることを確認します。
psql
でデータを表示することにより、データが Postgres に同期していることを確認することもできます。
heroku pg:psql
を実行して、データベースに対してpsql
を実行します。- スキーマ内のテーブルを確認します (例:
\dt salesforce.*;
)。 - テーブル内のデータを確認します (例:
select * from salesforce.account;
)。
次のステップ
このチュートリアルでは、空の Heroku アプリを設定します。このアプリにコードをデプロイするには、デプロイに関する記事を参照してください。ほとんどのユーザーは Git を使用してコードをデプロイします。
Heroku アプリから Heroku Postgres データベースに接続するには、「Heroku Postgres」を参照してください。
外部接続から Heroku Postgres に接続するには、「外部接続 (ingress)」および「Private Space と Shield Space での Heroku Postgres」を参照してください。