AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

A specialized type that is used to carry open content. A Amazon.Runtime.Documents.Document can represent primitives like System.Boolean, System.Double System.Int32, System.Int64 and System.String, complex objects (represented as a Dictionary) and lists of Amazon.Runtime.Documents.Document.

When working with a Amazon.Runtime.Documents.Document it's necessary to first convert it to its backing type via one of the provided AsX() methods. Type checking can be done via IsX() method.

public void ConsumeDocument(Document doc)
{
   if (doc.IsInt())
   {
      int intValue = doc.AsInt();
      // do work with intValue
   }
   else if (doc.IsString())
   {
      string stringValue = doc.AsString();
      // do work with stringValue
   }
}
            

Inheritance Hierarchy

System.Object
  System.ValueType
    Amazon.Runtime.Documents.Document

Namespace: Amazon.Runtime.Documents
Assembly: AWSSDK.Core.dll
Version: 3.x.y.z

Syntax

C#
public sealed struct Document : ValueType
         IEnumerable, IEnumerable<Document>, IEnumerable<KeyValuePair<String, Document>>, IEquatable<Document>

The Document type exposes the following members

Constructors

Properties

NameTypeDescription
Public Property Type Amazon.Runtime.Documents.DocumentType

Methods

Note:

Asynchronous operations (methods ending with Async) in the table below are for .NET 4.5 or higher. For .NET 3.5 the SDK follows the standard naming convention of BeginMethodName and EndMethodName to indicate asynchronous operations - these method pairs are not shown in the table below.

NameDescription
Public Method Add(Document)

This method is meant to support Collection Initializers and should not be used directly. Use Amazon.Runtime.Documents.Document.AsList.Add() instead.

Supports:

request.Document = new Document
{
    "foo", "bar", "baz"
};
            

Public Method Add(string, Document)

This method is meant to support Collection Initializers and should not be used directly. Use Amazon.Runtime.Documents.Document.AsDictionary.Add() instead.

Supports:

request.Document = new Document
{
    {"foo", 42},
    {"bar", 12},
    {"baz", true}
};
            

Public Method AsBool()

Returns the Document's backing value as a System.Boolean.

Public Method AsDictionary()

Returns the Document's backing value.

Public Method AsDouble()

Returns the Document's backing value as a System.Double.

Public Method AsInt()

Returns the Document's backing value as a System.Int32.

Public Method AsList()

Returns the Document's backing value as a System.Collections.Generic.List`1.

Public Method AsLong()

Returns the Document's backing value as a System.Int64.

Public Method AsString()

Returns the Document's backing value as a System.String.

Public Method Static Method FromObject(object)

Convenience method for generating Amazon.Runtime.Documents.Document objects from a strongly typed or anonymous object.

var document = Document.FromObject(new {
   Hello = "World",
   Nested = new {
      Example = true,
      Number = 42
   }
});
             
This method uses reflection to analyze o and is therefor not intended for performance critical work. Additionally, if o is a known primitive (ie System.Int32), using a Amazon.Runtime.Documents.Document constructor directly will be more performant.

Public Method IsBool()

Returns true if Amazon.Runtime.Documents.Document.Type is Amazon.Runtime.Documents.DocumentType.Bool

Public Method IsDictionary()

Returns true if Amazon.Runtime.Documents.Document.Type is Amazon.Runtime.Documents.DocumentType.Dictionary

Public Method IsDouble()

Returns true if Amazon.Runtime.Documents.Document.Type is Amazon.Runtime.Documents.DocumentType.Double

Public Method IsInt()

Returns true if Amazon.Runtime.Documents.Document.Type is Amazon.Runtime.Documents.DocumentType.Int

Public Method IsList()

Returns true if Amazon.Runtime.Documents.Document.Type is Amazon.Runtime.Documents.DocumentType.List

Public Method IsLong()

Returns true if Amazon.Runtime.Documents.Document.Type is Amazon.Runtime.Documents.DocumentType.Long

Public Method IsNull()

Returns true if Amazon.Runtime.Documents.Document.Type is Amazon.Runtime.Documents.DocumentType.Null

Public Method IsString()

Returns true if Amazon.Runtime.Documents.Document.Type is Amazon.Runtime.Documents.DocumentType.String

Remarks

Document Types specification specifies support for arbitrary precision integers. However, the dotnet implementation is limited to representing numbers as either System.Double, System.Int32 or System.Int64.

Version Information

.NET:
Supported in: 8.0 and newer, Core 3.1

.NET Standard:
Supported in: 2.0

.NET Framework:
Supported in: 4.5 and newer, 3.5