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.