Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Arbeiten mit dem.NET-Objektpersistenzmodell und DynamoDB

Fokusmodus
Arbeiten mit dem.NET-Objektpersistenzmodell und DynamoDB - Amazon-DynamoDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Das AWS SDK for .NET bietet ein Objektpersistenzmodell, mit dem Sie Ihre clientseitigen Klassen Amazon DynamoDB-Tabellen zuordnen können. Die einzelnen Objekt-Instances werden anschließend einem Element in den entsprechenden Tabellen zugeordnet. Zum Speichern der clientseitigen Objekte in den Tabellen stellt das Object-Persistence-Modell die Klasse DynamoDBContext bereit, einen Eintrittspunkt für DynamoDB. Mit dieser Klasse verfügen Sie über eine Verbindung zu DynamoDB, können auf Tabellen zugreifen und verschiedene CRUD-Operationen sowie Abfragen ausführen.

Das Object Persistence-Modell stellt eine Reihe von Attributen bereit, mit deren Hilfe clientseitige Klassen den Tabellen zugeordnet und Eigenschaften/Felder den Tabellenattributen zugeordnet werden können.

Anmerkung

Das Object Persistence-Modell stellt keine API zum Erstellen, Aktualisieren oder Löschen von Tabellen bereit. Es stellt ausschließlich Datenoperationen bereit. Sie können nur die AWS SDK for .NET Low-Level-API verwenden, um Tabellen zu erstellen, zu aktualisieren und zu löschen.

Das folgende Beispiel zeigt, wie das Object Persistence-Modell funktioniert. Es wird mit der Tabelle ProductCatalog gestartet. Es besitzt Id als Primärschlüssel.

ProductCatalog(Id, ...)

Angenommen, Sie besitzen die Klasse Book mit den Eigenschaften Title, ISBN und Authors. Sie können die Klasse Book der Tabelle ProductCatalog zuordnen, indem Sie die durch das Object Persistence-Modell definierten Attribute hinzufügen wie im folgenden C#-Codeausschnitt gezeigt.

Beispiel
[DynamoDBTable("ProductCatalog")] public class Book { [DynamoDBHashKey] public int Id { get; set; } public string Title { get; set; } public int ISBN { get; set; } [DynamoDBProperty("Authors")] public List<string> BookAuthors { get; set; } [DynamoDBIgnore] public string CoverPage { get; set; } }

Im vorherigen Beispiel ordnet das Attribut DynamoDBTable die Klasse Book der Tabelle ProductCatalog zu.

Das Object Persistence-Modell unterstützt die explizite und das Standardmapping zwischen Klasseneigenschaften und Tabellenattributen.

  • Explizites Mapping – Um eine Eigenschaft einem Primärschlüssel zuzuordnen, müssen Sie die DynamoDBHashKey- und DynamoDBRangeKey-Attribute des „Object-Persistence“-Modells verwenden. Außerdem gilt für andere als Primärschlüsselattribute, dass Sie das Mapping durch explizites Hinzufügen des Attributs DynamoDBProperty definieren müssen, wenn der Name einer Eigenschaft in Ihrer Klasse und des Tabellenattributs, dem Sie diese zuordnen möchten, nicht identisch sind.

    Im vorherigen Beispiel werden die Eigenschaft Id dem Primärschlüssel mit dem gleichen Namen und die Eigenschaft BookAuthors dem Attribut Authors in der Tabelle ProductCatalog zugeordnet.

  • Standard-Mapping – Standardmäßig ordnet das „Object Persistence“-Modell die Klasseneigenschaften den Attributen mit identischem Namen in der Tabelle zu.

    Im vorherigen Beispiel werden die Eigenschaften Title und ISBN den Attributen mit den gleichen Namen in der Tabelle ProductCatalog zugeordnet.

Sie müssen nicht jede einzelne Klasseneigenschaft zuordnen. Sie erkennen diese Eigenschaften, indem Sie das DynamoDBIgnore-Attribut hinzufügen. Wenn Sie eine Book-Instance in die Tabelle hochladen, enthält der DynamoDBContext nicht die CoverPage-Eigenschaft. Diese Eigenschaft wird auch nicht zurückgegeben, wenn Sie die Book-Instance abrufen.

Sie können Eigenschaften von primitiven .NET-Typen wie „int“ und „string“ zuweisen. Sie können auch beliebige Datentypen zuordnen, solange Sie einen geeigneten Konverter bereitstellen, um diese Datentypen einem DynamoDB-Datentyp zuzuordnen. Weitere Informationen zum Mapping beliebiger Datentypen finden Sie unter Zuordnen beliebiger Daten mit DynamoDB mithilfe des AWS SDK for .NET Objektpersistenzmodells.

Das Object Persistence-Modell unterstützt die optimistische Sperre. Während einer Aktualisierung stellt diese Funktion sicher, dass Sie über die neueste Kopie des zu aktualisierenden Elements verfügen. Weitere Informationen finden Sie unter Optimistisches Sperren mit DynamoDB und dem AWS SDK for .NET Objektpersistenzmodell.

Weitere Informationen finden Sie in den folgenden Themen.

Unterstützte Datentypen

Das Object Persistence-Modell unterstützt eine Reihe primitiver .NET-Datentypen, Sammlungen sowie beliebiger Datentypen. Das Modell unterstützt die folgenden primitiven Datentypen.

  • bool

  • byte

  • char

  • DateTime

  • decimal

  • double

  • float

  • Int16

  • Int32

  • Int64

  • SByte

  • string

  • UInt16

  • UInt32

  • UInt64

Das Objektpersistenzmodell unterstützt auch die.NET-Sammlungstypen. DynamoDBContextist in der Lage, konkrete Sammlungstypen und einfache Plain Old CLR-Objekte () POCOs zu konvertieren.

In der folgenden Tabelle ist das Mapping der vorhergehenden .NET-Typen zu den DynamoDB-Typen zusammengefasst.

.NET-primitiver Typ DynamoDB-Typ

Alle Zahlentypen

N (Zahlentyp)

Alle Zeichenfolgetypen

S (Zeichenfolgetyp)

MemoryStream, Byte []

B (Binärtyp)

bool N (Zahlentyp) 0 repräsentiert False und 1 steht für True.
Sammlungstypen BS-(Binärsatz)-Typ, SS-(Zeichenfolgesatz)-Typ und NS-(Zahlensatz)-Typ.
DateTime S (Zeichenfolgetyp). Die DateTime-Werte werden als ISO-8601-formatierte Zeichenfolgen gespeichert.

Das Object Persistence-Modell unterstützt außerdem beliebige Datentypen. Allerdings müssen Sie einen Konverter-Code bereitstellen, um die komplexen Typen den DynamoDB-Typen zuzuordnen.

Anmerkung
  • Leere Binärwerte werden unterstützt.

  • Das Lesen von leeren Zeichenfolgenwerten wird unterstützt. Leere Zeichenfolgen-Attributwerte werden beim Schreiben zu DynamoDB in Attributwerten vom Typ Zeichenfolgensatz unterstützt. Leere Zeichenfolgen-Attributwerte des Zeichenfolgentyps und leere Zeichenfolgenwerte innerhalb des Listen- oder Map-Typs werden aus Schreibanforderungen gelöscht.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.