.NET - AWS Database Encryption SDK

.NET

This topic explains how to install and use version 3.x of the .NET client-side encryption library for DynamoDB. For details about programming with the AWS Database Encryption SDK for DynamoDB, see the .NET examples in the aws-database-encryption-sdk-dynamodb repository on GitHub.

The .NET client-side encryption library for DynamoDB is for developers who are writing applications in C# and other .NET programming languages. It is supported on Windows, macOS, and Linux.

All programming language implementations of the AWS Database Encryption SDK for DynamoDB are interoperable. However, the AWS SDK for .NET does not support empty values for list or map data types. This means that if you use the Java client-side encryption library for DynamoDB to write an item that contains empty values for a list or map data type, you cannot decrypt and read that item using the .NET client-side encryption library for DynamoDB.

Installing the .NET client-side encryption library for DynamoDB

The .NET client-side encryption library for DynamoDB is available as the AWS.Cryptography.DbEncryptionSDK.DynamoDb package in NuGet. For details about installing and building the library, see the .NET README.md file in the aws-database-encryption-sdk-dynamodb repository. The .NET client-side encryption library for DynamoDB requires the AWS SDK for .NET even if you aren't using AWS Key Management Service (AWS KMS) keys. The AWS SDK for .NET is installed with the NuGet package.

Version 3.x of the .NET client-side encryption library for DynamoDB supports .NET 6.0 and .NET Framework net48 and later.

Debugging with .NET

The .NET client-side encryption library for DynamoDB does not generate any logs. Exceptions in the .NET client-side encryption library for DynamoDB generate an exception message, but no stack traces.

To help you debug, be sure to enable logging in the AWS SDK for .NET. The logs and error messages from the AWS SDK for .NET can help you distinguish errors arising in the AWS SDK for .NET from those in the .NET client-side encryption library for DynamoDB. For help with AWS SDK for .NET logging, see AWSLogging in the AWS SDK for .NET Developer Guide. (To see the topic, expand the Open to view .NET Framework content section.)