你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
创建服务
创建指定的 Service Fabric 服务。
此 API 允许在指定的 Service Fabric 应用程序下创建新的 Service Fabric 无状态或有状态服务。 有关创建服务的说明包括分区信息以及放置和负载均衡的可选属性。 稍后可以使用 API 修改 UpdateService
某些属性。
请求
方法 | 请求 URI |
---|---|
POST | /Applications/{applicationId}/$/GetServices/$/Create?api-version=6.0&timeout={timeout} |
参数
名称 | 类型 | 必须 | 位置 |
---|---|---|---|
applicationId |
string | 是 | 路径 |
api-version |
字符串 | 是 | 查询 |
timeout |
整数 (int64) | 否 | 查询 |
ServiceDescription |
ServiceDescription | “是” | Body |
applicationId
类型:字符串
必需:是
应用程序的标识。 这通常是不带“fabric:”URI 方案的应用程序全名。
从版本 6.0 开始,分层名称以“~”字符隔开。
例如,如果应用程序名称为“fabric:/myapp/app1”,则在 6.0 及更高版本中应用程序标识为“myapp~app1”,在以前的版本中为“myapp/app1”。
api-version
类型:字符串
必需:是
默认:
API 的版本。 此参数是必需的,其值必须为“6.0”。
Service Fabric REST API 版本基于引入或更改 API 的运行时版本。 Service Fabric 运行时支持 API 的多个版本。 这是 API 支持的最新版本。 如果传递的 API 版本较低,则返回的响应可能与本规范中所述的响应不同。
此外,运行时接受高于当前运行时版本支持的最新版本的任何版本。 因此,如果最新的 API 版本为 6.0,但如果运行时为 6.1,为了便于编写客户端,运行时将接受该 API 的版本 6.1。 但是,API 的行为将按照记录的 6.0 版本。
timeout
类型:整数 (int64)
必需:否
默认:
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
执行操作的服务器超时,以秒为单位。 此超时指定客户端可以等待请求的操作完成的持续时间。 此参数的默认值为 60 秒。
ServiceDescription
类型: ServiceDescription
必需:是
创建服务所需的信息。
响应
HTTP 状态代码 | 说明 | 响应架构 |
---|---|---|
202 (已接受) | 成功的操作将返回 202 状态代码。 |
|
所有其他状态代码 | 详细的错误响应。 |
FabricError |
示例
基本无状态服务
此示例演示如何创建基本的无状态 Service Fabric 服务。
请求
POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
正文
{
"ServiceKind": "Stateless",
"ApplicationName": "fabric:/test",
"ServiceName": "fabric:/test/test1",
"ServiceTypeName": "StatelessFrontendService",
"PartitionDescription": {
"PartitionScheme": "Singleton"
},
"InstanceCount": "4"
}
202 响应
正文
响应正文为空。
基本有状态服务
此示例演示如何创建基本的有状态 Service Fabric 服务。
请求
POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
正文
{
"ServiceKind": "Stateful",
"ApplicationName": "fabric:/test",
"ServiceName": "fabric:/test/test2",
"ServiceTypeName": "StatefulBackendService",
"PartitionDescription": {
"PartitionScheme": "Singleton"
},
"TargetReplicaSetSize": "3",
"MinReplicaSetSize": "2",
"HasPersistedState": false
}
202 响应
正文
响应正文为空。
具有 dns 名称和自动缩放的无状态服务
此示例演示如何创建具有定义 dns 名称的无状态 Service Fabric 服务,并根据 CPU 使用率自动缩放。
请求
POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
正文
{
"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 响应
正文
响应正文为空。
具有命名分区和自动缩放的有状态服务
此示例演示如何创建基于内存使用情况启用命名分区和缩放的有状态 Service Fabric 服务。
请求
POST http://localhost:19080/Applications/test/$/GetServices/$/Create?api-version=6.0
正文
{
"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 响应
正文
响应正文为空。