Hizmet Oluştur
Belirtilen Service Fabric hizmetini oluşturur.
Bu api, belirtilen bir Service Fabric uygulaması altında durum bilgisi olmayan veya durum bilgisi olan yeni bir Service Fabric hizmeti oluşturmaya olanak tanır. Hizmeti oluşturma açıklaması bölümleme bilgilerini ve yerleştirme ve yük dengeleme için isteğe bağlı özellikleri içerir. Özelliklerden bazıları daha sonra API kullanılarak UpdateService
değiştirilebilir.
İstek
Yöntem | İstek URI'si |
---|---|
POST | /Applications/{applicationId}/$/GetServices/$/Create?api-version=6.0&timeout={timeout} |
Parametreler
Ad | Tür | Gerekli | Konum |
---|---|---|---|
applicationId |
string | Yes | Yol |
api-version |
string | Yes | Sorgu |
timeout |
integer (int64) | No | Sorgu |
ServiceDescription |
ServiceDescription | Yes | Gövde |
applicationId
Tür: dize
Gerekli: Evet
Uygulamanın kimliği. Bu genellikle 'fabric:' URI şeması olmayan uygulamanın tam adıdır.
Sürüm 6.0'dan başlayarak, hiyerarşik adlar "~" karakteriyle sınırlandırılır.
Örneğin, uygulama adı "fabric:/myapp/app1" ise, uygulama kimliği 6.0+ sürümünde "myapp~app1" ve önceki sürümlerde "myapp/app1" olacaktır.
api-version
Tür: dize
Gerekli: Evet
Varsayılan: 6.0
API'nin sürümü. Bu parametre gereklidir ve değeri '6.0' olmalıdır.
Service Fabric REST API sürümü, API'nin tanıtıldığı veya değiştirildiği çalışma zamanı sürümünü temel alır. Service Fabric çalışma zamanı API'nin birden fazla sürümünü destekler. Bu, API'nin desteklenen en son sürümüdür. Daha düşük bir API sürümü geçirilirse, döndürülen yanıt bu belirtimde belgelenen yanıttan farklı olabilir.
Ayrıca çalışma zamanı, çalışma zamanının geçerli sürümüne kadar desteklenen en son sürümden daha yüksek olan tüm sürümleri kabul edin. Bu nedenle, en son API sürümü 6.0 ise ancak çalışma zamanı 6.1 ise, istemcileri yazmayı kolaylaştırmak için çalışma zamanı bu API için sürüm 6.1'i kabul eder. Ancak API'nin davranışı, belgelenen 6.0 sürümüne göre olacaktır.
timeout
Tür: tamsayı (int64)
Gerekli: Hayır
Varsayılan: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
İşlemi saniyeler içinde gerçekleştirmek için sunucu zaman aşımı. Bu zaman aşımı, istemcinin istenen işlemin tamamlanmasını beklemeye istekli olduğu süreyi belirtir. Bu parametre için varsayılan değer 60 saniyedir.
ServiceDescription
Tür: ServiceDescription
Gerekli: Evet
Hizmet oluşturmak için gereken bilgiler.
Yanıtlar
HTTP Durum Kodu | Description | Yanıt Şeması |
---|---|---|
202 (Kabul Edildi) | Başarılı bir işlem 202 durum kodu döndürür. |
|
Diğer tüm durum kodları | Ayrıntılı hata yanıtı. |
Doku Oluşturucu |
Örnekler
Temel durum bilgisi olmayan hizmet
Bu örnekte, durum bilgisi olmayan temel bir Service Fabric hizmetinin nasıl oluşturulacağı gösterilmektedir.
İstek
POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
Gövde
{
"ServiceKind": "Stateless",
"ApplicationName": "fabric:/test",
"ServiceName": "fabric:/test/test1",
"ServiceTypeName": "StatelessFrontendService",
"PartitionDescription": {
"PartitionScheme": "Singleton"
},
"InstanceCount": "4"
}
202 Yanıtı
Gövde
Yanıt gövdesi boş.
Durum bilgisi olan temel hizmet
Bu örnekte, durum bilgisi olan temel bir Service Fabric hizmetinin nasıl oluşturulacağı gösterilmektedir.
İstek
POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
Gövde
{
"ServiceKind": "Stateful",
"ApplicationName": "fabric:/test",
"ServiceName": "fabric:/test/test2",
"ServiceTypeName": "StatefulBackendService",
"PartitionDescription": {
"PartitionScheme": "Singleton"
},
"TargetReplicaSetSize": "3",
"MinReplicaSetSize": "2",
"HasPersistedState": false
}
202 Yanıtı
Gövde
Yanıt gövdesi boş.
Dns adı ve otomatik ölçeklendirme ile durum bilgisi olmayan hizmet
Bu örnekte, dns adı kesinleştirilmiş ve cpu kullanımına göre otomatik ölçeklendirme ile durum bilgisi olmayan bir Service Fabric hizmetinin nasıl oluşturulacağı gösterilmektedir.
İstek
POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
Gövde
{
"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 Yanıtı
Gövde
Yanıt gövdesi boş.
Adlandırılmış bölümler ve otomatik ölçeklendirme ile durum bilgisi olan hizmet
Bu örnekte, bellek kullanımına göre adlandırılmış bölümler ve ölçeklendirmenin etkinleştirildiği durum bilgisi olan bir Service Fabric hizmetinin nasıl oluşturulacağı gösterilmektedir.
İstek
POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
Gövde
{
"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 Yanıtı
Gövde
Yanıt gövdesi boş.