2017-05-21 3 views
0

Ich versuche, ein Bild in einer Tabelle in Dynamodb erstellt. Die Tabelle hat nur eine Spalte namens name, in der die Namen der Bilder gespeichert werden.Wie kann ich ein Bild in dynamodb mit Python speichern?

Ich kann keinen Weg finden, die Tabelle zu bearbeiten, um eine andere Spalte aufzunehmen, um das Bild zu speichern, noch kann ich eine Möglichkeit finden, das Bild in Dynamodb-Tabelle zu setzen.

Ich benutze Python. Jede Hilfe wird geschätzt.

+0

Mit Ihnen Tabellenstruktur Sie den Namen des Bildes speichern kann, das ist es, keine zusätzlichen Daten. In den meisten Fällen ist eine einzelne Spalten-Datenbanktabelle weniger nützlich als andere. –

+0

Wenn ich aus aws eine Tabelle erstelle, habe ich keine Chance, eine andere Spalte zu erstellen ... ich kann später keine Spalten hinzufügen ... wie lege ich ein Bild in eine Tabelle von aws dynamodb ein? – ark

+0

Ich denke, Sie müssen in keine SQL-Datenbank und dynamodb tauchen. Das Konzept unterscheidet sich sehr von der traditionellen Datenbank. Der Ausgangspunkt ist die Dokumentation von Amazon. –

Antwort

0

Die maximale Artikelgröße in DynamoDB beträgt 400 KB. DynamoDB ist nicht die richtige Lösung, wenn Sie Bilder speichern möchten, die größer als 400 KB sind. http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html#limits-items

Sie können das Bild in S3 speichern und den entsprechenden S3-Schlüsselnamen in DynamoDB speichern. Speichern Sie den S3-Schlüsselname als neues Attribut in Ihrer DynamoDB-Tabelle für S3-Schlüsselname.

DynamoDB ist schemafrei und Sie können unterwegs weitere Attribute hinzufügen. Probieren Sie es in der AWS-Konsole aus.

Schauen Sie auch in diesem doc für DynamoDB Best Practices http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html

+0

Hallo, wenn Ich versuche, ein Bild tinto eine dynamodb Tabelle on the fly setzen ich bekomme den folgenden Fehler: "UnicodeDecodeError: 'utf8' Codec kann Byte 0x89 in Position 0 nicht dekodieren: ungültiges Startbyte" ... was ich im Grunde tun möchte ist ein Bild als ein Objekt in der dynamodb speichern – ark

+0

ok finaaly meine Lösung: Ich speicherte die Bilder in aws s3 und gespeichert den Link der gleichen in dynamodb.dieser Link auf Zugriff dient mir mit dem Bild von s3. – ark

Verwandte Themen