Freigeben über


Erstellen des Dienstes

Erstellt den angegebenen Service Fabric-Dienst.

Diese API ermöglicht das Erstellen eines neuen zustandslosen oder zustandsbehafteten Service Fabric-Diensts unter einer angegebenen Service Fabric-Anwendung. Die Beschreibung zum Erstellen des Diensts enthält Partitionierungsinformationen und optionale Eigenschaften für die Platzierung und den Lastenausgleich. Einige der Eigenschaften können später mithilfe UpdateService der API geändert werden.

Anforderung

Methode Anforderungs-URI
POST /Applications/{applicationId}/$/GetServices/$/Create?api-version=6.0&timeout={timeout}

Parameter

Name type Erforderlich Standort
applicationId Zeichenfolge Ja Pfad
api-version Zeichenfolge Ja Abfrage
timeout ganze Zahl (int64) Nein Abfrage
ServiceDescription ServiceDescription Ja Body

applicationId

Typ: Zeichenfolge
Erforderlich: Ja

Die Identität (ID) der Anwendung. Dies ist üblicherweise der vollständige Name der Anwendung ohne das URI-Schema „fabric:“. Ab Version 6.0 wird für hierarchische Namen das Zeichen „~“ als Trennzeichen verwendet. Hat eine Anwendung beispielsweise den Namen „fabric://meineapp/app1“, hat die Anwendungsidentität in 6.0 und höher den Wert „meineapp~app1“ und in früheren Versionen den Wert „meineapp/app1“.


api-version

Typ: Zeichenfolge
Erforderlich: Ja
Standard:

Die Version der API. Dieser Parameter ist erforderlich, und sein Wert muss "6.0" sein.

Die Rest-API-Version von Service Fabric basiert auf der Laufzeitversion, in der die API eingeführt oder geändert wurde. Die Service Fabric-Runtime unterstützt mehrere Versionen der API. Dies ist die neueste unterstützte Version der API. Wenn eine niedrigere API-Version übergeben wird, unterscheidet sich die zurückgegebene Antwort möglicherweise von der in dieser Spezifikation dokumentierten.

Darüber hinaus akzeptiert die Runtime jede Version, die höher als die neueste unterstützte Version bis zur aktuellen Version der Runtime ist. Wenn also die neueste API-Version 6.0 ist, aber die Runtime 6.1 ist, akzeptiert die Runtime version 6.1 für diese API, um das Schreiben der Clients zu vereinfachen. Das Verhalten der API entspricht jedoch der dokumentierten Version 6.0.


timeout

Typ: integer (int64)
Erforderlich: Nein
Standard:
InclusiveMaximum: 4294967295
InklusiveMinimum: 1

Der Servertimeout für die Ausführung des Vorgangs in Sekunden. Dieser Timeout gibt die Zeitdauer an, die der Client bereit ist, auf den Abschluss des angeforderten Vorgangs zu warten. Der Standardwert für diesen Parameter ist 60 Sekunden.


ServiceDescription

Typ: ServiceDescription
Erforderlich: Ja

Die zum Erstellen eines Diensts erforderlichen Informationen.

Antworten

HTTP-Statuscode BESCHREIBUNG Antwortschema
202 (Akzeptiert) Ein erfolgreicher Vorgang gibt 202 status Code zurück.
Alle anderen status Codes Die detaillierte Fehlerantwort.
FabricError

Beispiele

Grundlegender zustandsloser Dienst

In diesem Beispiel wird gezeigt, wie Sie einen einfachen zustandslosen Service Fabric-Dienst erstellen.

Anforderung

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

Antwort 202

Text

Der Antworttext ist leer.

Grundlegender zustandsbehafteter Dienst

In diesem Beispiel wird gezeigt, wie Sie einen einfachen zustandsbehafteten Service Fabric-Dienst erstellen.

Anforderung

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

Antwort 202

Text

Der Antworttext ist leer.

Zustandsloser Dienst mit DNS-Namen und automatischer Skalierung

In diesem Beispiel wird gezeigt, wie Sie einen zustandslosen Service Fabric-Dienst mit einem definieden DNS-Namen und einer automatischen Skalierung basierend auf der CPU-Auslastung erstellen.

Anforderung

POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
Text
{
  "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"
      }
    }
  ]
}

Antwort 202

Text

Der Antworttext ist leer.

Zustandsbehafteter Dienst mit benannten Partitionen und automatischer Skalierung

In diesem Beispiel wird gezeigt, wie Sie einen zustandsbehafteten Service Fabric-Dienst mit benannten Partitionen und aktivierter Skalierung basierend auf der Speicherauslastung erstellen.

Anforderung

POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
Text
{
  "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"
      }
    }
  ]
}

Antwort 202

Text

Der Antworttext ist leer.