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 に設定する予定です。

Type:ApplicationPackageCleanupPolicy
Accepted values:Invalid, Default, Automatic, Manual
Position:Named
Default value:Default
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationPackageDownloadUri

HTTP または HTTPS プロトコルを sfpkg 使用してアプリケーション パッケージをダウンロードできるアプリケーション パッケージへのパスを表します。 パッケージは、この外部の場所に事前にアップロードしておく必要があります。 この URI では、Service Fabric がファイルをダウンロードできるように、読み取りアクセスを許可する必要があります。 ファイルは sfpkg 、初期アプリケーション パッケージを含む zip です。 zip には、圧縮されているアプリケーション パッケージと圧縮されていないアプリケーション パッケージのどちらも含めることができます。 zip 内のアプリケーション パッケージの圧縮は、コード、パッケージ、およびデータ パッケージで行われます。 この圧縮は、 Copy-ServiceFabricApplicationPackage と switch -CompressPackage を使用して実現できます。 sfpkg ファイルには拡張子 ".sfpkg" が必要です。

Type:Uri
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationPathInImageStore

イメージ ストア内のアプリケーションの種類パッケージの相対パスを指定します。 このパスは、アプリケーション パッケージがイメージ ストアにコピーされたときに Copy-ServiceFabricApplicationPackage コマンドレットによって指定されました。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationTypeName

アプリケーション マニフェストで定義されているように、アプリケーションの種類の名前を指定します。 アプリケーションの種類名とアプリケーションの種類のバージョンは、アプリケーションの種類を一意に識別します。 これは、外部ストアからプロビジョニングする sfpkg 場合に必要です。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationTypeVersion

アプリケーション マニフェストで定義されたアプリケーションの種類のバージョンを指定します。 アプリケーションの種類名とアプリケーションの種類のバージョンは、アプリケーションの種類を一意に識別します。 これは、外部ストアからアプリケーション パッケージ ファイルを sfpkg プロビジョニングするときに必要です。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Async

このコマンドは、登録要求がクラスターによって受け入れられるとすぐに戻ります。 Get-ServiceFabricApplicationType コマンドを使用して、登録要求の状態を照会します。 このスイッチを使用すると、大規模なアプリケーション パッケージを登録するときに、大きな -TimeoutSec 値を指定する必要がなくなります。

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TimeoutSec

操作のタイムアウト期間を秒単位で指定します。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

None

出力

System.Object