Amazon DynamoDB
Guía para desarrolladores (Versión de API 2012-08-10)

Paso 2: Carga de datos de ejemplo

En este paso, se rellena la tabla Movies con ejemplos de datos.

Usará un ejemplo de archivo de datos que contiene información sobre varios miles de películas de IMDb (Internet Movie Database). Los datos de las películas se encuentran en formato JSON, tal y como se muestra en el siguiente ejemplo. Para cada película, se indican el año, year, el título, title y un mapa JSON denominado info.

[ { "year" : ... , "title" : ... , "info" : { ... } }, { "year" : ..., "title" : ..., "info" : { ... } }, ... ]

En los datos de JSON, tenga en cuenta lo siguiente:

  • year y title se utilizan como valores de atributos de clave principal de la tabla Movies.

  • El resto de los valores info se almacenan en un único atributo denominado info. Este programa ilustra cómo almacenar JSON en un atributo de Amazon DynamoDB.

A continuación, se muestra un ejemplo de datos de películas.

{ "year" : 2013, "title" : "Turn It Down, Or Else!", "info" : { "directors" : [ "Alice Smith", "Bob Jones" ], "release_date" : "2013-01-18T00:00:00Z", "rating" : 6.2, "genres" : [ "Comedy", "Drama" ], "image_url" : "http://ia.media-imdb.com/images/N/O9ERWAU7FS797AJ7LU8HN09AMUP908RLlo5JF90EWR7LJKQ7@@._V1_SX400_.jpg", "plot" : "A rock band plays their music at high volumes, annoying the neighbors.", "rank" : 11, "running_time_secs" : 5215, "actors" : [ "David Matthewman", "Ann Thomas", "Jonathan G. Neff" ] } }

Paso 2.1: Descargar el ejemplo de archivo de datos

  1. Descargue el archivo de datos de ejemplo: moviedata.zip

  2. Extraiga el archivo de datos (moviedata.json) del archivo comprimido.

  3. Copie y pegue el archivo moviedata.json en el directorio actual.

Paso 2.2: Cargar los ejemplos de datos en la tabla Movies

Después de descargar los datos de ejemplo, puede ejecutar el programa siguiente para rellenar la tabla Movies.

  1. Copie el siguiente programa y péguelo en un archivo llamado MoviesLoadData.js.

    /** * Copyright 2010-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * This file is licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. A copy of * the License is located at * * http://aws.amazon.com/apache2.0/ * * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ var AWS = require("aws-sdk"); var fs = require('fs'); AWS.config.update({ region: "us-west-2", endpoint: "http://localhost:8000" }); var docClient = new AWS.DynamoDB.DocumentClient(); console.log("Importing movies into DynamoDB. Please wait."); var allMovies = JSON.parse(fs.readFileSync('moviedata.json', 'utf8')); allMovies.forEach(function(movie) { var params = { TableName: "Movies", Item: { "year": movie.year, "title": movie.title, "info": movie.info } }; docClient.put(params, function(err, data) { if (err) { console.error("Unable to add movie", movie.title, ". Error JSON:", JSON.stringify(err, null, 2)); } else { console.log("PutItem succeeded:", movie.title); } }); });
  2. Para ejecutar el programa, introduzca el siguiente comando.

    node MoviesLoadData.js