New-ServiceFabricServiceFromTemplate

アプリケーション マニフェストでサービス テンプレート セクションが定義されている場合、このコマンドを使用して、テンプレートからサービス記述パラメーターが設定された新しいサービスを作成できます。

構文

New-ServiceFabricServiceFromTemplate
   [-ApplicationName] <Uri>
   [-ServiceName] <Uri>
   [-ServiceTypeName] <String>
   [-Force]
   [-ServicePackageActivationMode <ServicePackageActivationMode>]
   [-ServiceDnsName <String>]
   [-TimeoutSec <Int32>]
   [<CommonParameters>]

説明

New-ServiceFabricService には、作成されるサービスを記述するいくつかの必須パラメーターがあります。 アプリケーション マニフェストのサービス テンプレートを使用して、サービスの種類ごとにサービスの説明パラメーターを指定できます。 サービス テンプレート セクションのサービス記述スキーマは、 既定のサービスのサービス記述スキーマと同じです。 これにより、 New-ServiceFabricService に必須のパラメーターを指定せずに、特定のサービスの種類の新しいサービスを作成できます。

サービス テンプレートを使用して作成されたサービスは、 New-ServiceFabricService を使用して作成されたサービスと同じように動作します。 これらは、同じワークフローを使用してアップグレード、更新、および削除できます。

Service Fabric クラスターで操作を実行する前に、 Connect-ServiceFabricCluster コマンドレットを使用してクラスターへの接続を確立します。

例 1: サービス テンプレートからサービスを作成する

次のアプリケーション マニフェストとサービス マニフェストが考えられます。

<?xml version="1.0" encoding="utf-8" ?>
<ApplicationManifest
      ApplicationTypeName="MyApplicationType"
      ApplicationTypeVersion="AppManifestVersion1"
      xmlns="http://schemas.microsoft.com/2011/01/fabric"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Description>An example application manifest</Description>
  <ServiceManifestImport>
    <ServiceManifestRef ServiceManifestName="MyServiceManifest" ServiceManifestVersion="SvcManifestVersion1"/>
  </ServiceManifestImport>
  <ServiceTemplates>
     <StatelessService ServiceTypeName="MyServiceType" InstanceCount="-1">
         <SingletonPartition/>
     </StatelessService>
  </ServiceTemplates>
</ApplicationManifest>

<?xml version="1.0" encoding="utf-8" ?>
<ServiceManifest Name="MyServiceManifest" Version="SvcManifestVersion1" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Description>An example service manifest</Description>
  <ServiceTypes>
    <StatelessServiceType ServiceTypeName="MyServiceType" />
  </ServiceTypes>
  <CodePackage Name="MyCode" Version="CodeVersion1">
    <EntryPoint>
      <ExeHost>
        <Program>MyServiceHost.exe</Program>
      </ExeHost>
    </EntryPoint>
  </CodePackage>
</ServiceManifest>

次のコマンドは、アプリケーション マニフェストで定義されているサービス型 MyServiceType のサービス テンプレートを使用して、Service Fabric サービスを作成します。

PS C:> New-ServiceFabricServiceFromTemplate -ApplicationName fabric:/myapp -ServiceName fabric:/myapp/myservice1 -ServiceTypeName MyServiceType

同じサービス テンプレートを使用して、複数のサービス インスタンスを作成できます。 さらに次のコマンドを実行すると、 MyServiceType 型のシングルトン ステートレス サービスが 2 つあります。

PS C:> New-ServiceFabricServiceFromTemplate -ApplicationName fabric:/myapp -ServiceName fabric:/myapp/myservice2 -ServiceTypeName MyServiceType

パラメーター

-ApplicationName

サービスを作成する Service Fabric アプリケーションの Uniform Resource Identifier (URI) を指定します。

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

-Force

ユーザーに確認せずに、直ちにコマンドを実行します。

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

-ServiceDnsName

{{Fill ServiceDnsName Description}}

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

-ServiceName

Service Fabric サービスの URI を指定します。

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

-ServicePackageActivationMode

サービスに使用する [ホスティング モデル][1] を制御します。 有効な値は SharedProcessExclusiveProcess です。 既定値は SharedProcess です

SharedProcess アクティブ化モードでは、特定の ServiceType のさまざまなサービスのレプリカ (またはインスタンス) が同じ ServiceHost を共有します。 ExclusiveProcess アクティブ化モードでは、サービスの各レプリカまたはインスタンスに独自の専用 ServiceHost が設定されます。 詳細については、「Service Fabric ホスティング モデル][1」を参照してください。

Type:ServicePackageActivationMode
Accepted values:SharedProcess, ExclusiveProcess
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServiceTypeName

アプリケーション マニフェストで定義されているサービス テンプレートがある Service Fabric サービスの種類の名前を指定します。

Type:String
Position:2
Default value:None
Required:True
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