Sdílet prostřednictvím


Vytvořit službu

Vytvoří zadanou službu Service Fabric.

Toto rozhraní API umožňuje vytvořit novou bezstavovou nebo stavovou službu Service Fabric v rámci zadané aplikace Service Fabric. Popis vytvoření služby zahrnuje informace o dělení a volitelné vlastnosti pro umístění a vyrovnávání zatížení. Některé vlastnosti je možné později upravit pomocí UpdateService rozhraní API.

Žádost

Metoda Identifikátor URI žádosti
POST /Applications/{applicationId}/$/GetServices/$/Create?api-version=6.0&timeout={timeout}

Parametry

Název Typ Vyžadováno Umístění
applicationId řetězec Yes Cesta
api-version řetězec Ano Dotaz
timeout integer (int64) No Dotaz
ServiceDescription ServiceDescription Yes Text

applicationId

Typ: řetězec
Povinné: Ano

Identita aplikace. Obvykle se jedná o úplný název aplikace bez schématu identifikátoru URI fabric:. Od verze 6.0 jsou hierarchické názvy oddělené znakem ~. Pokud je například název aplikace "fabric:/myapp/app1", identita aplikace bude ve verzi 6.0 nebo novější "myapp~app1" a v předchozích verzích "myapp/app1".


api-version

Typ: řetězec
Povinné: Ano
Výchozí:6.0

Verze rozhraní API. Tento parametr je povinný a jeho hodnota musí být 6.0.

Verze rozhraní REST API Service Fabric je založená na verzi modulu runtime, ve které bylo rozhraní API zavedeno nebo změněno. Modul runtime Service Fabric podporuje více než jednu verzi rozhraní API. Toto je nejnovější podporovaná verze rozhraní API. Pokud se předá nižší verze rozhraní API, může se vrácená odpověď lišit od odpovědi popsané v této specifikaci.

Modul runtime navíc přijímá všechny verze, které jsou vyšší než nejnovější podporovaná verze až do aktuální verze modulu runtime. Pokud je tedy nejnovější verze rozhraní API 6.0, ale modul runtime je 6.1, aby se usnadnil zápis klientů, modul runtime pro toto rozhraní API přijme verzi 6.1. Chování rozhraní API však bude podle zdokumentované verze 6.0.


timeout

Typ: integer (int64)
Povinné: Ne
Výchozí:60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1

Časový limit serveru pro provedení operace v sekundách. Tento časový limit určuje dobu, po kterou je klient ochoten čekat na dokončení požadované operace. Výchozí hodnota tohoto parametru je 60 sekund.


ServiceDescription

Typ: ServiceDescription
Povinné: Ano

Informace potřebné k vytvoření služby.

Odpovědi

Stavový kód HTTP Description Schéma odpovědi
202 (přijato) Úspěšná operace vrátí stavový kód 202.
Všechny ostatní stavové kódy Podrobná chybová odpověď.
Chyba infrastruktury

Příklady

Základní bezstavová služba

Tento příklad ukazuje, jak vytvořit základní bezstavovou službu Service Fabric.

Žádost

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"
}

Odpověď 202

Text

Text odpovědi je prázdný.

Základní stavová služba

Tento příklad ukazuje, jak vytvořit základní stavovou službu Service Fabric.

Žádost

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
}

Odpověď 202

Text

Text odpovědi je prázdný.

Bezstavová služba s názvem DNS a automatickým škálováním

Tento příklad ukazuje, jak vytvořit bezstavovou službu Service Fabric s definiovaným názvem DNS a automatickým škálováním na základě využití procesoru.

Žádost

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"
      }
    }
  ]
}

Odpověď 202

Text

Text odpovědi je prázdný.

Stavová služba s pojmenovanými oddíly a automatickým škálováním

Tento příklad ukazuje, jak vytvořit stavovou službu Service Fabric s pojmenovanými oddíly a povoleným škálováním na základě využití paměti.

Žádost

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"
      }
    }
  ]
}

Odpověď 202

Text

Text odpovědi je prázdný.