Azure Service Fabric REST API-如何将应用程序包复制到映像存储?

时间:2019-03-07 13:41:52

标签: azure-service-fabric

我正在寻找Service Fabric REST API方法,用于将应用程序包复制到Service Fabric集群的映像存储中。也就是说,该方法类似于Power Shell cmdlet Copy-ServiceFabricApplicationPackage和Service Fabric Client .NET API方法FabricClient.ApplicationManagementClient.CopyApplicationPackage

Service Fabric Client REST API Reference中找不到这样的方法。

使用Service Fabric REST API方法应如何执行类似的操作?

2 个答案:

答案 0 :(得分:1)

CopyApplicationPackageCopy-ServiceFabricApplicationPackage的AFAIK都在后台使用ImageStore API,所以我认为ImageStore REST API是您要寻找的。

答案 1 :(得分:1)

我设法使用ImageStore REST API方法Upload File复制清单文件。在这种情况下,仅清单文件会上载,因为它们定义了存储容器包的Azure容器注册表位置。将清单文件加载到ImageStore之后,我成功Provision Application Type到Service Fabric Cluster。

导致我头痛的细节:

  1. 上载文件:清单文件已上载到具有子文件夹的文件夹中的图像存储。需要将一个空文件'_.dir'上传到每个文件夹中;这是映像存储服务内部使用的标记文件,用于指示链接文件夹的可用性。请参阅API参考和GitHub讨论'Provisioning application type throws exception'。
  2. 可以使用REST API方法Get Image Store Content检查Image Store的内容。无论如何,在设置应用程序类型之前,通过此方法将看不到上传的文件。
  3. 如果Provision Application Type使用'ImageStorePath'选项,则主体参数ApplicationTypeBuildPath的值相对于'fabric:ImageStore'是相对。我花了一些时间使用“ fabric:ImageStore / MyAppType”,直到意识到将其修复为“ MyAppType”。