Backup Partition
Triggers backup of the partition's state.
Creates a backup of the stateful persisted partition's state. In case the partition is already being periodically backed up, then by default the new backup is created at the same backup storage. One can also override the same by specifying the backup storage details as part of the request body. Once the backup is initiated, its progress can be tracked using the GetBackupProgress operation. In case, the operation times out, specify a greater backup timeout value in the query parameter.
Request
Method | Request URI |
---|---|
POST | /Partitions/{partitionId}/$/Backup?BackupTimeout={BackupTimeout}&api-version=6.4&timeout={timeout} |
Parameters
Name | Type | Required | Location |
---|---|---|---|
partitionId |
string (uuid) | Yes | Path |
BackupTimeout |
integer | No | Query |
api-version |
string | Yes | Query |
timeout |
integer (int64) | No | Query |
BackupPartitionDescription |
BackupPartitionDescription | No | Body |
partitionId
Type: string (uuid)
Required: Yes
The identity of the partition.
BackupTimeout
Type: integer
Required: No
Default: 10
Specifies the maximum amount of time, in minutes, to wait for the backup operation to complete. Post that, the operation completes with timeout error. However, in certain corner cases it could be that though the operation returns back timeout, the backup actually goes through. In case of timeout error, its recommended to invoke this operation again with a greater timeout value. The default value for the same is 10 minutes.
api-version
Type: string
Required: Yes
Default: 6.4
The version of the API. This parameter is required and its value must be '6.4'.
Service Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.
Additionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.
timeout
Type: integer (int64)
Required: No
Default: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
The server timeout for performing the operation in seconds. This timeout specifies the time duration that the client is willing to wait for the requested operation to complete. The default value for this parameter is 60 seconds.
BackupPartitionDescription
Type: BackupPartitionDescription
Required: No
Describes the parameters to backup the partition now. If not present, backup operation uses default parameters from the backup policy current associated with this partition.
Responses
HTTP Status Code | Description | Response Schema |
---|---|---|
202 (Accepted) | A 202 status code indicates the operation request was accepted and backup will be initiated. Use GetPartitionBackupProgress operation to get the status of the backup operation. |
|
All other status codes | The detailed error response. |
FabricError |
Examples
Backup partition
This example shows how to trigger backup of a partition now, which is already configured for periodic backups. The newly created backup will be saved at the same location where the periodic backups are being saved.
Request
POST http://localhost:19080/Partitions/1daae3f5-7fd6-42e9-b1ba-8c05f873994d/$/Backup?api-version=6.4
Body
{}
202 Response
Body
The response body is empty.
Backup partition to a specific Azure storage account
This example shows how to trigger backup of a partition now, and save the backup to a specific Azure blob storage account.
Request
POST http://localhost:19080/Partitions/1daae3f5-7fd6-42e9-b1ba-8c05f873994d/$/Backup?api-version=6.4
Body
{
"BackupStorage": {
"StorageKind": "AzureBlobStore",
"ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=<PutYourAccountKeyHere>",
"ContainerName": "BackupContainer"
}
}
202 Response
Body
The response body is empty.
Backup partition to a specific Azure storage location accessed using managed identity
This example shows how to trigger backup of a partition now, and save the backup to a specific Azure blob storage account using managed identity.
Request
POST http://localhost:19080/Partitions/1daae3f5-7fd6-42e9-b1ba-8c05f873994d/$/Backup?api-version=6.4
Body
{
"BackupStorage": {
"StorageKind": "ManagedIdentityAzureBlobStore",
"BlobServiceUri": "https://managedidentitytest.blob.core.windows.net/",
"ContainerName": "BackupContainer",
"ManagedIdentityType": "Cluster"
}
}
202 Response
Body
The response body is empty.
Backup partition to a specific on-premise file share
This example shows how to trigger backup of a partition now, and save the backup to a specific file share accessible from all cluster nodes.
Request
POST http://localhost:19080/Partitions/1daae3f5-7fd6-42e9-b1ba-8c05f873994d/$/Backup?api-version=6.4
Body
{
"BackupStorage": {
"StorageKind": "FileShare",
"Path": "\\\\myshare\\backupshare",
"PrimaryUserName": "mydomain\\backupaccount",
"PrimaryPassword": "abcd1234"
}
}
202 Response
Body
The response body is empty.
Backup partition to a specific Dsms Azure storage location
This example shows how to trigger backup of a partition now, and save the backup to a specific Dsms Azure blob storage location.
Request
POST http://localhost:19080/Partitions/1daae3f5-7fd6-42e9-b1ba-8c05f873994d/$/Backup?api-version=6.4
Body
{
"BackupStorage": {
"StorageKind": "DsmsAzureBlobStore",
"StorageCredentialsSourceLocation": "https://sample-dsms.dsms.core.winows.net/dsms/samplecredentiallocation/storageaccounts/samplestorageac/servicefabricbackup/samplebackup",
"ContainerName": "BackupContainer"
}
}
202 Response
Body
The response body is empty.