Dela via


Skapa tjänst

Skapar den angivna Service Fabric-tjänsten.

Med det här API:et kan du skapa en ny tillståndslös eller tillståndskänslig Service Fabric-tjänst under ett angivet Service Fabric-program. Beskrivningen för att skapa tjänsten innehåller partitioneringsinformation och valfria egenskaper för placering och belastningsutjämning. Vissa av egenskaperna kan senare ändras med hjälp av UpdateService API:et.

Förfrågan

Metod URI för förfrågan
POST /Applications/{applicationId}/$/GetServices/$/Create?api-version=6.0&timeout={timeout}

Parametrar

Namn Typ Obligatorisk Location
applicationId sträng Ja Sökväg
api-version sträng Ja Söka i data
timeout heltal (int64) No Söka i data
ServiceDescription Tjänstbeskrivning Yes Brödtext

applicationId

Typ: sträng
Obligatoriskt: Ja

Programmets identitet. Detta är vanligtvis det fullständiga namnet på programmet utan URI-schemat "fabric:". Från och med version 6.0 avgränsas hierarkiska namn med tecknet "~". Om programnamnet till exempel är "fabric:/myapp/app1" skulle programidentiteten vara "myapp~app1" i 6.0+ och "myapp/app1" i tidigare versioner.


api-version

Typ: sträng
Obligatoriskt: Ja
Standard: 6.0

Versionen av API:et. Den här parametern krävs och dess värde måste vara "6.0".

Service Fabric REST API-versionen baseras på körningsversionen där API:et introducerades eller ändrades. Service Fabric Runtime stöder mer än en version av API:et. Det här är den senaste versionen av API:et som stöds. Om en lägre API-version skickas kan det returnerade svaret skilja sig från det som beskrivs i den här specifikationen.

Dessutom accepterar körningen alla versioner som är högre än den senaste versionen som stöds fram till den aktuella versionen av körningen. Så om den senaste API-versionen är 6.0, men om körningen är 6.1, för att göra det enklare att skriva klienterna, accepterar körningen version 6.1 för det API:et. Beteendet för API:et kommer dock att vara enligt den dokumenterade 6.0-versionen.


timeout

Typ: heltal (int64)
Obligatoriskt: Nej
Standard: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1

Serverns timeout för att utföra åtgärden i sekunder. Den här tidsgränsen anger hur lång tid klienten är villig att vänta på att den begärda åtgärden ska slutföras. Standardvärdet för den här parametern är 60 sekunder.


ServiceDescription

Typ: ServiceDescription
Obligatoriskt: Ja

Den information som krävs för att skapa en tjänst.

Svar

HTTP-statuskod Description Svarsschema
202 (accepterad) En lyckad åtgärd returnerar statuskoden 202.
Alla andra statuskoder Det detaljerade felsvaret.
FabricError

Exempel

Grundläggande tillståndslös tjänst

Det här exemplet visar hur du skapar en grundläggande tillståndslös Service Fabric-tjänst.

Förfrågan

POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
Brödtext
{
  "ServiceKind": "Stateless",
  "ApplicationName": "fabric:/test",
  "ServiceName": "fabric:/test/test1",
  "ServiceTypeName": "StatelessFrontendService",
  "PartitionDescription": {
    "PartitionScheme": "Singleton"
  },
  "InstanceCount": "4"
}

202-svar

Brödtext

Svarstexten är tom.

Grundläggande tillståndskänslig tjänst

Det här exemplet visar hur du skapar en grundläggande tillståndskänslig Service Fabric-tjänst.

Förfrågan

POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
Brödtext
{
  "ServiceKind": "Stateful",
  "ApplicationName": "fabric:/test",
  "ServiceName": "fabric:/test/test2",
  "ServiceTypeName": "StatefulBackendService",
  "PartitionDescription": {
    "PartitionScheme": "Singleton"
  },
  "TargetReplicaSetSize": "3",
  "MinReplicaSetSize": "2",
  "HasPersistedState": false
}

202-svar

Brödtext

Svarstexten är tom.

Tillståndslös tjänst med dns-namn och automatisk skalning

Det här exemplet visar hur du skapar en tillståndslös Service Fabric-tjänst med ett dns-namn som definieras och automatisk skalning baserat på cpu-användning.

Förfrågan

POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
Brödtext
{
  "ServiceKind": "Stateless",
  "ApplicationName": "fabric:/test",
  "ServiceName": "fabric:/test/test1",
  "ServiceTypeName": "StatelessFrontendService",
  "InitializationData": [],
  "PartitionDescription": {
    "PartitionScheme": "Singleton"
  },
  "InstanceCount": "2",
  "PlacementConstraints": "Color==Blue",
  "CorrelationScheme": [],
  "ServiceLoadMetrics": [],
  "ServicePlacementPolicies": [],
  "DefaultMoveCost": "Low",
  "IsDefaultMoveCostSpecified": true,
  "ServicePackageActivationMode": "ExclusiveProcess",
  "ServiceDnsName": "test1.test",
  "ScalingPolicies": [
    {
      "ScalingTrigger": {
        "Kind": "AveragePartitionLoad",
        "MetricName": "servicefabric:/_CpuCores",
        "LowerLoadThreshold": "0.300000",
        "UpperLoadThreshold": "0.800000",
        "ScaleIntervalInSeconds": "600"
      },
      "ScalingMechanism": {
        "Kind": "PartitionInstanceCount",
        "MinInstanceCount": "1",
        "MaxInstanceCount": "6",
        "ScaleIncrement": "2"
      }
    }
  ]
}

202-svar

Brödtext

Svarstexten är tom.

Tillståndskänslig tjänst med namngivna partitioner och automatisk skalning

Det här exemplet visar hur du skapar en tillståndskänslig Service Fabric-tjänst med namngivna partitioner och skalning aktiverat baserat på minnesanvändning.

Förfrågan

POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
Brödtext
{
  "ServiceKind": "Stateful",
  "ApplicationName": "fabric:/test",
  "ServiceName": "fabric:/test/test2",
  "ServiceTypeName": "StatefulBackendService",
  "InitializationData": [],
  "PartitionDescription": {
    "PartitionScheme": "Named",
    "Count": "1",
    "Names": [
      "0"
    ]
  },
  "TargetReplicaSetSize": "3",
  "MinReplicaSetSize": "2",
  "HasPersistedState": true,
  "ServicePackageActivationMode": "ExclusiveProcess",
  "ScalingPolicies": [
    {
      "ScalingTrigger": {
        "Kind": "AverageServiceLoad",
        "MetricName": "servicefabric:/_MemoryInMB",
        "LowerLoadThreshold": "500",
        "UpperLoadThreshold": "900",
        "ScaleIntervalInSeconds": "600",
        "UseOnlyPrimaryLoad": false
      },
      "ScalingMechanism": {
        "Kind": "AddRemoveIncrementalNamedPartition",
        "MinPartitionCount": "1",
        "MaxPartitionCount": "3",
        "ScaleIncrement": "1"
      }
    }
  ]
}

202-svar

Brödtext

Svarstexten är tom.