この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Sandbox の作成、コピー、または削除

Sandbox を作成して、開発、テスト、またはトレーニングに使用します。Sandbox をコピーして、そのデータとメタデータを別の Sandbox にコピーします。
Sandbox を作成またはコピーする前に、次の操作を実行します。
  • マニフェストファイルを持つ Salesforce DX プロジェクトを作成します。
  • 使用可能な Sandbox ライセンスで本番組織への認証を受けます。
  • Sandbox 定義ファイルを作成します。

エイリアスの使用が推奨される理由

Sandbox を作成またはコピーすると、その Sandbox で生成されるユーザ名は、本番組織または Sandbox に存在するユーザ名に基づきます。ユーザ名はメールアドレスのようになります (例: username@company.com.dev1)。変更後のユーザ名が一意でない場合は、文字と数字がユーザ名の先頭に追加されます。変更したユーザ名は、00x7Vqusername@company.com.dev1 のようになります。

ご想像のとおり、これらのユーザ名を記憶することは、特に複数の Sandbox を管理しているときには難しい場合があります。別名指定は組織を管理し、追跡するための強力な方法で、ベストプラクティスであると考えられています。そのためのユーザ名が必要なコマンドを発行する場合、覚えやすい別名を使用することで時間を短縮できます。

Sandbox を作成したときに別名を設定しなかった場合は、後から設定できます。
1sfdx alias:set MyDevSandbox=username@company.com.dev1

Sandbox の作成

省略可能: Sandbox 定義ファイルの作成

Sandbox を作成すると、Salesforce によってメタデータと必要に応じて本番組織のデータが Sandbox 組織にコピーされます。

1sfdx force:org:create --type sandbox --targetusername prodOrg --definitionfile config/dev-sandbox-def.json -a MyDevSandbox -s -w 30

-s フラグは、この Sandbox がすべての CLI コマンドのデフォルトの組織であることを示します。複数の組織で作業していて、これをデフォルトにしたくない場合は、このフラグを削除してください。

必要な Sandbox オプションを直接定義したり、Sandbox 定義ファイルで定義されている値を上書きしたりするには、コマンドラインで key=value のペアを指定します。

1sfdx force:org:create -t sandbox sandboxName=FullSbx licenseType=Full -u prodOrg -a MyFullSandbox -w 30

Sandbox はキューで処理されるため、Sandbox の作成プロセスはデフォルトの待機時間の 6 分よりも長くかかることがあります。--wait には、たとえば 30 分などのより長い時間を設定することをお勧めします。

ヒント

作成プロセスにかかる時間は、本番組織の規模と複雑性によって異なります。状況メッセージが次のように出力されます。

1Sandbox request dev1(0GXQ0000000CftJOWS) is Pending (0% completed). Sleeping 30 seconds. Will wait 30 minutes more before timing out.
2Sandbox request dev1(0GXQ0000000CftJOWS) is Processing (0% completed). Sleeping 30 seconds. Will wait 29 minutes 30 seconds more before timing out.

待機期間が終了したら、force:org:status コマンドを実行して、Sandbox 作成プロセスの状況を確認できます。Sandbox が待機時間以内に作成されると、CLI が自動的に Sandbox に対して認証されます。さらに、その Sandbox が force:org:list コマンドの出力に表示されます。チームメンバーは、auth:web:login コマンドを実行してユーザ名とパスワードを入力することによって、Sandbox に対する認証を行います。

1sfdx auth:web:login -r https://test.salesforce.com

Sandbox のコピー

本番組織を送信元として使用するのではなく、既存の Sandbox をコピーして Sandbox を作成できます。一連のデータとメタデータで Sandbox をカスタマイズして、それを複製することで時間を節約できます。

Sandbox のコピーにより、アプリケーションライフサイクルでの作業の複数の同時ストリームを簡単に設定できます。開発、テスト、ステージングなどの作業種別ごとに Sandbox を設定できます。同僚は個々の Sandbox を簡単にコピーできるため、1 つの Sandbox を共有する必要がなく、お互いの作業を妨げずに済みます。

1sfdx force:org:clone -t sandbox -f config/dev-sandbox-def.json -u prodOrg -a MyDevSandbox -s -w 30

Sandbox 定義ファイルで定義されている設定値を上書きするには、コマンドラインで key=value のペアを指定します。

1sfdx force:org:clone -t sandbox SandboxName=NewClonedSandbox SourceSandboxName=ExistingSandbox -u prodOrg -a MyDevSandbox -w 30

Sandbox はキューで処理されるため、Sandbox のコピープロセスはデフォルトの待機時間の 6 分よりも長くかかることがあります。--wait には、たとえば 30 分などのより長い時間を設定することをお勧めします。

ヒント

待機期間が終了したら、force:org:status コマンドを実行して、Sandbox コピープロセスの状況を確認できます。Sandbox が待機時間以内にコピーされると、CLI が自動的に Sandbox に対して認証されます。さらに、その Sandbox が force:org:list コマンドの出力に表示されます。チームメンバーは、auth:web:login コマンドを実行してユーザ名とパスワードを入力することによって、Sandbox に対する認証を行います。

1sfdx auth:web:login -r https://test.salesforce.com

Sandbox の状況の確認

Sandbox の作成または複製には数分かかることがあります。コマンドがタイムアウトしたら、force:org:status コマンドを実行して、作成またはコピー状況についてのレポートを取得できます。Sandbox の準備が完了したら、このコマンドが Sandbox に対して認証されます。

org:create または org:clone コマンドがタイムアウトになった場合、別名は設定されません。ただし、org:status コマンドを使用して設定できます。

1sfdx force:org:status -n DevSbx1 -a MyDevSandbox -u prodOrg

Sandbox を開く

Sandbox の準備ができたら、ユーザ名または別名を指定して開くことができます。ただし、CLI によって認証の詳細情報が管理されているため、パスワードを入力する必要はありません。

1sfdx force:org:open -u MyDevSandbox

Sandbox の削除

Sandbox が org:createorg:clone、または org:status の実行中に認証されたのであれば、CLI を使用して削除できます。auth:web:loginauth:jwt:grant を使用して認証された他の Sandbox も組織リストに表示されますが、これらは本番組織の Sandbox 詳細ページで削除する必要があります。

1sfdx force:org:delete -u MyDevSandbox

次のステップ:

  • ローカルの DX プロジェクトで、Sandbox からメタデータを取得します。
  • Sandbox で直接開発し、その変更をローカル DX プロジェクトで取得します。
  • Sandbox にローカルの変更をリリースします。