Service Fabric service model XML schema elements
PartitionDescriptionGroup group
Defines the partitioning scheme for a service.
Attribute | Value |
---|---|
content | 3 element(s) |
XML source
<xs:group xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="PartitionDescriptionGroup">
<xs:annotation>
<xs:documentation>Defines the partitioning scheme for a service.</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element name="SingletonPartition">
<xs:annotation>
<xs:documentation>Declares that this service has only one partition.</xs:documentation>
</xs:annotation>
<xs:complexType/>
</xs:element>
<xs:element name="UniformInt64Partition">
<xs:annotation>
<xs:documentation>Describes a uniform partitioning scheme based on Int64 keys.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="PartitionCount" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Total number of partitions (positive integer). Each partition is responsible for a non-overlapping subrange of the overall partition key range.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LowKey" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Inclusive low range of the partition key (long).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="HighKey" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Inclusive high range of the partition key (long).</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="NamedPartition">
<xs:annotation>
<xs:documentation>Describes a named partitioning scheme based on names for each partition.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="Partition">
<xs:annotation>
<xs:documentation>Describes a partition by name.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Name" use="required">
<xs:annotation>
<xs:documentation>The name of the partition</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:group>
Content element details
SingletonPartition
Declares that this service has only one partition.
Attribute | Value |
---|---|
name | SingletonPartition |
XML source
<xs:element xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="SingletonPartition">
<xs:annotation>
<xs:documentation>Declares that this service has only one partition.</xs:documentation>
</xs:annotation>
<xs:complexType/>
</xs:element>
UniformInt64Partition
Describes a uniform partitioning scheme based on Int64 keys.
Attribute | Value |
---|---|
name | UniformInt64Partition |
XML source
<xs:element xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="UniformInt64Partition">
<xs:annotation>
<xs:documentation>Describes a uniform partitioning scheme based on Int64 keys.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="PartitionCount" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Total number of partitions (positive integer). Each partition is responsible for a non-overlapping subrange of the overall partition key range.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LowKey" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Inclusive low range of the partition key (long).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="HighKey" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Inclusive high range of the partition key (long).</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
NamedPartition
Describes a named partitioning scheme based on names for each partition.
Attribute | Value |
---|---|
name | NamedPartition |
XML source
<xs:element xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="NamedPartition">
<xs:annotation>
<xs:documentation>Describes a named partitioning scheme based on names for each partition.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="Partition">
<xs:annotation>
<xs:documentation>Describes a partition by name.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Name" use="required">
<xs:annotation>
<xs:documentation>The name of the partition</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
ScalingPolicyMechanismGroup group
Defines the scaling mechanism.
Attribute | Value |
---|---|
content | 2 element(s) |
XML source
<xs:group xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="ScalingPolicyMechanismGroup">
<xs:annotation>
<xs:documentation>Defines the scaling mechanism.</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element name="InstanceCountScalingMechanism" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Defines a mechanism for increasing the instance count of a partition. This is for stateless services only.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="MinInstanceCount" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The minimum number of instances.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MaxInstanceCount" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The maximum number of instances..</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ScaleIncrement" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The number of instances by which to perform the upshift/downshift.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="AddRemoveIncrementalNamedPartitionScalingMechanism" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Defines a mechanism for adding or removing named partitions.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="MinPartitionCount" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The minimum number of partitions.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MaxPartitionCount" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The maximum number of partitions.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ScaleIncrement" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The number of partitions by which to perform the upshift/downshift.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:group>
Content element details
InstanceCountScalingMechanism
Defines a mechanism for increasing the instance count of a partition. This is for stateless services only.
Attribute | Value |
---|---|
name | InstanceCountScalingMechanism |
minOccurs | 0 |
maxOccurs | 1 |
XML source
<xs:element xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="InstanceCountScalingMechanism" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Defines a mechanism for increasing the instance count of a partition. This is for stateless services only.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="MinInstanceCount" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The minimum number of instances.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MaxInstanceCount" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The maximum number of instances..</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ScaleIncrement" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The number of instances by which to perform the upshift/downshift.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
AddRemoveIncrementalNamedPartitionScalingMechanism
Defines a mechanism for adding or removing named partitions.
Attribute | Value |
---|---|
name | AddRemoveIncrementalNamedPartitionScalingMechanism |
minOccurs | 0 |
maxOccurs | 1 |
XML source
<xs:element xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="AddRemoveIncrementalNamedPartitionScalingMechanism" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Defines a mechanism for adding or removing named partitions.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="MinPartitionCount" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The minimum number of partitions.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MaxPartitionCount" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The maximum number of partitions.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ScaleIncrement" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The number of partitions by which to perform the upshift/downshift.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
ScalingPolicyTriggerGroup group
Defines the scaling trigger.
Attribute | Value |
---|---|
content | 2 element(s) |
XML source
<xs:group xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="ScalingPolicyTriggerGroup">
<xs:annotation>
<xs:documentation>Defines the scaling trigger.</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element name="AveragePartitionLoadScalingTrigger" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Defines a scaling mechanism based on the average load of replicas of a partition.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="MetricName" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The name of metric which should be used for scaling operations.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LowerLoadThreshold" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The lower limit of the load value of a metric.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UpperLoadThreshold" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The upper limit of the load value of a metric.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ScaleIntervalInSeconds" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The time interval in seconds to be considered for scaling.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="AverageServiceLoadScalingTrigger" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Defines a scaling mechanism based on the average load of partitions of a service.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="MetricName" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The name of metric which should be used for scaling operations.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LowerLoadThreshold" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The lower limit of the load value of a metric.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UpperLoadThreshold" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The upper limit of the load value of a metric.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ScaleIntervalInSeconds" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The time interval in seconds to be considered for scaling.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UseOnlyPrimaryLoad" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Use load of primary replica as average load of partition.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:group>
Content element details
AveragePartitionLoadScalingTrigger
Defines a scaling mechanism based on the average load of replicas of a partition.
Attribute | Value |
---|---|
name | AveragePartitionLoadScalingTrigger |
minOccurs | 0 |
maxOccurs | 1 |
XML source
<xs:element xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="AveragePartitionLoadScalingTrigger" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Defines a scaling mechanism based on the average load of replicas of a partition.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="MetricName" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The name of metric which should be used for scaling operations.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LowerLoadThreshold" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The lower limit of the load value of a metric.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UpperLoadThreshold" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The upper limit of the load value of a metric.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ScaleIntervalInSeconds" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The time interval in seconds to be considered for scaling.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
AverageServiceLoadScalingTrigger
Defines a scaling mechanism based on the average load of partitions of a service.
Attribute | Value |
---|---|
name | AverageServiceLoadScalingTrigger |
minOccurs | 0 |
maxOccurs | 1 |
XML source
<xs:element xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="AverageServiceLoadScalingTrigger" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Defines a scaling mechanism based on the average load of partitions of a service.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="MetricName" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The name of metric which should be used for scaling operations.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LowerLoadThreshold" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The lower limit of the load value of a metric.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UpperLoadThreshold" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The upper limit of the load value of a metric.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ScaleIntervalInSeconds" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The time interval in seconds to be considered for scaling.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UseOnlyPrimaryLoad" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Use load of primary replica as average load of partition.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>