Delen via


Service maken

Hiermee maakt u de opgegeven Service Fabric-service.

Met deze API kunt u een nieuwe stateless Service Fabric-service of stateful service maken onder een opgegeven Service Fabric-toepassing. De beschrijving voor het maken van de service bevat partitioneringsgegevens en optionele eigenschappen voor plaatsing en taakverdeling. Sommige eigenschappen kunnen later worden gewijzigd met behulp van UpdateService DE API.

Aanvraag

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

Parameters

Naam Type Vereist Locatie
applicationId tekenreeks Ja Pad
api-version tekenreeks Ja Query’s uitvoeren
timeout geheel getal (int64) Nee Query’s uitvoeren
ServiceDescription ServiceBeschrijving Ja Hoofdtekst

applicationId

Type: tekenreeks
Vereist: Ja

De identiteit van de toepassing. Dit is doorgaans de volledige naam van de toepassing zonder het URI-schema 'fabric:'. Vanaf versie 6.0 worden hiërarchische namen gescheiden door het teken '~'. Als de naam van de toepassing bijvoorbeeld 'fabric:/myapp/app1' is, is de toepassingsidentiteit 'myapp~app1' in 6.0+ en 'myapp/app1' in eerdere versies.


api-version

Type: tekenreeks
Vereist: Ja
Standaardinstelling: 6.0

De versie van de API. Deze parameter is vereist en de waarde moet '6.0' zijn.

Service Fabric REST API-versie is gebaseerd op de runtimeversie waarin de API is geïntroduceerd of is gewijzigd. Service Fabric-runtime ondersteunt meer dan één versie van de API. Dit is de meest recente ondersteunde versie van de API. Als een lagere API-versie wordt doorgegeven, kan het geretourneerde antwoord afwijken van het antwoord dat in deze specificatie wordt beschreven.

Bovendien accepteert de runtime elke versie die hoger is dan de meest recente ondersteunde versie tot de huidige versie van de runtime. Dus als de nieuwste API-versie 6.0 is, maar als de runtime 6.1 is, accepteert de runtime versie 6.1 voor die API om het schrijven van de clients gemakkelijker te maken. Het gedrag van de API is echter volgens de gedocumenteerde versie 6.0.


timeout

Type: geheel getal (int64)
Vereist: Nee
Standaardinstelling: 60
InclusiefMaximum: 4294967295
InclusiefMinimum: 1

De servertime-out voor het uitvoeren van de bewerking in seconden. Deze time-out geeft de tijdsduur aan die de client bereid is te wachten tot de aangevraagde bewerking is voltooid. De standaardwaarde voor deze parameter is 60 seconden.


ServiceDescription

Type: ServiceDescription
Vereist: Ja

De informatie die nodig is om een service te maken.

Antwoorden

HTTP-statuscode Beschrijving Antwoordschema
202 (geaccepteerd) Een geslaagde bewerking retourneert de statuscode 202.
Alle andere statuscodes Het gedetailleerde foutantwoord.
FabricError

Voorbeelden

Eenvoudige stateless service

In dit voorbeeld ziet u hoe u een eenvoudige stateless Service Fabric-service maakt.

Aanvraag

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

202-antwoord

Hoofdtekst

De hoofdtekst van het antwoord is leeg.

Eenvoudige stateful service

In dit voorbeeld ziet u hoe u een eenvoudige stateful Service Fabric-service maakt.

Aanvraag

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

202-antwoord

Hoofdtekst

De hoofdtekst van het antwoord is leeg.

Stateless service met DNS-naam en automatisch schalen

In dit voorbeeld ziet u hoe u een stateless Service Fabric-service maakt met een DNS-naam definied en automatisch schalen op basis van CPU-gebruik.

Aanvraag

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

Hoofdtekst

De hoofdtekst van het antwoord is leeg.

Stateful service met benoemde partities en automatisch schalen

In dit voorbeeld ziet u hoe u een stateful Service Fabric-service maakt met benoemde partities en schalen ingeschakeld op basis van geheugengebruik.

Aanvraag

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

Hoofdtekst

De hoofdtekst van het antwoord is leeg.