Found 17 packages
A repository wrapper for Azure Table Storage that uses POCOs (Plain Old CLR Objects) instead of objects that implemeent ITableEntity. The Azure Storage SDK requires that objects that it works with to implement the ITableEntity interface. This puts us into one of two places that are often not desirable: You implement the ITableEntity interace, or inherit from TableEntity. This is easy, but now you've got a leaky abstraction, as well as properties that won't make much sense in your domain (e.g. instead of a UserId, you've now got a RowKey, of the wrong type), or you have fields that are out of place, like ETag and Timestamp. You create DTOs to save to ship data back and forth from the domain to Table Storage. This is a common style, but often is overkill, especially if we're just looking for a simple abstraction on top of Azure Table Storage. This simple library seeks to take care of the mapping for us, so that you can continue to write your domain objects as POCOs, while still being able to leverage the Azure Storage SDK. The library will convert simple properties to fields in Azure Table Storage. Complex types will serialize as json.
Adapter class to allow reading and writing simple and complex POCO objects to azure table storage without inheriting from TableEntity class or implementing ITableEntity interface. POCO class you want to write to table storage can have multiple layers of nested complex properties and can be a struct. It can have nullable or enum properties, all of these will be written to azure table storage. TableEntityAdapter will handle conversion, using the Azure Storage SDK api s underneath. Usage: TableEntityAdapter<POCOClass> tableEntityAdapter = new TableEntityAdapter<POCOClass>(POCOObject, "partitionKey", "rowKey"); //Write this tableEntityAdapter directly to azure table storage. //Read TableEntityAdapter<POCOClass> back from Azure Table Storage using the same partition and row key. //The original POCOObject you wrote to azure table storage is saved in the OriginalEntity property of the TableEntityAdapter object that you read back from table storage.
Geared more toward Azure Table Storage (vs CosmosDB, which has an ATS api), using an intra/inter partition (or table) secondary index pattern. This library handles keeping the indexes up to date as data gets mutated.
DataContract Serializable TableEntity base class that implements azure table storage ITableEntity interface. For the classes that need to be written to table storage, all that is required is to inherit from this base class and that s all. TableEntity class in the client SDK can be used as a base class as well but TableEntity class is not DataContract serializable so your entities will not be DataContract Serializable and cannot be exchanged between WCF services as a result.
This projects implements an abstraction for Azure Storage Tables to use POCOs because deriving every entity from ITableEntity or TableEntity looks like a step backwards. The current implementation is intended to be an abstraction to store every existing entity into Azure Table Store.
Easily convert POCOs (Plain Old CLR Objects) to Azure Table Storage TableEntities and vice versa.
Currently Supports Azure SDK 2.2. Azure SDK 3.x support will come after RTM. Proxies around the Azure Storage v2.0.0 API, TableEntity, CloudTable, and CloudQueue; making it simpler to use Azure within a repository.
RIAServices.WindowsAzure provides the TableDomainService<T> class, as well as the TableEntity and TableEntityContext classes that can be used to create Domain Services backed by Windows Azure Table Storage.
Package for storing an Entities in an Azure Table. Can be used with pocos, no need for inheriting from TableEntity
Simplifies access to Azure Tables for making CRUD operations. It uses generic methods (of entities inheriting from TableEntity) to provide strong type operatoins
This library comes with a class EncryptedTableEntity. This class is the same as TableEntity, but understands the [EncryptedProperty] attribute that will encrypt the data for that property when it goes to Azure Table. Also, use the [EncryptionKey(a,b,c)] attribute on the class that inherits EncryptedTableEntity to set the encryption key.
In short, it enables the ability for POCO's to NOT have to inherit from TableEntity by saving them as JSON blobs and allows for secondary indexes to be defined via a contextually managed set of Index Name Keys (used as the Table Partition Key). 1.2.0 -- Fixed bug that was introduced in the last release. Made the .NET Framework version support .Net 4.5 since we now have .net standard 2.0 support. Also added some functionality for deleting all items in an index. Worked to improve performance in large batch deletes. For full release notes visit this NuGet package on nuget.org.
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.
Easily convert POCOs (Plain Old CLR Objects) to Azure Table Storage TableEntities and vice versa, fork of TableStorage.Abstractions.TableEntityConverters with System.Text.Json instead of Newtonsoft.Json