bm ilm restore
Syntax
The bm ilm restore command creates a temporary copy of an object archived
on a remote tier. The copy automatically expires after 1 day by default.
Use this command to allow applications to access a tiered object through the
Buckit deployment (e.g. “hot tier”). The archived object remains on the remote
tier, while the temporary copy becomes HEAD for that object.
The following command restores a copy of a transitioned object from the
remote tier back to the mybuckit Buckit deployment:
bm ilm restore mybuckit/mybucket/object.txt
The command has the following syntax:
bm [GLOBALFLAGS] ilm restore \
[--days "int" ] \
[--recursive] \
[--vid "string"] \
[--versions] \
[--enc-c "string"] \
ALIAS
Brackets
[]indicate optional parameters.Parameters sharing a line are mutually dependent.
Parameters separated using the pipe
|operator are mutually exclusive.
Copy the example to a text editor and modify as-needed before running the command in the terminal/shell.
Parameters
- ALIAS
- Required
The Buckit alias, bucket, and path to the archived object to restore.
bm ilm restore mybuckit/mybucket/object.txt
- --days
- Optional
The number of days after which Buckit expires the restored copy of the archived object.
- --enc-c
- Optional
Encrypt or decrypt objects using server-side SSE-C encryption with client-managed keys.
The parameter accepts a key-value pair formatted as
KEY=VALUEKEYThe full path to the object as
alias/bucket/path/object.ext.You can specify only the top-level path to use a single encryption key for all operations in that path.
VALUESpecify either a 32-byte RawBase64-encoded key or a 64-byte hex-encoded key for use with SSE-C encryption.
Raw Base64 encoding rejects
=-padded keys. Omit the padding or use a Base64 encoder that supports RAW formatting.KEY- the full path to the object asalias/bucket/path/object.VALUE- the 32-byte RAW Base64-encoded data key to use for encrypting object(s).
For example:
# RawBase64-Encoded string "mybucket32byteencryptionkeyssec" --enc-c "mybuckit/mybucket/prefix/object.obj=bXlidWNrZXQzMmJ5dGVlbmNyeXB0aW9ua2V5c3NlYwo"
You can specify multiple encryption keys by repeating the parameter.
Specify the path to a prefix to apply encryption to all matching objects at that path:
--enc-c "mybuckit/mybucket/prefix/=bXlidWNrZXQzMmJ5dGVlbmNyeXB0aW9ua2V5c3NlYwo"
Note
Buckit strongly recommends against using SSE-C encryption in production workloads. Use SSE-KMS via the
--enc-kmsor SSE-S3 via--enc-s3parameters instead.
Global Flags
This command supports any of the global flags.
Examples
Restore an Archived Object
The following command restores an object archived to a remote tier:
bm ilm restore mybuckit/mybucket/object.txt
Restore a Specific Archived Object Version
The following command restore a specific object version archived to a remote tier:
bm ilm restore --vid "VERSIONID" mybuckit/mybucket/object.txt
Restore All Archived Objects at a Bucket Prefix
The following command restores all objects archived under a specified prefix on the remote tier:
bm ilm restore --recursive mybuckit/mybucket/data/
Behavior
Restored Objects Expire Automatically
Buckit automatically expires the restored object copy after the specified number of days (Default: 1 day).
Restored Objects Become HEAD
The restored object copy becomes HEAD for that object namespace regardless of it’s versioning history. This can result in applications returning “stale” data while the local copy exists.
S3 Compatibility
The bm commandline tool is built for compatibility with the AWS S3 API and is tested with Buckit and AWS S3 for expected functionality and behavior.
Buckit provides no guarantees for other S3-compatible services, as their S3 API implementation is unknown and therefore unsupported. While bm commands may work as documented, any such usage is at your own risk.