本記事では、Salesforce workbenchについての概要や機能について説明していきます。
Salesforceの開発に携わった方は、開発者コンソールを使うことは多いと思いますが、リリースや運用保守でメタデータのバックアップを行うなどの機会がない方は使ったことがないという場合も多いと思います。
Workbenchには様々な機能があり、管理者や開発者にとっては開発者コンソール同様、非常に便利なツールとなります。
ワークベンチはWebブラウザから簡単にアクセスすることができ、Salesforce組織ともAPIで簡単に接続できます。さらにブラウザ上から直接クエリを発行したり、メタデータを取得(Retrieve)したり、デプロイ(Deploy)することもできます。
※Bulk、Rest ストリーミング、メタデータなどもサポートしています。
またよく利用されるパターンとして、本番環境で不要となったプログラムを削除するような場合にも利用されています。
1 Workbench概要
1-1. Workbenchとは
Salesforce Workbenchは、Salesforceプラットフォームのメタデータ管理やApexコードの実行、Salesforce APIを使ったデータへのアクセスなどを行う機能が提供されたWebベースのツール(サービス)です。
Workbench(ワークベンチ)を使うことで、システム管理者や開発者はプログラムコードを書くことなく、Webブラウザ上からの操作で簡単にメタデータを取得したり、APIを実行したりすることができます。
公式サイトのURLはこちら「Workbenchサイト(https://workbench.developerforce.com/login.php)」
1-2. 機能一覧
ワークベンチ(workbench)が現時点で提供している機能は以下の通りです。
No. | 機能カテゴリ | 機能名称 | 説明 |
1 | メタデータ照会(取得) | Standard &Custom Objects | 標準やカスタムオブジェクトの属性や子リレーション、フィールド(項目)、ラベル名の確認などを行うことができます。 |
2 | Metadata Types & Components | メタデータタイプやコンポーネントに関する情報(名称、Id、作成者/日、最終更新者/日)などを確認することができます。 | |
3 | Session Information | 接続しているSalesforceインスタンスのセッション情報(サービスのエンドポイントなど)を確認することができます。 | |
4 | クエリ | SOQL Query | SOQLクエリを実行することができます。 |
5 | Async SOQL Query | 非同期のSOQL(Insert/Upsert)の実行ができます。 | |
6 | SOSL Search | SOSLを実行して、文字列を指定オブジェクトの指定項目から検索することができます。 | |
7 | Streaming Push Topics | PushTopicの登録、削除を実行することができます。※PushTopicを購読すると Salesforceで発生したレコードイベントの通知を受け取ることができます。 | |
8 | データ操作(DML) | Insert | 指定オブジェクトに対して1つまたは複数のレコードを登録することができます。 |
9 | Update | 指定オブジェクトに対して1つまたは複数のレコードを更新することができます。 | |
10 | Upsert | 指定オブジェクトに対して1つまたは複数のレコードを登録&更新することができます。 | |
11 | Delete | 指定オブジェクトに対して1つまたは複数のレコードを(ごみ箱に)削除することができます。 | |
12 | Undelete | 指定オブジェクトに対して1つまたは複数の削除されたレコードを復元することができます。 | |
13 | Purge | 指定オブジェクトに対して1つまたは複数の削除されたレコードをごみ箱から完全に削除することができます。 | |
14 | マイグレーション | Deploy | 指定されたメタデータをSalesforce組織にデプロイすることができます。 |
15 | Retrieve | 指定されたマニフェストファイル(Package.xml)に定義されたメタデータをdownloadすることができます。 | |
16 | ユーティリティ | REST Explorer | WorkbenchからSalesforce組織に対して直接REST APIを実行することができます。 |
17 | Bulk API Job Status | DataloaderやWorkbenchなどから実行されたBulk APIのジョブステータスを確認することができます。 | |
18 | Apex Execute | Apexコードを直接実行することができます。※開発コンソールと同様 | |
19 | Password Management | ユーザのパスワードを設定したりリセットすることができます。 | |
20 | Metadata API Process Status | メタデータAPIの処理プロセスのステータス(実行状況)を確認することができます。 |
以上のように、非常に実用性の高い機能が用意されています。
2.Workbenchの使い方
2-1. Workbenchへの接続方法
手順①Workbenchへログインするために以下の公式サイトへブラウザでアクセスします。
Workbenchサイト(https://workbench.developerforce.com/login.php)
- Environment(接続環境)を選択:Production(本番)、またはSandboxを選択します。
- API Version:利用したいAPIのバージョンを指定します。 ※バージョンによって利用可能な機能が異なりるため注意
手順②「I agree to terms of service」にチェックを入れて、Login with Salesforceのボタンをクリックします。
手順③Salesforce組織にログインするためのユーザ名とパスワードを入力してログインを行います。
※すでにSalesforce組織にログインしているブラウザでWorkbenchを実行している場合は自動的に接続されます。
手順④Salesforce組織に接続後は、以下ワークベンチのメニューが表示されます。
各機能の利用方法は次の章で紹介します。
3. 機能紹介
3-1. メタデータ照会機能
①Standard &Custom Objects(標準&カスタムオブジェクト)
指定したオブジェクトに関するメタデータ情報を参照することができます。※以下はユーザオブジェクトを照会した例
照会できる情報は以下の通り
- 属性
- 子リレーション
- フィールド(項目)
- レイアウト名
②Metadata Types & Components(メタデータタイプ&コンポーネント)
メタデータタイプの確認やコンポーネントについての詳細情報(ID、名称、作成者/作成日、最終更新者/最終更新日など)の情報を確認することができます。
上記は、フローのメターデータを照会した例
③Session Information(セッション情報)
接続しているSalesforceインスタンスのセッション情報(サービスのエンドポイントなど)を確認することができます。
取得可能な情報
- APIのバージョン
- クライアントID
- エンドポイント
(ユーザ情報)
- プロファイル
- ロール
- ユーザ名
- ユーザID
- タイムゾーン、ユーザタイプなど
(組織)
- 添付ファイルの上限など
3-2. クエリ実行機能
①SOQL Query(SOQLクエリ実行)
SOQLを直接実行することができます。表示形式やソート順の指定が可能またフィルタ条件や取得レコードの上限の指定も可能です。そのほか、削除済み、アーカイブレコードを含めるかなどの指定もできます。
SOQL実行結果
②Async SOQL Query
非同期のSOQL(Insert/Upsert)の実行ができます。
③SOSL Search
SOSL(Salesforce Object Search Language) の実行が可能です。※Salesforceのレコード内のテキスト検索を実行
SOSLの実行結果(CCLTという文字列での検索を実行)
④Streaming Push Topics
本機能は、Salesforceのレコードを監視し、本機能で登録したSOQLクエリに該当した場合に、あらかじめ購読(Subscribe登録)されたクライアントに対して、プッシュ通知を実現するものとなります。
以下のメッセージが表示される場合は、Salesforce組織のストリーミングAPIの有効化がされていないため、先に設定しておく必要があります。また本機能を使う場合には、事前にSalesforce側でプッシュ通知の各種設定が必要となります。
PushTopicに関しては、少し古いですが、テラスカイさんの以下の記事がわかりやすいかと思います。
Terrasky Tech Blog「10分で分かる!使える!ストリーミング API」
(https://www.terrasky.co.jp/blog/2013/130522_001287.php)
3-3. データ操作(DML)機能
①Insert
指定オブジェクトに対して1つまたは複数のレコードを登録することができます。
以下の画面で登録するための項目の値を指定して実行
実行結果を表示(成功すると以下のように表示されます)
②Update
指定オブジェクトに対して1つまたは複数のレコードを更新することができます。
以下の画面で更新レコードのIDを指定して、変更後の値をセットしたら実行
実行結果の画面
③Upsert
指定オブジェクトに対して1つまたは複数のレコードを登録&更新することができます。
更新の場合はIDを指定して、変更後の値をセットして実行(新規の場合はID指定なし)
実行結果
④Delete
指定オブジェクトに対して1つまたは複数のレコードを(ごみ箱に)削除することができます。
削除対象レコードのIDを指定して実行
実行結果
⑤Undelete
指定オブジェクトに対して1つまたは複数の削除されたレコードを復元することができます。
UndeleteしたいレコードのIDを指定して実行
Undeleteの実行結果
⑥Purge
指定オブジェクトに対して1つまたは複数の削除されたレコードをごみ箱から完全に削除することができます。
Purgeしたいレコードを指定して実行
Purge(パージ)の実行結果
3-4. マイグレーション機能
①Retrieve(取得)
指定されたマニフェストファイル(Package.xml)に定義されたメタデータをdownloadすることができます。
Package.xmlファイルを指定します。
全てのメタデータ取得用のファイルが欲しい方は、以下からダウンロードしてご利用いただけます。
-
参考全メタデータ取得用のマニフェストファイル(Package.xml)のサンプルダウンロード
本記事では、Creative Content Lab Tokyo(クリエイティブコンテンツラボトウキョウ)が作成した全メタデータ取得用のマニフェストファイル(package.xml)のテンプレートをご ...
続きを見る
Retriveを実行した結果
上記のDownload ZIP Fileをクリックするとメタデータのファイルをダウンロードすることができます。
ダウンロードしたメタデータはデプロイして元に戻すことができます。
②Deploy(デプロイ)
指定されたメタデータをSalesforce組織にデプロイすることができます。
オプションで、チェックだけを行う、ワーニングを無視、テストレベルやテストの実行指定などができます。
あらかじめ取得しておいたメタデータファイル(ZIP形式)を指定して実行します。
実行中の画面
実行結果の確認画面
3-5. その他ユーティリティ
①Rest Explorer
WorkbenchからSalesforce組織に対して直接REST APIを実行することができます。
利用可能なメソッドは、
②Apex Execute
Apexコードを直接実行することができます。※開発コンソールと同様
実行すると以下のようなデバッグログが表示されます。
③Password Management(パスワード管理)
ユーザのパスワードを設定したりリセットすることができます。
パスワードを設定/変更したいユーザIDと新しいパスワードを指定してChange Passwordを実行します。
④Bulk API Job Status
DataloaderやWorkbenchなどから実行されたBulk APIのジョブステータスを確認することができます。
一括データ読み込みジョブのIDを指定して実行
ジョブの実行状況(結果)が表示されます。
⑤Metadata API Process Status
メタデータAPIの処理プロセスのステータス(実行状況)を確認することができます。
確認したいIDを指定して実行します。
Salesforce workbenchの概要説明資料のダウンロード
資料のダウンロードおよびご利用に関しては、本サイトのコンテンツ利用規約に同意される場合のみ利用可能となります。
一般公開資料
-
参考要件定義_ユーザ説明資料_Salesforce Workbench(ワークベンチ)機能概要説明」ダウンロード
本記事では、Creative Content Lab Tokyo(クリエイティブコンテンツラボトウキョウ)が提供するユーザ説明資料「Salesforce Workbench(ワークベンチ)の資料の説明 ...
続きを見る