Info
Version: | 6.1.0 |
Author(s): | The Byte Stuff, LLC |
Last Update: | Monday, July 22, 2024 |
.NET Fiddle: | Create the first Fiddle |
Project Url: | https://www.thebytestuff.com/azure-tables-backup-documentation?utm_source=nuget&utm_medium=www&utm_campaign=AzureTableUtilities |
NuGet Url: | https://www.nuget.org/packages/TheByteStuff.AzureTableUtilities |
Install
Install-Package TheByteStuff.AzureTableUtilities
dotnet add package TheByteStuff.AzureTableUtilities
paket add TheByteStuff.AzureTableUtilities
TheByteStuff.AzureTableUtilities Download (Unzip the "nupkg" after downloading)
Dependencies
- Azure.Storage.Blobs(>= 12.4.4)
- Microsoft.Azure.Cosmos(>= 3.11.0)
- Microsoft.Azure.Cosmos.Table(>= 2.0.0)
- Microsoft.Azure.Storage.Blob(>= 11.1.7)
- Microsoft.Azure.Storage.File(>= 11.1.7)
- Newtonsoft.Json(>= 12.0.3)
Tags
An alternative to tools such as AZCopy.
Backup destination may be to a local file or to Azure storage blob. File may be optionally compressed (zipped).
Copy allows for the same or different connection spec for Source and Destination.
Restore location may be from local file or Azure storage blob.
Blob storage and Azure Table storage connection specs may point to different servers to allow for use in production backup scenarios as well as for restoration of development environments.
Restore/Copy will create the table if it does not exist, however data on an existing table will not be deleted. It may be overwritten depending on the source data.
Delete allows for full table deletion as well as for rows.
When working with Blob storage, a folder in the format {BlobRootName}--table-{TableName} will be used to store the file or retreive the file under the Blob root specified. File created will be in the format {TableName}_Backup_{TimeStamp}.
Backup, Copy and Delete operations allow for an optional list of filters (Filter) to be provided to select a subset of the source data for the transation.
Refer to project url for code snippets and additional information.
The Byte Stuff, LLC is not affiliated with Microsoft nor has Microsoft endorsed this project.
Personal and commercial use of this software is free; however, a donation is appreciated if you find the software useful.
Code for a command line executable along with sample Docker build is available on GitHub -- https://github.com/TheByteStuff/AzureTableBackupRestore
Suggestions or donations are both appreciated and welcome can be made by using the "Contact" tab at https://www.thebytestuff.com/Contact?utm_source=nuget&utm_medium=www&utm_campaign=AzureTableUtilities
v6.1.0 - Correct problem with Timestamp filter, changed literal type from DateTimeOffset to DateTime
v6.0.0 - ** Backup/Restore is NOT compatible with prior versions ** Upgrade from Microsoft.Azure.Cosmos.Table library to Azure.Data.Table.
The Microsoft.Azure.Cosmos.Table library was deprecated on 3/31/2023. The Azure.Data.Table API (TableEntity) required a change to retain proper data typing of Int32/Int64 during serlization and is not compatible with the prior version of the customized DynamicTableEntityJsonConverter/Serializer. As a result, backup files created with prior versions are not compatible to be restored with this release. Similarly, backups taken with this release may not be restored under prior versions.
It is possible to convert a prior file version to work with the new serialization. At this time, no tool is being offered to do so.