File Backup API

The file backup service allows you to backup and restore data to and from a backend storage.

Backup

Create a file backup.

Request

Hono Command: command//<name>:<namespace>/req//backup

Ditto Message:

NameValueDescription
topic<name>/<namespace>/things/live/messages/backupInformation about the affected Thing and the type of operation
path/features/BackupAndRestore/inbox/messages/backupA path to the BackupAndRestore Feature, it’s message channel, and backup command
HeadersAdditional headers
response-requiredtrue/falseIf response is required
content-typeapplication/jsonThe content type
correlation-idUUIDUsed for correlating protocol messages, the same correlation-id as the sent back response message
Value
correlationIDUUIDIdentifier of the backup file
providersThe providers of the restore command
options
backup.dirA local directory, to be backed up
https.urlThe URL for restoring the backed up directory

Example : Back up a directory.

Topic: command//edge:device/req//backup

{
	"topic":"edge/device/things/live/messages/backup",
	"headers":{
		"response-required":true,
		"content-type":"application/json",
		"correlation-id":"<UUID>"
	},
	"path":"/features/BackupAndRestore/inbox/messages/backup",
	"value":{
		"correlationID":"upload-id-1704439450#n",
		"providers":{},
		"options":{
			"backup.dir":"/var/tmp/backup",
			"https.url":""
		}
	}
}
Response

Hono Command : command//<name>:<namespace>/res//backup

Ditto Message:

NameValueDescription
topic<name>/<namespace>/things/live/messages/backupInformation about the affected Thing and the type of operation
path/features/BackupAndRestore/outbox/messages/backupA path to the BackupAndRestore Feature, it’s message channel, and backup command
HeadersAdditional headers
content-typeapplication/jsonThe content type
correlation-id<UUID>The same correlation id as the request message
StatusStatus of the backup operation

Example : Successful response of a backup operation.

Topic: `command//edge:device/res//backup``

{
	"topic":"edge/device/things/live/messages/backup",
	"headers":{
		"content-type":"application/json",
		"correlation-id":"<UUID>"
	},
	"path":"/features/BackupAndRestore/outbox/messages/backup",
	"status":204
}

Restore

Restore the backed up files or directory from a backend service.

Request

Hono Command: command//<name>:<namespace>/req//restore

Ditto Message:

NameValueDescription
topic<name>/<namespace>/things/live/messages/restoreInformation about the affected Thing and the type of operation
path/features/BackupAndRestore/inbox/messages/restoreA path to the BackupAndRestore Feature, it’s message channel, and restore command
HeadersAdditional headers
response-requiredtrue/falseIf response is required
content-typeapplication/jsonThe content type
correlation-idUUIDUsed for correlating protocol messages, the same correlation-id as the sent back response message
Value
correlationIDother UUIDIdentifier of the restored file
providersStorage provider, one of aws, azure, generic
optionsOptions are specific for each provider
backup.dirA local directory, which to be backed up and then uploaded, using a storage provider of choice and temporary credentials
https.urlThe URL for restoring the backed up directory

Example : Restore a backup from a storage provider.

Topic: command//edge:device/req//restore

{
	"topic":"edge/device/things/live/messages/restore",
	"headers":{
		"response-required":true,
		"content-type":"application/json",
		"correlation-id":"<UUID>"
	},
	"path":"/features/BackupAndRestore/inbox/messages/restore",
	"value":{
		"correlationID":"upload-id-1704439450#n",
		"providers":{},
		"options":{
			"backup.dir":"/var/tmp/backup",
			"https.url":"https://raw.githubusercontent.com/eclipse-kanto/container-management/main/containerm/pkg/testutil/config/"
		}
	}
}
Response

Hono Command : command//<name>:<namespace>/res//restore

Ditto Message:

NameValueDescription
topic<name>/<namespace>/things/live/messages/restoreInformation about the affected Thing and the type of operation
path/features/BackupAndRestore/outbox/messages/restoreA path to the BackupAndRestore Feature, it’s message channel, and restore command
HeadersAdditional headers
content-typeapplication/jsonThe content type
correlation-id<UUID>The same correlation id as the request message
StatusStatus of the operation restore

Example : Response of a successful restore operation.

Topic: `command//edge:device/res//restore``

{
	"topic":"edge/device/things/live/messages/restore",
	"headers":{
		"content-type":"application/json",
		"correlation-id":"<UUID>"
	},
	"path":"/features/BackupAndRestore/outbox/messages/restore",
	"status": 204
}
Last modified June 28, 2024