Register-ServiceFabricApplicationType
Service Fabric アプリケーションの種類を登録します。
構文
Register-ServiceFabricApplicationType
[-ApplicationPathInImageStore] <String>
[-ApplicationPackageCleanupPolicy <ApplicationPackageCleanupPolicy>]
[-Async]
[-TimeoutSec <Int32>]
[<CommonParameters>]
Register-ServiceFabricApplicationType
[-ApplicationPackageDownloadUri] <Uri>
-ApplicationTypeName <String>
-ApplicationTypeVersion <String>
[-Async]
[-TimeoutSec <Int32>]
[<CommonParameters>]
説明
Register-ServiceFabricApplicationType コマンドレットは、Service Fabric アプリケーションの種類を登録します。 Service Fabric アプリケーションのデプロイについて詳しくは、こちらをご覧ください。
アプリケーション パッケージは、イメージ ストア内の相対場所に存在することも、 sfpkg
以前に外部の場所にアップロードしたファイルにすることもできます。
ストア相対パスを使用する場合は、アプリケーション パッケージがイメージ ストアに存在する必要があります。 パッケージは、 Copy-ServiceFabricApplicationPackage を使用してイメージ ストアにコピーできます。
外部ストアからファイルを sfpkg
使用する場合、プロビジョニングでは、以前にアップロードされた場所 sfpkg
へのダウンロード URI と、アプリケーションの種類の情報を提供する必要があります。
sfpkg
ファイルは、初期アプリケーション パッケージを含む、拡張子が ".sfpkg" の zip です。
zip には、圧縮されているアプリケーション パッケージと圧縮されていないアプリケーション パッケージのどちらも含めることができます。 zip 内のアプリケーション パッケージの圧縮は、コード、パッケージ、およびデータ パッケージで行われます。
作成 sfpkg
するには、元のアプリケーション パッケージを含むフォルダーから始めます。 必要に応じて、 Copy-ServiceFabricApplicationPackage とスイッチ -CompressPackage と -SkipCopy を使用してパッケージを圧縮します。
次に、ユーティリティを使用して、拡張子 ".sfpkg" でフォルダーを zip します。 たとえば、アプリケーション パッケージ フォルダーで ZipFile.CreateFromDirectory を使用します。
アプリケーションの種類を登録した後、 New-ServiceFabricApplication コマンドレットを使用してアプリケーション インスタンスを作成できます。 Start-ServiceFabricApplicationUpgrade コマンドレットを使用して、既存のアプリケーションをアップグレードします。
指定したバージョンのアプリケーションの種類が不要になった場合は、 Unregister-ServiceFabricApplicationType コマンドレットを使用して登録を解除できます。
Service Fabric クラスターを管理するには、[管理者として実行] オプションを使用してWindows PowerShellを開始します。 Service Fabric クラスターで操作を実行する前に、 Connect-ServiceFabricCluster コマンドレットを使用してクラスターへの接続を確立します。
例
例 1: イメージ ストアの相対パスを使用してアプリケーションの種類を登録する
PS C:\> Copy-ServiceFabricApplicationPackage -ApplicationPackagePath "c:\work\PersistentToDoListService" -ImageStoreConnectionString "file:C:\SfDevCluster\Data\ImageStoreShare" -ApplicationPackagePathInImageStore "PersistentToDoListService"
PS C:\> Register-ServiceFabricApplicationType -ApplicationPathInImageStore "PersistentToDoListService"
Copy-ServiceFabricApplicationPackage は 、"c:\work\PersistentToDoListService" フォルダーにあるアプリケーション パッケージをイメージ ストアにコピーします。 パッケージは、イメージ ストアの相対パス "PersistentToDoListService" にコピーされます。
Register-ServiceFabricApplicationType コマンドは、相対パス "PersistentToDoListService" で見つかったアプリケーションの種類を登録します。
例 2: イメージ ストアの相対パス async を使用してアプリケーションの種類を登録する
PS C:\> Copy-ServiceFabricApplicationPackage -ApplicationPackagePath "c:\work\PersistentToDoListService" -ImageStoreConnectionString "fabric:ImageStore" -ApplicationPackagePathInImageStore "PersistentToDoListService" -CompressPackage
PS C:\> Register-ServiceFabricApplicationType -ApplicationPathInImageStore "PersistentToDoListService" -Async
PS C:\> Get-ServiceFabricApplicationType
Copy-ServiceFabricApplicationPackage は 、"c:\work\PersistentToDoListService" フォルダーにあるアプリケーション パッケージをイメージ ストアにコピーします。 アプリケーション パッケージは、イメージ ストアの相対パス "PersistentToDoListService" にコピーされます。 このコマンドレットでは、圧縮を使用してパッケージ サイズを小さくします。
Register-ServiceFabricApplicationType コマンドは、相対パス "PersistentToDoListService" で見つかったアプリケーションの種類を登録します。 レジスタは非同期で実行され、コマンドがクラスターによって受け入れられるとすぐに返されます。
Get-ServiceFabricApplicationType は、クラスターに登録されているアプリケーションの種類を取得します。 各アプリケーションの種類には、登録の状態が含まれます。 このコマンドレットを使用して、登録がいつ完了するかを判断できます。
例 3: イメージ ストアの相対パスを使用して、大規模なアプリケーション パッケージのアプリケーションの種類を登録する
PS C:\> Copy-ServiceFabricApplicationPackage -ApplicationPackagePath "c:\work\PersistentToDoListService" -ImageStoreConnectionString "fabric:ImageStore" -ApplicationPackagePathInImageStore "PersistentToDoListService" -CompressPackage -TimeoutSec 2700
PS C:\> Register-ServiceFabricApplicationType -ApplicationPathInImageStore "PersistentToDoListService" -TimeoutSec 2700
Copy-ServiceFabricApplicationPackage は、"c:\work\PersistentToDoListService" フォルダーにあるアプリケーション パッケージを、"PersistentToDoListService" イメージ ストアの相対場所にあるイメージ ストアにコピーします。 初期パッケージは非常に大きいため、コマンドはそれを圧縮し、コピーのための十分な時間を許可するためにより高いタイムアウトを含みます。
Register-ServiceFabricApplicationType コマンドは、相対パス "PersistentToDoListService" で見つかったアプリケーションの種類を登録します。 このコマンドには、アプリケーション パッケージが大きい場合でも作業を完了できるようにするためのタイムアウトが大きくなります。
例 4: 外部ストアからアプリケーションの種類を登録する
PS C:\> Register-ServiceFabricApplicationType -ApplicationPackageDownloadUri "https://sftestresources.blob.core.windows.net:443/sfpkgholder/MyAppPackage.sfpkg" -ApplicationTypeName MyApp -ApplicationTypeVersion V1 -TimeoutSec 2700
指定した URI で見つかったアプリケーション パッケージを登録します。 アプリケーション パッケージは、その場所に事前にアップロードされている必要があり、READ アクセスを許可する必要があります。 パッケージが大きくなる可能性があるため、コマンドは大きなプロビジョニング タイムアウトを指定します。
例 5: 外部ストアの非同期からアプリケーションの種類を登録する
PS C:\> Register-ServiceFabricApplicationType -ApplicationPackageDownloadUri "https://sftestresources.blob.core.windows.net:443/sfpkgholder/MyAppPackage.sfpkg" -ApplicationTypeName MyApp -ApplicationTypeVersion V1 -Async
PS C:\> Get-ServiceFabricApplicationType -ApplicationTypeName MyApp -ApplicationTypeVersion V1
指定した URI で見つかったアプリケーション パッケージを登録します。 アプリケーション パッケージは、その場所に事前にアップロードされている必要があり、READ アクセスを許可する必要があります。 Async が指定されているため、クラスターが受け入れるとすぐにコマンドが返されます。 Get-ServiceFabricApplicationType は、フィルターに一致するクラスターに登録されているアプリケーションの種類を取得します。 各アプリケーションの種類には、登録の状態が含まれます。 このコマンドレットを使用して、登録の進行状況に従い、登録が完了したタイミングを判断できます。
例 6: イメージ ストアの相対パスとパッケージの自動クリーンアップを使用してアプリケーションの種類を登録する
PS C:\> Copy-ServiceFabricApplicationPackage -ApplicationPackagePath "c:\work\PersistentToDoListService"
PS C:\> Register-ServiceFabricApplicationType -ApplicationPathInImageStore "PersistentToDoListService" -ApplicationPackageCleanupPolicy Automatic
[Copy-ServiceFabricApplicationPackage](./Copy-ServiceFabricApplicationPackage.yml) copies the application package found in the "c:\work\PersistentToDoListService" folder to the image store. The package is copied at the relative path "PersistentToDoListService" in image store.
[Register-ServiceFabricApplicationType](./Register-ServiceFabricApplicationType.yml) command registers the application type found in the relative path "PersistentToDoListService" and deletes the application package "PersistentToDoListService" in the image store after successfully registering the application type. Deleting the application package from the image store after [Register-ServiceFabricApplicationType](./Register-ServiceFabricApplicationType.yml) command is recommended because it removes the temporary package as soon as it's not needed, which ensures that disk space is not consumed unnecessarily.
パラメーター
-ApplicationPackageCleanupPolicy
アプリケーションの種類の登録に使用されるアプリケーション パッケージのクリーンアップ ポリシーを決定します。 クリーンアップされていない場合、アプリケーション パッケージはディスク領域を消費し、エラーが発生する可能性があります。 このパラメーターは、アプリケーションの種類を正常に登録した後にアプリケーション パッケージを管理する方法を指定します (プロビジョニングに成功)。
に Automatic
設定すると、Service Fabric ランタイムによって、アプリケーション パッケージのクリーンアップを実行するタイミングが決定されます。 現在のランタイム実装では、アプリケーションの種類を正常に登録した後、アプリケーション パッケージが削除されます。 登録に失敗した場合、アプリケーション パッケージはイメージ ストアから削除されません。
に Manual
設定すると、アプリケーション パッケージはイメージ ストアから削除されず、ユーザーは Remove-ServiceFabricApplicationPackage コマンドレットを明示的に呼び出してイメージ ストアから削除する必要があります。
Service Fabric クラスターは、クリーンアップ ポリシーを使用して構成されます。 クラスターのポリシーを使用するには、オプションを指定 Default
します。 セクションの下Management
のクラスター構成 CleanupApplicationPackageOnProvisionSuccess によって、クリーンアップの実行方法が決まります。 true に設定すると、プロビジョニングが正常に完了すると、アプリケーション パッケージは Service Fabric ランタイムによって自動的に削除されます。 false に設定した場合、アプリケーション パッケージはイメージ ストアから削除されません。 このクラスター構成の既定値は v6.4 まで false に設定されていますが、今後のリリースでは true に設定する予定です。
型: | ApplicationPackageCleanupPolicy |
指定可能な値: | Invalid, Default, Automatic, Manual |
配置: | Named |
規定値: | Default |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ApplicationPackageDownloadUri
HTTP または HTTPS プロトコルを sfpkg
使用してアプリケーション パッケージをダウンロードできるアプリケーション パッケージへのパスを表します。 パッケージは、この外部の場所に事前にアップロードしておく必要があります。 この URI では、Service Fabric がファイルをダウンロードできるように、読み取りアクセスを許可する必要があります。
ファイルは sfpkg
、初期アプリケーション パッケージを含む zip です。 zip には、圧縮されているアプリケーション パッケージと圧縮されていないアプリケーション パッケージのどちらも含めることができます。 zip 内のアプリケーション パッケージの圧縮は、コード、パッケージ、およびデータ パッケージで行われます。 この圧縮は、 Copy-ServiceFabricApplicationPackage と switch -CompressPackage を使用して実現できます。
sfpkg
ファイルには拡張子 ".sfpkg" が必要です。
型: | Uri |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ApplicationPathInImageStore
イメージ ストア内のアプリケーションの種類パッケージの相対パスを指定します。 このパスは、アプリケーション パッケージがイメージ ストアにコピーされたときに Copy-ServiceFabricApplicationPackage コマンドレットによって指定されました。
型: | String |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ApplicationTypeName
アプリケーション マニフェストで定義されているように、アプリケーションの種類の名前を指定します。 アプリケーションの種類名とアプリケーションの種類のバージョンは、アプリケーションの種類を一意に識別します。
これは、外部ストアからプロビジョニングする sfpkg
場合に必要です。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ApplicationTypeVersion
アプリケーション マニフェストで定義されたアプリケーションの種類のバージョンを指定します。 アプリケーションの種類名とアプリケーションの種類のバージョンは、アプリケーションの種類を一意に識別します。
これは、外部ストアからアプリケーション パッケージ ファイルを sfpkg
プロビジョニングするときに必要です。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Async
このコマンドは、登録要求がクラスターによって受け入れられるとすぐに戻ります。 Get-ServiceFabricApplicationType コマンドを使用して、登録要求の状態を照会します。 このスイッチを使用すると、大規模なアプリケーション パッケージを登録するときに、大きな -TimeoutSec 値を指定する必要がなくなります。
型: | SwitchParameter |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-TimeoutSec
操作のタイムアウト期間を秒単位で指定します。
型: | Int32 |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
出力
System.Object