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

sfsfdx が連携するしくみ

sfsfdx はうまく連携して動作するコマンドです。

環境

現在、操作できる環境は、Salesforce 組織 (スクラッチ組織、Dev Hub、本番組織、Sandbox など) と計算環境 (Salesforce Functions をデプロイする場所) のみです。組織の認証は sfsfdx 間で相互に利用することができます。

具体的には、sfdx でスクラッチ組織を作成したり、組織を認証したり、組織からログアウトしたりすると、sf コマンドはこのようなアクションを優先します。逆の場合も同じで、sf で環境にログインまたは環境からログアウトすると、sfdx コマンドはそのアクションを優先します。

たとえば、sfdx force:org:create でスクラッチ組織を作成したとします。同じプロジェクトで sf env list を実行すると、新しいスクラッチ組織が表示されます。

同様に、sf login org で組織にログインし、sfdx force:org:list を実行すると、ログインした組織が表示されます。

別名

別名は sfsfdx 間で相互に利用することができます。

たとえば、sfdx force:org:create --setalias MyScratchOrg を実行すると、sf env open --target-env MyScratchOrg のように、sf でこの別名を使用できます。

同様に、sf login org --alias MyDevHub を実行すると、sfdx force:org:open --targetusername MyDevHub のように、sfdx でこの別名を使用できます。

設定変数

設定変数は sfsfdx 間で相互に利用することができます。ただし、それらの名前は下表に示すように異なります。下表には、sfsfdx の両方で使用可能なすべての設定変数が記載されています。また、対応する sf 環境変数も記載されています。詳細なリストについては、「環境変数」を参照してください。

sf 設定変数 相当する sfdx 設定変数値 sf 環境変数
disable-telemetry disableTelemetry SF_DISABLE_TELEMETRY
org-api-version apiVersion SF_ORG_API_VERSION
org-custom-metadata-templates customOrgMetadataTemplates SF_ORG_CUSTOM_METADATA_TEMPLATES
org-instance-url instanceUrl SF_ORG_INSTANCE_URL
org-max-query-limit maxQueryLimit SF_ORG_MAX_QUERY_LIMIT
org-metadata-rest-deploy restDeploy SF_ORG_METADATA_REST_DEPLOY
target-dev-hub defaultdevhubusername SF_TARGET_DEV_HUB
target-org defaultusername SF_TARGET_ORG

target-orgdefaultusername を例にして、いくつかの使用事例を実行し、その相互運用のしくみを見てみましょう。残りの設定変数にも同じ動作が適用されます。一般的な規則として、target-org をある値に設定すると、defaultusername も自動的に同じ値に設定されます。また、その逆も同様です。

アクション: 以下の sfdx コマンドを使用して、スクラッチ組織を作成します。
1sfdx force:org:create --setdefaultusername -f config/project-scratch-def.json --setalias my-scratch-org

次に、sfdx config:listsf config list を実行します。

結果: defaultusernametarget-org の両方が my-scratch-org に設定されます。

アクション: 以下の sf コマンドを使用して、target-org 設定変数を別名が uat-testing-org という組織に設定します。
1sf config set target-org=uat-testing-org

次に、sfdx config:listsf config list を実行します。

結果: defaultusernametarget-org の両方が uat-testing-org に設定されます。

アクション: 以下の sfdx コマンドを使用して、defaultusername 設定変数を別名が production-org という組織に設定します。
1sfdx config:set defaultusername=production-org

次に、sfdx config:listsf config list を実行します。

結果: defaultusernametarget-org の両方が production-org に設定されます。

アクション: 以下の sf コマンドを使用して、defaultusername を設定します。
1sf config set defaultusername=other-org

結果: sf コマンドを使用して直接 defaultusername を設定することはできないため、エラーになります。

アクション: 以下の sfdx を使用して、target-org を設定します。
1sfdx config:set target-org=other-org

結果: sfdx コマンドを使用して直接 target-org を設定することはできないため、エラーになります。

sfdx プラグインを sf にインストールする

sfsfdx は両方ともオープンソースの CLI フレームワーク (oclif) 上に構築されているため、もともと sfdx 用に構築されたプラグインを sf に適切にインストールして使用することができます。ただし、--help とコマンド出力には、次のような矛盾があります。

  • --help コンテンツでは、sfdx でコマンドが実行される可能性が高いことが想定されています。そのため、コマンドの例では sf の代わりに sfdx を使用しており、スペースではなくコロンで区切るなどしています。
  • 同様に、コマンド出力にも sfdx スタイルが反映されています。たとえば、@oclif/plugin-commands プラグインをインストールしてから sf commands を実行すると、すべてのコマンドが適切にリストされます。ただし、コマンドはコロンで区切られて表示され、その説明は短い概要ではなく、コマンドの長い説明の最初の行になります