你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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 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”中找到的应用程序类型。 注册已完成异步,并在群集接受命令后立即返回。

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 运行时确定何时执行应用程序包清理。 成功注册应用程序类型后,当前运行时实现会删除应用程序包。 如果注册失败,则不会从映像存储中删除应用程序包。

When set to Manual, the application package is not deleted from the image store and the users have to explicitly call Remove-ServiceFabricApplicationPackage cmdlet to remove it from the image store.

Service Fabric 群集配置了清理策略。 若要使用群集的策略,请指定 Default 选项。 群集配置 CleanupApplicationPackageOnProvisionSuccessManagement 部分确定应如何进行清理。 如果设置为 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