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.