Bagikan melalui


Membuat Layanan

Membuat layanan Service Fabric yang telah ditentukan.

Api ini memungkinkan pembuatan layanan stateless atau stateful Service Fabric baru di bawah aplikasi Service Fabric tertentu. Deskripsi untuk membuat layanan mencakup informasi partisi dan properti opsional untuk penempatan dan penyeimbangan beban. Beberapa properti nantinya dapat dimodifikasi menggunakan UpdateService API.

Minta

Metode URI Permintaan
POST /Applications/{applicationId}/$/GetServices/$/Create?api-version=6.0&timeout={timeout}

Parameter

Nama Jenis Diperlukan Lokasi
applicationId string Ya Jalur
api-version string Ya Kueri
timeout bilangan bulat (int64) Tidak Kueri
ServiceDescription ServiceDescription Ya Isi

applicationId

Jenis: string
Diperlukan: Ya

Identitas aplikasi. Ini biasanya nama lengkap aplikasi tanpa skema URI 'fabric:'. Mulai dari versi 6.0, nama hierarki dibatasi dengan karakter “~”. Misalnya, jika nama aplikasi adalah "fabric:/myapp/app1", identitas aplikasi akan menjadi "myapp~app1" di versi 6.0+ dan "myapp/app1" di versi sebelumnya.


api-version

Jenis: string
Diperlukan: Ya
Default: 6.0

Versi API. Parameter ini diperlukan dan nilainya harus '6.0'.

Versi REST API Service Fabric didasarkan pada versi runtime tempat API diperkenalkan atau diubah. Runtime Service Fabric mendukung lebih dari satu versi API. Ini adalah versi API terbaru yang didukung. Jika versi API yang lebih rendah diteruskan, respons yang dikembalikan mungkin berbeda dari yang di dokumentasikan dalam spesifikasi ini.

Selain itu runtime menerima versi apa pun yang lebih tinggi dari versi terbaru yang didukung hingga versi runtime saat ini. Jadi, jika versi API terbaru adalah 6.0, tetapi jika runtime adalah 6.1, untuk mempermudah penulisan klien, runtime akan menerima versi 6.1 untuk API tersebut. Namun perilaku API akan sesuai dengan versi 6.0 yang di dokumentasikan.


timeout

Jenis: bilangan bulat (int64)
Diperlukan: Tidak
Default: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1

Batas waktu server untuk melakukan operasi dalam hitungan detik. Batas waktu ini menentukan durasi waktu klien bersedia menunggu operasi yang diminta selesai. Nilai default untuk parameter ini adalah 60 detik.


ServiceDescription

Jenis: ServiceDescription
Diperlukan: Ya

Informasi yang diperlukan untuk membuat layanan.

Respons

Kode Status HTTP Deskripsi Skema Respons
202 (Diterima) Operasi yang berhasil akan mengembalikan kode status 202.
Semua kode status lainnya Respons kesalahan terperinci.
FabricError

Contoh

Layanan stateless dasar

Contoh ini menunjukkan cara membuat layanan Service Fabric stateless dasar.

Minta

POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
Isi
{
  "ServiceKind": "Stateless",
  "ApplicationName": "fabric:/test",
  "ServiceName": "fabric:/test/test1",
  "ServiceTypeName": "StatelessFrontendService",
  "PartitionDescription": {
    "PartitionScheme": "Singleton"
  },
  "InstanceCount": "4"
}

Respons 202

Isi

Isi respons kosong.

Layanan stateful dasar

Contoh ini menunjukkan cara membuat layanan Service Fabric stateful dasar.

Minta

POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
Isi
{
  "ServiceKind": "Stateful",
  "ApplicationName": "fabric:/test",
  "ServiceName": "fabric:/test/test2",
  "ServiceTypeName": "StatefulBackendService",
  "PartitionDescription": {
    "PartitionScheme": "Singleton"
  },
  "TargetReplicaSetSize": "3",
  "MinReplicaSetSize": "2",
  "HasPersistedState": false
}

Respons 202

Isi

Isi respons kosong.

Layanan stateless dengan nama dns dan penskalakan otomatis

Contoh ini menunjukkan cara membuat layanan Service Fabric stateless dengan nama dns yang difinisikan dan penskalaan otomatis berdasarkan penggunaan cpu.

Minta

POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
Isi
{
  "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"
      }
    }
  ]
}

Respons 202

Isi

Isi respons kosong.

Layanan stateful dengan partisi bernama dan penskalaan otomatis

Contoh ini menunjukkan cara membuat layanan Service Fabric stateful dengan partisi bernama dan penskalaan diaktifkan berdasarkan penggunaan memori.

Minta

POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
Isi
{
  "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"
      }
    }
  ]
}

Respons 202

Isi

Isi respons kosong.