Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

compiler.build.productionServerArchive

MATLAB Production Server または Docker にデプロイするアーカイブを作成する

R2020b 以降

説明

compiler.build.productionServerArchive(FunctionFiles) は、FunctionFiles で指定された MATLAB® 関数を使用してデプロイ可能なアーカイブを作成します。

compiler.build.productionServerArchive(FunctionFiles,Name,Value) は、名前と値の引数を 1 つ以上使用して追加オプションを指定してデプロイ可能なアーカイブを作成します。オプションには、アーカイブ名、JSON 関数シグネチャ、および出力ディレクトリなどがあります。

compiler.build.productionServerArchive(opts) は、compiler.build.ProductionServerArchiveOptions オブジェクト opts を使用してオプションを指定してデプロイ可能なアーカイブを作成します。名前と値の引数を使用して他のオプションを指定することはできません。

results = compiler.build.productionServerArchive(___) は、前述の構文にある入力引数の任意の組み合わせを使用して、ビルド情報を compiler.build.Results オブジェクトとして返します。ビルド情報は、ビルド タイプ、コンパイル済みアーカイブへのパス、およびビルド オプションで構成されます。

すべて折りたたむ

デプロイ可能なサーバー アーカイブを作成します。

MATLAB で、アーカイブとしてデプロイする MATLAB 関数を見つけます。この例では、matlabroot\extern\examples\compiler にあるファイル magicsquare.m を使用します。

appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');

compiler.build.productionServerArchive コマンドを使用して Production Server アーカイブをビルドします。

compiler.build.productionServerArchive(appFile);

この構文により、現在の作業ディレクトリの mymagicproductionServerArchive という名前のフォルダー内に以下のファイルが生成されます。

  • includedSupportPackages.txt — アーカイブに含まれている、すべてのサポートされるファイルをリストしたテキスト ファイル。

  • mymagic.ctf — デプロイ可能な Production Server アーカイブ ファイル。

  • mccExcludedFiles.log — アプリケーションに含まれていないすべてのツールボックス関数のリストが含まれるログ ファイル。サポートされていない関数の詳細については、MATLAB Compiler の制限を参照してください。

  • readme.txt — デプロイの前提条件に関する情報と、デプロイ用にパッケージ化するファイルのリストが含まれる Readme ファイル。

  • requiredMCRProducts.txtMATLAB Runtime がアプリケーションを実行するために必要な製品の製品 ID が含まれるテキスト ファイル。

Production Server アーカイブを作成し、名前と値の引数を使用してカスタマイズします。

この例では、matlabroot\extern\examples\compiler にあるファイル addmatrix.msubtractmatrix.mat を使用します。

addFile = fullfile(matlabroot,'extern','examples','compilersdk','c_cpp','matrix','addmatrix.m');
subFile = fullfile(matlabroot,'extern','examples','compilersdk','c_cpp','matrix','subtractmatrix.m');

compiler.build.productionServerArchive コマンドを使用して Production Server アーカイブをビルドします。名前と値の引数を使用してアーカイブ名を指定し、詳細な出力を有効にします。

compiler.build.productionServerArchive({addFile,subFile},...
    'ArchiveName','MatrixArchive',...
    'Verbose','on');

この構文により、現在の作業ディレクトリの MatrixArchiveproductionServerArchive という名前のフォルダー内に以下のファイルが生成されます。

  • includedSupportPackages.txt — アーカイブに含まれている、すべてのサポートされるファイルをリストしたテキスト ファイル。

  • MatrixArchive.ctf — デプロイ可能な Production Server アーカイブ ファイル。

  • mccExcludedFiles.log — アプリケーションに含まれていないすべてのツールボックス関数のリストが含まれるログ ファイル。サポートされていない関数の詳細については、MATLAB Compiler の制限を参照してください。

  • readme.txt — デプロイの前提条件に関する情報と、デプロイ用にパッケージ化するファイルのリストが含まれる Readme ファイル。

  • requiredMCRProducts.txtMATLAB Runtime がアプリケーションを実行するために必要な製品の製品 ID が含まれるテキスト ファイル。

compiler.build.ProductionServerArchiveOptions オブジェクトを使用して複数の Production Server アーカイブをカスタマイズします。

この例では、matlabroot\extern\examples\compiler にあるファイル hello.m を使用します。

functionFile = fullfile(matlabroot,'extern','examples','compiler','hello.m');

ProductionServerArchiveOptions オブジェクトを作成します。名前と値の引数を使用して共通の出力ディレクトリを指定し、データ ファイルの自動組み込みを無効にして、詳細な出力を有効にします。

opts = compiler.build.ProductionServerArchiveOptions(functionFile,...    
    'OutputDir','D:\Documents\MATLAB\work\ProductionServerBatch',...
    'AutoDetectDataFiles','off',...
    'Verbose','on')
opts = 

  ProductionServerArchiveOptions with properties:

            ArchiveName: 'hello'
          FunctionFiles: {'C:\Program Files\MATLAB\R2023b\extern\examples\compiler\hello.m'}
     FunctionSignatures: ''
        AdditionalFiles: {}
    AutoDetectDataFiles: off
        SupportPackages: {'autodetect'}
                Verbose: on
              OutputDir: 'D:\Documents\MATLAB\work\ProductionServerBatch'

ProductionServerArchiveOptions オブジェクトを使用して Production Server アーカイブをビルドします。

compiler.build.productionServerArchive(opts);

同じオプションをもつ関数ファイル houdini.m を使用してコンパイルするには、ビルド関数を再度実行する前に、ドット表記を使用して既存の ProductionServerArchiveOptions オブジェクトの FunctionFiles を変更します。

opts.FunctionFiles = 'houdini.m';
compiler.build.productionServerArchive(opts);

FunctionFiles 引数を変更して再コンパイルすることにより、同じオプション オブジェクトを使用して複数のアーカイブをコンパイルできます。

Linux® システムで Production Server アーカイブをビルドした結果を使用して、マイクロサービスの Docker® イメージを作成します。

システムに Docker をインストールして構成します。

magicsquare.m を使用して Production Server アーカイブを作成し、ビルド結果を compiler.build.Results オブジェクトに保存します。

appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
buildResults = compiler.build.productionServerArchive(appFile);

Results オブジェクトを関数 compiler.package.microserviceDockerImage への入力として渡して、Docker イメージをビルドします。

compiler.package.microserviceDockerImage(buildResults);

この関数により、現在の作業ディレクトリにある magicsquaremicroserviceDockerImage という名前のフォルダー内に以下のファイルが生成されます。

  • applicationFilesForMATLABCompiler/magicsquare.ctf — デプロイ可能なアーカイブ ファイル。

  • Dockerfile — Docker 実行時オプションを指定する Docker ファイル。

  • GettingStarted.txt — デプロイ情報が含まれるテキスト ファイル。

詳細については、マイクロサービスの Docker イメージの作成を参照してください。

Production Server アーカイブを作成し、ビルド タイプ、アーカイブ ファイル、含まれるサポート パッケージ、およびビルド オプションに関する情報を compiler.build.Results オブジェクトに保存します。

ファイル magicsquare.m を使用してコンパイルします。

results = compiler.build.productionServerArchive(magicsquare.m')
results = 

  Results with properties:

                  BuildType: 'productionServerArchive'
                      Files: {'D:\Documents\MATLAB\work\magicsquareproductionServerArchive\magicsquare.ctf'}
    IncludedSupportPackages: {}
                    Options: [1×1 compiler.build.ProductionServerArchiveOptions]

Files プロパティには、デプロイ可能なアーカイブ ファイル magicsquare.ctf へのパスが格納されます。

入力引数

すべて折りたたむ

MATLAB 関数を実装するファイル。文字ベクトル、string スカラー、string 配列、または文字ベクトルの cell 配列として指定します。ファイル パスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。ファイルには .m 拡張子が必要です。

例: ["myfunc1.m","myfunc2.m"]

データ型: char | string | cell

Production Server アーカイブのビルド オプション。compiler.build.ProductionServerArchiveOptions オブジェクトとして指定します。

名前と値の引数

オプションのペアの引数を Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定する必要がありますが、ペアの順序は考慮されません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: 'Verbose','on'

デプロイ可能なアーカイブの名前。文字ベクトルまたは string スカラーとして指定します。生成されたアーカイブの既定の名前は、FunctionFiles 引数の最初のエントリです。

例: 'ArchiveName','MyMagic'

データ型: char | string

データ ファイルを自動的に含めるためのフラグ。'on' または 'off'、もしくは数値または logical の 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • このプロパティを 'on' に設定した場合、特定の関数 (loadfopen など) の入力として指定されるデータ ファイルは自動的に Production Server アーカイブに含められます。

  • このプロパティを 'off' に設定した場合、データ ファイルは AdditionalFiles プロパティを使用してアーカイブに追加しなければなりません。

例: 'AutoDetectDataFiles','off'

データ型: logical

FunctionFiles にリストされたすべての関数のシグネチャを詳述した JSON ファイルへのパス。文字ベクトルまたは string スカラーとして指定します。関数シグネチャの指定の詳細については、JSON での MATLAB 関数シグネチャを参照してください。

例: 'FunctionSignatures','D:\Documents\MATLAB\work\magicapp\signatures.json'

データ型: char | string

デプロイ可能なアーカイブを難読化するためのフラグ。'on' または 'off'、もしくは数値または logical の 1 (true) か 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • このプロパティを 'on' に設定した場合、デプロイ可能なアーカイブのフォルダー構造およびファイル名はエンド ユーザーに対して難読化され、MATLAB ファイルに含まれているユーザー コードおよびデータはアーカイブ内のユーザー パッケージに配置されます。また、すべての .m ファイルがパッケージ化の前に P ファイルに変換されます。このオプションは、-j および -s を指定して mcc を使用するのと等価です。

  • このプロパティを 'off' に設定した場合、デプロイ可能なアーカイブは難読化されません。これは既定の動作です。

例: 'ObfuscateArchive','on'

データ型: logical

ビルド ファイルが保存される出力ディレクトリへのパス。文字ベクトルまたは string スカラーとして指定します。このパスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。

ビルド フォルダーの既定の名前は、アーカイブ名に productionServerArchive を追加したものです。

例: 'OutputDir','D:\Documents\MATLAB\work\MyMagicproductionServerArchive'

含めるサポート パッケージ。次のオプションのいずれかとして指定します。

  • 'autodetect' (既定) — 依存関係の分析プロセスにより、必要なサポート パッケージが自動的に検出され、含められます。

  • 'none' — サポート パッケージは含められません。このオプションを使用すると、ランタイム エラーの原因となる可能性があります。

  • string スカラー、文字ベクトル、または文字ベクトルの cell 配列 — 指定されたサポート パッケージのみが含められます。インストールされている、または特定のファイルで使用されるサポート パッケージのリストを表示するには、compiler.codetools.deployableSupportPackages を参照してください。

例: 'SupportPackages',{'Deep Learning Toolbox Converter for TensorFlow Models','Deep Learning Toolbox Model for Places365-GoogLeNet Network'}

データ型: char | string | cell

ビルドの詳細。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • このプロパティを 'on' に設定した場合、MATLAB コマンド ウィンドウには、ビルド プロセス中のコンパイラ出力を示す進行状況情報が表示されます。

  • このプロパティを 'off' に設定した場合、コマンド ウィンドウには進行状況の情報は表示されません。

例: 'Verbose','off'

データ型: logical

出力引数

すべて折りたたむ

ビルド結果。compiler.build.Results オブジェクトとして返されます。Results オブジェクトは以下で構成されます。

  • 'productionServerArchive' であるビルド タイプ

  • デプロイ可能なアーカイブ ファイルへのパス

  • 含まれているサポート パッケージのリスト

  • ビルド オプション。ProductionServerArchiveOptions オブジェクトとして指定

制限

  • compiler.build.ProductionServerArchive では、アーカイブ内の Web ハンドラー関数への URL リクエストのマッピングを対象とした、アーカイブ固有のルート JSON ファイルのパッケージ化はサポートされません。routes-file (MATLAB Production Server) 構成プロパティで指定された JSON ファイルでルートを定義するか、mcc を使用してルート JSON ファイルをアーカイブにパッケージ化します。

バージョン履歴

R2020b で導入