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ý.