Backup, Copy, Delete and Restore options for use with Azure Tables. 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.
DotNet Tools command line implementation for backup, copy, delete and restore of Azure tables to/from local file or Azure blob storage using TheByteStuff.AzureTableUtilities found on NuGet: https://www.nuget.org/packages/TheByteStuff.AzureTableUtilities/ Backup/Copy/Delete/Restore parameters can be stored in a settings file (appsettings.json) or passed on the command line. Filters need to be specified in the settings file. Tool Command Name is registered with the name "aztbu" as in "Azure Table Utilities". for help, aztbu -h
Object model and API helper definition for working with a Venstar Smart Thermostat over the local API. The code for this project was developed/tested against a Venstar Colortouch model T7900. The Byte Stuff, LLC is not afailiated with Venstar nor has Venstar endorsed this project. Includes support for use with a Thermostat Local API in unsecure/http as well as secure/https mode. Use of this software is free. Suggestions or donations are both appreciated and welcome can be made by using the "Contact" tab at https://www.thebytestuff.com/?utm_source=nuget&utm_medium=www&utm_campaign=VenstarAPI
Appenders for Apache log4net RemoteSyslogSSLAppender and RemoteSyslogAsyncSSLAppender: Appenders specifically to allow remote SSL logging to a syslog running on a Synology NAS. This should work with any syslog conforming to the BSD specification. EncryptedForwardingAppender: ForwardingAppender to allow encryption of logged messages (both the message text and exception text). Current implementation uses PGP/GPG encryption. Reference project on GitHub for SampleApp to write logs for these appenders as well as a sample application for reading an encrypted file log. Use of this software is free. Suggestions or donations are both appreciated and welcome can be made by using the "Contact" tab at https://www.thebytestuff.com/
Based on the nuget package offered by DoguArslan (https://www.nuget.org/packages/DynamicTableEntityJsonSerializer) which uses Microsoft.WindowsAzure.Storage.Table and .Net Framework 4.5, this package is adapted from the original work to function using Microsoft.Azure.Cosmos.Table to enable working with the Microsoft Azure CosmosDB Table API as well as the Azure Table Storage API and a broader .NetStandard 2.0. The ReadJson method logic for ETag also deviates from the original code in that a true null value will be returned if the serialized data indicates null. The original package sets ETag to empty string when the input value is null. In addition, the original converter logic for parsing the Timestamp loses the Offset and just returns the date and time. Added a hack to include the offset in the Timestamp.
Based on the nuget package offered by DoguArslan (https://www.nuget.org/packages/DynamicTableEntityJsonSerializer) which uses Microsoft.WindowsAzure.Storage.Table and .Net Framework 4.5, this package is adapted from the original work to function using Azure.Data.Table which does not properly serialize/deserialize int32 and a broader .NetCore 2.1. In addition, the original converter logic for parsing the Timestamp loses the Offset and just returns the date and time. Added a hack to include the offset in the Timestamp.