Register-ServiceFabricApplicationType

註冊 Service Fabric 應用程式類型。

Syntax

Register-ServiceFabricApplicationType
        [-ApplicationPathInImageStore] <String>
        [-ApplicationPackageCleanupPolicy <ApplicationPackageCleanupPolicy>]
        [-Async]
        [-TimeoutSec <Int32>]
        [<CommonParameters>]
Register-ServiceFabricApplicationType
        [-ApplicationPackageDownloadUri] <Uri>
        -ApplicationTypeName <String>
        -ApplicationTypeVersion <String>
        [-Async]
        [-TimeoutSec <Int32>]
        [<CommonParameters>]

Description

Register-ServiceFabricApplicationType Cmdlet 會註冊 Service Fabric 應用程式類型。 深入瞭解 Service Fabric 應用程式部署

應用程式套件可以存在於映射存放區中的相對位置,也可以是 sfpkg 先前上傳至外部位置的檔案。

使用存放區相對路徑時,應用程式封裝必須存在於映射存放區中。 套件可以使用 Copy-ServiceFabricApplicationPackage複製到映射存放區。

從外部存放區使用 sfpkg 檔案時,布建必須提供先前上傳 的 sfpkg 下載 URI,以及應用程式類型資訊。 sfpkg 檔案是一個包含初始應用程式封裝的 zip,副檔名為 ".sfpkg"。 在 zip 中,應用程式封裝可能是已經過壓縮或未壓縮的。 zip 內的應用程式套件壓縮是在程式碼、封裝和資料套件上完成。

若要建立 sfpkg ,請從包含原始應用程式封裝的資料夾開始。 如有需要,請使用 Copy-ServiceFabricApplicationPackage 與參數 -CompressPackage 和 -SkipCopy 壓縮套件。 然後,使用公用程式壓縮副檔名為 「.sfpkg」 的資料夾。 例如,在應用程式套件資料夾上使用 ZipFile.CreateFromDirectory

註冊應用程式類型之後,您可以使用 New-ServiceFabricApplication Cmdlet 來建立應用程式實例。 使用 Start-ServiceFabricApplicationUpgrade Cmdlet 升級現有的應用程式。

不再需要具有指定版本的應用程式類型時,您可以使用 Unregister-ServiceFabricApplicationType Cmdlet 將其取消註冊。

若要管理 Service Fabric 叢集,請使用 [以系統管理員身分執行] 選項啟動Windows PowerShell。 在 Service Fabric 叢集上執行任何作業之前,請使用 Connect-ServiceFabricCluster Cmdlet 建立叢集的連線。

範例

範例 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:向映射存放區相對路徑非同步註冊應用程式類型

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」。 Cmdlet 會使用壓縮來減少套件大小。

Register-ServiceFabricApplicationType 命令會註冊在相對路徑 「PersistentToDoListService」 中找到的應用程式類型。 Register 已完成非同步處理,並在叢集接受命令時立即傳回。

Get-ServiceFabricApplicationType 會取得叢集中註冊的應用程式類型。 每個應用程式類型都包含註冊狀態。 Cmdlet 可用來判斷註冊完成的時間。

範例 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 中找到的應用程式套件。 應用程式套件之前必須已上傳至該位置,而且必須允許讀取存取。 因為套件可能很大,所以命令會指定大型布建逾時。

範例 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 中找到的應用程式套件。 應用程式套件之前必須已上傳至該位置,而且必須允許讀取存取。 因為指定了 -Async,所以只要叢集接受它,命令就會立即傳回。 Get-ServiceFabricApplicationType 會取得叢集中註冊的應用程式類型,以符合篩選準則。 每個應用程式類型都包含註冊狀態。 Cmdlet 可用來遵循註冊進度,並判斷註冊完成的時間。

範例 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 Cmdlet,才能從映射存放區中移除它。

Service Fabric 叢集已設定清除原則。 若要使用叢集的原則,請指定 Default 選項。 下一節的 Management 叢集設定CleanupApplicationPackageOnProvisionSuccess會決定清除應該如何發生。 如果設定為 true,則成功布建之後,Service Fabric 執行時間會自動刪除應用程式套件。 如果設定為 false,則不會從映射存放區中刪除應用程式套件。 此叢集組態的預設值已設定為 false,最多為 v6.4,但未來版本計畫將其設定為 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 搭配參數 -CompressPackage 來達成此壓縮。 sfpkg 檔案必須有 ".sfpkg" 副檔名。

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

-ApplicationPathInImageStore

指定映射存放區中應用程式類型封裝的相對路徑。 當應用程式封裝複製到映射存放區時, Copy-ServiceFabricApplicationPackage Cmdlet 已指定此路徑。

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