将 JSON 文件中的项目加载到 Amazon DynamoDB 表中 - 适用于 Ruby 的 AWS 开发工具包
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 JSON 文件中的项目加载到 Amazon DynamoDB 表中

以下示例将 JSON 文件 movie_data.json 中的项目添加到 us-west-2 区域的 Movies 表中。

# 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. require 'aws-sdk-dynamodb' # v2: require 'aws-sdk' require 'json' # Create dynamodb client in us-west-2 region dynamodb = Aws::DynamoDB::Client.new(region: 'us-west-2') file = File.read('.movie_data.json') movies = JSON.parse(file) movies.each{|movie| params = { table_name: 'Movies', item: movie } begin dynamodb.put_item(params) puts 'Added movie: ' + movie['year'].to_i.to_s + ' - ' + movie['title'] rescue Aws::DynamoDB::Errors::ServiceError => error puts 'Unable to add movie:' puts error.message end }

下面是加载两个电影的 JSON 文件的示例。

[ { "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" ] } }, { "year": 2015, "title": "The Big New Movie", "info": { "plot": "Nothing happens at all.", "rating": 0 } } ]

请参阅 上的完整示例JSON 文件GitHub。