メインコンテンツ

compiler.build.ProductionServerArchiveOptions

デプロイ可能なアーカイブのビルド オプション

説明

opts = compiler.build.ProductionServerArchiveOptions(FunctionFiles) は、FunctionFiles で指定された MATLAB® 関数を使用して ProductionServerArchiveOptions オブジェクトを作成します。ProductionServerArchiveOptions オブジェクトを関数 compiler.build.productionServerArchive への入力として使用します。

opts = compiler.build.ProductionServerArchiveOptions(FunctionFiles,Name,Value) は、名前と値の引数を 1 つ以上使用してオプションが指定された ProductionServerArchiveOptions オブジェクトを作成します。オプションには、アーカイブ名、出力ディレクトリ、含める追加ファイルなどがあります。

すべて折りたたむ

関数ファイルから ProductionServerArchiveOptions オブジェクトを作成します。

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

appFile = which('magicsquare.m');
opts = compiler.build.ProductionServerArchiveOptions(appFile)
opts = 

  ProductionServerArchiveOptions with properties:

              ArchiveName: 'magicsquare'
            FunctionFiles: {'C:\Program Files\MATLAB\R2025b\extern\examples\compiler\magicsquare.m'}
       FunctionSignatures: ''
               RoutesFile: ''
          AdditionalFiles: {}
      AutoDetectDataFiles: on
    ExternalEncryptionKey: [0×0 struct]
         ObfuscateArchive: off
          SecretsManifest: ''
          SupportPackages: {'autodetect'}
                  Verbose: off
                OutputDir: '.\magicsquareproductionServerArchive'

ドット表記を使用して、既存の ProductionServerArchiveOptions オブジェクトのプロパティ値を変更することができます。たとえば、詳細な出力を有効にします。

opts.Verbose = 'on';

DotNETAssemblyOptions オブジェクトを関数 compiler.build.productionServerArchive への入力として使用して、Production Server アーカイブをビルドします。

compiler.build.productionServerArchive(opts);

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

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

opts = compiler.build.ProductionServerArchiveOptions([{which('hello.m')}, ...
{which('houdini.m')}], 'ArchiveName','MyServer', ...
'OutputDir','D:\Documents\MATLAB\work\ProductionServer', ...
'AutoDetectDataFiles','off')
opts = 

  ProductionServerArchiveOptions with properties:

              ArchiveName: 'MyServer'
            FunctionFiles: {2×1 cell}
       FunctionSignatures: ''
               RoutesFile: ''
          AdditionalFiles: {}
      AutoDetectDataFiles: off
    ExternalEncryptionKey: [0×0 struct]
         ObfuscateArchive: off
          SecretsManifest: ''
          SupportPackages: {'autodetect'}
                  Verbose: off
                OutputDir: 'D:\Documents\MATLAB\work\ProductionServer'

ドット表記を使用して、既存の ProductionServerArchiveOptions オブジェクトのプロパティ値を変更することができます。たとえば、詳細な出力を有効にします。

opts.Verbose = 'on';

ProductionServerArchiveOptions オブジェクトを関数 compiler.build.productionServerArchive への入力として使用して、Production Server アーカイブをビルドします。

buildResults = compiler.build.productionServerArchive(opts);

入力引数

すべて折りたたむ

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

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

データ型: char | string | cell

名前と値の引数

すべて折りたたむ

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

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

例: 'Verbose','on'

Production Server アーカイブ内に含めるファイルとフォルダーのリスト。

例: 'AdditionalFiles','MyFile.txt'

データ型: char | string | cellstr vector

デプロイ可能なアーカイブの名前。文字ベクトルまたは 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

R2024b 以降

外部の AES 暗号化キー ファイルおよび MEX キー ローダー ファイルへのパス。char 行ベクトルまたは string スカラーの正確に 2 つのフィールドをもつスカラー struct として指定します。フィールド名はそれぞれ EncryptionKeyFileRuntimeKeyLoaderFile です。struct のフィールドはどちらも必須です。ファイル パスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。

たとえば、struct keyValueStruct を使用して暗号化キーを encrypt.key、ローダー ファイルを loader.mexw64 と指定します。

keyValueStruct.EncryptionKeyFile='encrypt.key'; keyValueStruct.RuntimeKeyLoaderFile='loader.mexw64'

暗号化キー ファイルは、サポートされている次のいずれかの形式でなければなりません。

  • バイナリ 256 ビットの AES キー、32 バイトのファイル サイズ

  • 16 進数でエンコードされた AES キー、64 バイトのファイル サイズ

MEX ファイル ローダーは実行時に復号化キーを取得します。これは次の引数をもつインターフェイスでなければなりません。

  • prhs[0] — 入力、固定値 'get' として指定される char 配列

  • prhs[1] — 入力、CTF コンポーネント UUID として指定される char 配列

  • plhs[0] — 出力、キーの形式に応じて 32 バイトの UINT8 数値配列または 64 バイトの 16 進数でエンコードされた char 配列

複数の CTF で同じキーを共有することは避けてください。

例: 'ExternalEncryptionKey',keyValueStruct

データ型: struct

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

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

データ型: char | string

デプロイ可能なアーカイブを難読化するためのフラグ。'on'/1/true または 'off'/0/false として指定します。値は、matlab.lang.onoffSwitchState 型の on/off の logical 値として保存されます。

このプロパティを 'on' に設定した場合、デプロイ可能なアーカイブのフォルダー構造およびファイル名はエンド ユーザーに対して難読化され、.m.mlapp.p.mat、MLX、SFX、および MEX ファイルに含まれているユーザー コードおよびデータはアーカイブ内のユーザー パッケージに配置されます。また、すべての .m ファイルがパッケージ化の前に P ファイルに変換されます。

実行時に、MATLAB コードとデータはファイル システムに抽出されるのではなく、ユーザー パッケージから直接復号化されて読み込まれます。MEX ファイルは、一時的にユーザー パッケージから抽出されてから、読み込まれます。

追加のファイル タイプをユーザー パッケージに手動で含めるには、それぞれのファイル タイプを個別の拡張子タグでファイル matlabroot/toolbox/compiler/advanced_package_supported_files.xml に追加します。

以下はサポートされて "いません"

  • ver 関数

  • DLL などの外部ライブラリの呼び出し

  • アウトプロセスの MATLAB Runtime (MATLAB データ配列の C++ 共有ライブラリ)

  • アウトプロセスでの MEX ファイルの実行 (mexhostfevalmatlab.mex.MexHost)

  • R2023b より前: v7.3 以外の .mat ファイル

このオプションを有効にすることは、-j および -s を指定して mcc を使用するのと等価です。

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

例: 'ObfuscateArchive','on'

データ型: logical

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

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

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

R2024a 以降

カスタムの URL ルートを指定するサーバー上の JSON ファイルのパス。文字ベクトルまたは string スカラーとして指定します。

例: RoutesFile,'routes.json'

データ型: char | string

R2024b 以降

デプロイ可能なアーカイブに組み込む秘密鍵を指定する secret マニフェスト JSON ファイルへのパス。文字ベクトルまたは string スカラーとして指定します。このパスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。

MATLAB コードで関数 getSecretgetSecretMetadata、または isSecret を呼び出す場合、デプロイ可能なアーカイブに組み込む秘密鍵を JSON secret マニフェスト ファイルで指定しなければなりません。コードで getSecret を呼び出す場合に SecretsManifest オプションが指定されていないと、MATLAB Compiler™ は警告を発行し、<component_name>_secrets_manifest.json という名前の出力フォルダーにテンプレート JSON ファイルを生成します。"Embedded" フィールドで秘密鍵の名前を指定して、このファイルを修正します。

関数 setSecret はデプロイ可能ではありません。デプロイ可能なアーカイブに秘密鍵を組み込むには、アーカイブをビルドする前に MATLAB で setSecret を呼び出す必要があります。

シークレットを使用したデプロイの詳細については、Handle Sensitive Information in Deployed Applicationsを参照してください。

例: 'SecretsManifest','D:\Documents\MATLAB\work\mycomponent\mycomponent_secrets_manifest.json'

データ型: char | string

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

  • '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

出力引数

すべて折りたたむ

Production Server アーカイブのビルド オプション。ProductionServerArchiveOptions オブジェクトとして返されます。

バージョン履歴

R2020b で導入

すべて展開する