Die beste Möglichkeit, Amazon AWS DynamoDB-Abfragen mit Swift durchzuführen?

8

Ich habe kürzlich das AWS-SDK für meine iOS-App implementiert, das ich in Swift entwickle. Ich habe eine Verbindung zu meiner DB-Instance-Anzeige hergestellt und kann eine Abfrageantwort erhalten, allerdings habe ich Schwierigkeiten, diese in brauchbare Daten umzuwandeln. Ich bin relativ neu in Swift, AWS und Programmierung im Allgemeinen, so dass etwas offensichtliches fehlen kann!

Mein Code ist wie folgt:

%Vor%

Und die Konsolenausgabe dafür ist:

Objekt: [{     area="{\ n S = \" West Hampstead \ "; \ n}";     name="{\ n S = \" Olly Mayes \ "; \ n}";     userid="{\ n S = \" 123456abc \ "; \ n}"; }]

Für AWS und Swift scheint verständlicherweise wenig Priorität zu haben, daher würde jede Hilfe sehr geschätzt werden!

    
ollym 16.11.2014, 15:32
quelle

1 Antwort

27

Die einfache Antwort auf Ihre Frage lautet: Konvertieren Sie die zurückgegebene JSON-Zeichenfolge in ein Dictionary-Objekt. Etwas wie das:

%Vor%

Ich möchte Sie jedoch dazu ermutigen, sich die DynamoDB-Mapper-Klasse auf höherer Ebene anzusehen Wenn Sie die DynamoDB-Mapper-Klasse verwenden, definieren Sie Ihre Datenstruktur und geben Sie sie einfach DynamoDB Mapper . Hier sehen Sie ein vollständiges Beispiel von der Tabellenerstellung bis zum Löschen der Tabelle. Im Beispiel wird die Tabelle mithilfe von DynamoDB Mapper eingefügt, entfernt, gescannt und abgefragt.

Zuerst müssen Sie das Client-SDK initialisieren

%Vor%

Dies ist nur ein Beispiel. Es ist keine gute Methode, einen Zugriffsschlüssel und einen geheimen Schlüssel in den Code einzubetten. Bewährte Methode wäre die Verwendung des AWSCognitoCredentialsProvider (lesen Sie mehr über Cognito ).

Definieren Sie eine Klasse, die Ihre Elemente in der Tabelle abbildet.

%Vor%

So erstellen Sie eine Tabelle

%Vor%

So löschen Sie eine Tabelle

%Vor%

Einfügen von Elementen

%Vor%

So laden Sie ein einzelnes Element

%Vor%

Abfrage des Hash- und Bereichsschlüssels

%Vor%

So scannen Sie Objekte (vollständige Tabellensuche)

%Vor%

Wenn Sie DynamoDB nicht in US EAST 1 verwenden, entstehen keine Kosten für die Ausführung dieses Beispiels, da es in DynamoDBs kostenlose Stufe .

    
Sébastien Stormacq 17.11.2014, 01:44
quelle