PAC キャンバス

Power Apps .msapp ファイルを使用して操作しています

[この記事はプレリリース ドキュメントであり、変更されることがあります。]

重要

  • コマンド packunpack はパブリック プレビュー中です。
  • プレビュー機能は運用環境での使用を想定しておらず、機能が制限される可能性があります。 これらの機能を公式リリースの前に使用できるようにすることで、顧客が一足先にアクセスし、そこからフィードバックを得ることができます。
  • create コマンドは一般提供です。

コマンド

command 説明設定
pac canvas create カスタム コネクタからキャンバス アプリを生成する
パック キャンバスのダウンロード キャンバス アプリを .msapp ファイルとしてダウンロードする
パック キャンバス リスト キャンバス アプリの一覧表示
pac canvas pack (プレビュー) ソースを msapp ファイルにパックします
pac canvas unpack (プレビュー) msapp ファイルをソースに解凍する

pac canvas create

カスタム コネクタからキャンバス アプリを生成する

このコマンドは、既存の カスタム コネクタ の OpenAPI 定義に基づいて、.msapp キャンバス アプリを生成します。 このアプリは、カスタム コネクタのアクションの定義方法に基づいて生成された画面、コントロール レイアウト、Power Fx コードに加え、定義済みの外観を含みます。 このアプリを使用して、カスタム コネクタで定義したアクションを直接実行できます。

作成者は、生成した .msapp を Power Apps Studio にインポートして、アプリの実行、編集、追加のカスタマイズを実行できます。 Studio で ファイル>開く>参照 の順に移動し、生成されたアプリを Power Apps Studio にインポートします。

使用例

次の例は、pac canvas create コマンドの使用を示します。

表示名による Open API 定義に基づいてキャンバス アプリを作成する

この例では、コネクタの表示名を使用して、Open API 定義に基づいて (*.msapp ファイルとして) キャンバス アプリを作成します。

pac canvas create --msapp HelloWorld.msapp --connector-display-name "My Custom Connector"

ID による Open API 定義に基づいてキャンバス アプリを作成する

この例では、コネクタの ID を使用して、Open API 定義に基づいて (*.msapp ファイルとして) キャンバス アプリを作成します。

pac canvas create --msapp HelloWorld.msapp --connector-id 00000000-0000-0000-0000-000000000000

connector-display-name または connector-id は必須です。

キャンバス作成で必須のパラメーター

--msapp

生成される .msapp ファイルへのパス

キャンバス作成でオプションのパラメーター

--connector-display-name

Power App の生成元であるコネクタの表示名。

--connector-id

Power App の生成元であるコネクタの ID。

--environment

ターゲット環境の ID または URL。 既定値は、現在アクティブな Dataverse 認証プロファイルの環境です。

注釈

考慮事項と制限:

  • connector-display-name または connector-id のパラメーターで参照するカスタム コネクタは、ソリューション の一部である必要があります。
  • アプリを Studio にインポートした後は、カスタム コネクタへの関連付けはありません。 アプリを実行する前に、作成者はアプリを生成したカスタム コネクタへの参照を手動で追加する必要があります。 手順については キャンバス アプリにデータ接続を追加する を参照してください。 これが完了するまでは、コネクタ参照の追加によって解決する数式エラーがアプリに表示される場合があります。 アプリに追加するカスタム コネクタの名前は、canvas create コマンドで参照するカスタム コネクタの表示名と一致する必要があります。
  • アプリは、コネクタが定義する POSTGET のアクションごとに 1 つの画面を含みます。
    • カスタム コネクタで使用できるその他の動詞には対応していません。
  • 各アクションの画面に表示されるコントロールは、各アクションの入力と出力のタイプの定義方法に基づいて動的に生成されます。 canvas create は、カスタム コネクタで定義した特定のタイプの入力と出力に対応していません。 これらが発生すると、コマンドがコンソールで警告を生成します。 特定の場合:
    • オブジェクトの配列と、配列の配列には、入力として対応していません
    • 階層が 20 を超えるオブジェクトやネストされた配列に対しては、コントロールが生成されません
    • "ファイル" と "バイナリ形式" のタイプには、入力や出力として対応していません。

パック キャンバスのダウンロード

キャンバス アプリを .msapp ファイルとしてダウンロードする

キャンバスのダウンロードに必要なパラメーター

--name -n

キャンバス アプリの完全な名前、部分的な名前、またはアプリ ID

キャンバスのダウンロードで使用するオプションのパラメーター

--environment -env

ターゲット Dataverse を指定します。 値は、Guid または絶対 https URL にすることができます。 指定しない場合、現在の認証プロファイルに選択されているアクティブな組織が使用されます。

--extract-to-directory -d

キャンバス アプリを抽出する先のディレクトリ名

--file-name -f

ファイル名 (通常は .msapp 拡張子を含む)。 指定されていないファイルが "appname".msapp という名前で現在のディレクトリに保存されている場合

--overwrite -o

ファイルの上書きを許可する

このパラメーターには値が必要ありません。 それはスイッチです。

パック キャンバス リスト

キャンバス アプリの一覧表示

キャンバス リストで必要なオプションのパラメーター

--environment -env

ターゲット Dataverse を指定します。 値は、Guid または絶対 https URL にすることができます。 指定しない場合、現在の認証プロファイルに選択されているアクティブな組織が使用されます。

pac canvas pack

(プレビュー) ソースを msapp ファイルにパックします

pac canvas pack --sources MyHelloWorldFiles --msapp HelloWorld.msapp

キャンバス パックで必須のパラメーター

--msapp

.msapp ファイルへのパス

--sources

パックするソースへのディレクトリ

注釈

以前にアンパックされたソースファイルから .msapp ファイルを作成します。 ファイル>開く>ブラウズ へとナビゲートすることで、この結果は Power Apps Studio で開くことができます。

アンパック後、このソースファイルは、Visual Studio Code や GitHub などの外部ツールを使用して編集および管理できます。

pac canvas unpack

(プレビュー) msapp ファイルをソースに解凍する

pac canvas unpack --msapp HelloWorld.msapp --sources MyHelloWorldFiles
pac canvas unpack --msapp HelloWorld.msapp

既定ディレクトリ HelloWorld_src に展開します。

キャンバスの展開で必須のパラメーター

--msapp

.msapp ファイルへのパス

キャンバスの展開で必要なオプションのパラメーター

--sources

アンパックするソースへのディレクトリ

注釈

.msapp ソース ファイルを展開します。

ファイル>名前を付けて保存>このコンピュータ の順にナビゲートして、Power Apps Studio から .msapp ファイルをダウンロードします。

sources パラメータが指定されていない場合は、.msapp ファイルと同じ名前と場所のディレクトリは _src 接尾辞で使用されます。

フォルダー構造

アンパックとパックの機能には、次のフォルダー構造を使用します。

  • \ src - 制御ファイルとコンポーネント ファイル。 これにはソースが含まれています。
    • *.fx.yaml - control.json ファイルから抽出された式。

      Note

      これは、数式を編集する場所です。

    • CanvasManifest.json - ヘッダー、プロパティ、publishInfo に通常存在する情報を含むマニフェスト ファイル。
    • *.json - 未加工の control.json ファイル。
    • \EditorState*.editorstate.json - Power Apps Studio を使用するためのキャッシュされた情報。
  • \DataSources - アプリが使用するすべてのデータ ソース。
  • \Connections - アプリで保存され、Power Apps Studio にリロードするときに使用される接続インスタンス。
  • \Assets - アプリに埋め込まれたメディア ファイル。
  • \pkgs - テンプレート、API 定義ファイル、コンポーネント ライブラリなどの外部参照のダウンロードされたコピー。 これらは NuGet/NPM 参照に似ています。
  • \other - .msapp を再作成するために必要なすべてのその他のファイル。
    • entropy.json - 揮発性要素 (タイム スタンプなど) がこのファイルに抽出されます。 これにより、他のファイルのノイズの違いを減らしながら、往復できるようになります。
    • \references の内容などの msapp からのその他のファイルを保持します。

ファイル形式

.fx.yaml ファイルは YAML のサブセットを使用します。 Excel と同様に、すべての式は = 等号で始まる必要があります。 詳細: Power Fx YAML 式の文法

Power Apps Studio での変更のマージ

変更をマージする場合、それは 2 つの異なる Power Apps Studio セッションで行われます。

  • すべてのコントロール名が一意であることを確認してください。 たとえば、2 つの異なるセッションにボタンを挿入すると、Button1 コントロールにある 2 つのセッションになる可能性があります。 コントロールを作成したらすぐに名前を付けることをお勧めします。 このツールは、同じ名前の 2 つのコントロールを受け入れません。
  • これらのファイルについては、通常どおりにマージします:
    • \src*.fx.yaml
  • 競合またはエラーがある場合は、次のファイルを削除できます:
    • \src\editorstate*.json - これらのファイルには、Power Apps Studio のオプション情報が含まれています。
    • \other\entropy.json
  • これらのファイルで競合が発生した場合は、最新バージョンを受け入れてもかまいません:
    • \checksum.json
  • これらのパスの下にマージの競合がある場合、マージするのは安全ではありません。 これが頻繁に発生する場合はお知らせください。競合を回避するためにファイル形式の再構築に取り組みます。
    • \Connections*
    • \DataSources*
    • \pkgs*
    • CanvasManifest.json

オープンソース

Microsoft Power Platform CLI のキャンバス コマンドはオープンソースです。 改善について議論し、問題を提起し、Power Apps 言語ツール リポジトリ からコードにアクセスします。

参照

Microsoft Power Platform CLI コマンド グループ
Microsoft Power Platform CLI の概要