Aracılığıyla paylaş


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