データキットを作成してパッケージ化する
学習の目的
この単元を完了すると、次のことができるようになります。
- データキットを作成する。
- データキットをパッケージ化する。
データキットを使用する理由
データキットとは何か、なぜデータキットを使用するのかを詳しく見てみましょう。
データキットは Data Cloud コンポーネントの特別なコンテナのようなもので、パッケージに含めることができます。データキットを使用すると、パッケージ化の作業が合理化されます。
データキットを使用して、次のことができます。
-
テンプレートを使用してスキーマを再利用する。Data Cloud 設定をデータキットに含めると、コラボレーターやユーザーがデータキットを各自の組織にリリースして設定を簡単に再利用できます。
- 同じ組織内の複数のデータスペースにデータキットをリリースする。データキットを含むパッケージを組織にインストールしたら、その組織内のどのデータスペースにデータキットをリリースするかを選択できます。
-
柔軟性を高める。ランタイムメタデータを変更する代わりにパッケージのアップグレードでテンプレートを更新し、すぐに必要でない場合は、パッケージのユーザーが変更されていない要素を保持できるようにします。
一部のコンポーネントはデータキットに含めることができません。データキットに含めることができるコンポーネントを確認するには、「Data Cloud の拡張準備マトリックス」を参照してください。また、データキットからリリースするメタデータは編集も削除もできません。
データキットを使用すれば、ユーザーは包括的なエンドツーエンドの Data Cloud ソリューションを開発し、顧客の組織に選択的にメタデータをリリースすることができます。
データキットを作成する
Get Cloudy は Dev Hub 組織、名前空間組織、スクラッチ組織を設定しました。次はデータキットを作成します。
Get Cloudy チームはスクラッチ組織で Data Cloud 要素を作成し、データキットに追加します。このデータキットは、アプリケーションに含める Data Cloud の機能のコンテナとなります。
データキットを作成してアップロードする方法を動画で見てみましょう。
受講者が Data Cloud でパッケージの作成とインストールを行う必要な権限を持つパッケージ開発者であると想定しています。ただし、その権限がなくても問題ありません。このまま読み進み、本番組織でシステム管理者がこれらの手順をどのように実行するのかを見てみましょう。Trailhead Playground で次の手順を実行しないでください。通常の Trailhead Playground では Data Cloud を使用できません。始める前に、単元 2 で説明したように、スクラッチ組織用 Data Cloud が有効になっていることを確認してください。
- スクラッチ組織で [Data Cloud Setup (Data Cloud 設定)] に移動します。
- [Quick Find (クイック検索)] ボックスで [Data Kits (データキット)] を検索して選択します。
-
[New (新規)] をクリックします。
- データキットに名前を付け、必要に応じて説明を追加し、[Save (保存)] をクリックします。
- [Data Stream Bundles (データストリームバンドル)] セクションから [Add (追加)] をクリックします。
- 次に、サポートされているデータソースに基づいて、コネクタタイプを選択します。
- バンドル名 (スペースを含めない) と説明 (省略可能) を追加します。
- パッケージ化するデータストリームを選択し、[Next (次へ)] をクリックします。
- 必要に応じてデータモデルを追加して、[Save (保存)] をクリックします。
- 必要に応じて計算済みインサイトを追加して、[Save (保存)] をクリックします。
- 必要に応じてコンポーネントをさらに追加します。
次に、Get Cloudy チームはコンポーネントをリリースする順序 (公開シーケンス) を指定する必要があります。
公開シーケンスが適切に定義されていないと、リリースが失敗する可能性があります。たとえば、DMO に連動している計算済みインサイトをリリースしようとしている場合、計算済みインサイトの前に DMO をリリースしなければ、リリースは失敗します。
-
[Publishing Sequence (公開シーケンス)] タブをクリックして、[Edit Sequence (シーケンスを編集)] をクリックします。インストール順序は一般的に、コネクタ、データストリーム、変換、計算済みインサイト、DMO のシーケンスに従います。
- データキットの準備が整ったら、ユーザーインターフェースから package.xml ファイルをダウンロードします。
- package.xml ファイルをプロジェクトディレクトリに移動します。
データキットを含む管理パッケージを作成する
Get Cloudy はデータキットを正常に作成できました。次はいよいよパッケージ化です。
Salesforce DX プロジェクトで、Get Cloudy チームは UI からダウンロードした package.xml
ファイルを参照してデータのメタデータを取得します。データキットのメタデータを取得するときには、ほかのメタデータ型 (権限セット、カスタムオブジェクト、Apex など) とは分離して、独立したプロジェクトフォルダーに保存します。
次に、Data Cloud SSOT パッケージとの連動関係が必要かどうかを決定します。SSOT には、Data Cloud を機能させるコアデータモデルオブジェクトが含まれています。パッケージ内の DMO が、統合個人 DMO や、API 参照名に ssot__
プレフィックスが付くほかの DMO とのリレーションを持つ場合、プロジェクトには連動関係があるため、以下を sfdx-project.json に追加する必要があります。
{ "packageDirectories": [ { "versionName": "ver 0.1", "versionNumber": "0.1.0.NEXT", "path": "data-app", "default": false, "package": "yourDCPackage", "versionDescription": "My data kit extension package", "dependencies": [ { "package": "04t5Y0000015oSB" } ] } ] }
次に、データキットメタデータフォルダーを参照する Salesforce 管理パッケージを作成します。
sf package create -n PACKAGE_NAME -t Managed -v DEVHUB_ALIAS -p PATH_TO_DATA_KIT
管理パッケージが作成されると、0ho
ID が生成されます。その ID をコピーします。続いて、その 0ho
ID を使用して管理パッケージバージョンを作成します。
sf package version create -v DEVHUB_ALIAS -k INSTALLATION_KEY -p 0ho_ID -w 45 -f config/project-scratch-def.json
このプロセスは数分かかることがあり、パッケージバージョンを示す 04t ID が返されます。パッケージバージョンはベータとみなされます。つまり、スクラッチ組織のみにインストールできます。ベータパッケージの機能を確認したら、sf package version promote -v DEVHUB_ALIAS -p 04t
を実行して、Developer Edition 組織または本番組織にインストール可能なバージョンを作成できます。
コラボレーションする
Get Cloudy チームはデータキットを作成してパッケージ化しました。次に、バージョン管理システムに変更をコミットし、リポジトリホストプラットフォームの GitHub に更新をプッシュして、ほかの開発者とコラボレーションします。
ほかの開発者はプロジェクトをダウンロードし、スクラッチ組織にデータキットをリリースして、さらに変更を加えることができます。チームはこのプロセスを繰り返していきます。新しい開発者が新しいデータキットに古い機能と新しい機能を追加し、自分のプロジェクトにデータキットのメタデータを取得し、そのプロジェクトをリポジトリホストプラットフォームに再度アップロードします。
リソース
- Salesforce ヘルプ: Packaging and Data Kits in Data Cloud (Data Cloud でのパッケージ化とデータキット)
- Salesforce 開発者: Package Data Cloud Metadata Components (Data Cloud メタデータコンポーネントのパッケージ化)
- Salesforce 開発者: Data Cloud の拡張準備マトリックス