亚马逊AWS官方博客

OpenSource | 现已推出 aws-record-generator gem 开发人员预览版

aws-record-generator

我们非常高兴地宣布 aws-record-generator gem 现已推出开发人员预览版,可供您试用。此 gem 允许您通过 Rails 命令行生成所有的 aws-record 模型,我们预计这将极大地简化新项目的设置时间!

什么是 aws-record-generator?

Aws-record-generator 依赖于 Rails,它提供可以创建 aws-record 合规模型的命令行生成器。

使用 aws-record-generator

您可以在 gem 安装中包含 –pre 旗标,从而从 RubyGems 下载 aws-record-generator gem:

gem install 'aws-record-generator' --pre

此外,您还可以将它包含在您的 Gemfile 中。目前还不包含版本锁,因此捆绑包可能会找到发布前的版本:

# Gemfile
gem 'aws-record-generator'

生成模型

模型的生成可以通过 Rail 命令行来调用,例如:

rails g aws_record:model Dog name:hkey weight:int --table-config=primary:7-2 --required=name weight

有关有效参数的更多信息请参阅我们的 GitHub 存储库。以上命令会生成:

# app/models/dog.rb

require 'aws-record'

class Dog
  include Aws::Record

  string_attr :name, hash_key: true
  integer_attr :weight
  validates_presence_of :name, :weight
end
# db/table_config/dog_config.rb

require 'aws-record'

module ModelTableConfig
  def self.config
    Aws::Record::TableConfig.define do |t|
      t.model_class Dog

      t.read_capacity_units 7
      t.write_capacity_units 2
    end
  end
end

TableConfigurations 可以使用提供的 Rake 任务 aws_record:migrate 来运行,它会将 db/table_config 中的所有配置迁移到 DynamoDB。请注意生成的 aws-record 模型目前还不兼容 rails 支架。

行动起来吧!

请下载 Gem,试一试,然后告诉我您的意见。此项目正在进行中,因此我们欢迎提出功能请求、漏洞报告、以及您希望使用此 Gem 解决的问题类型信息。此外,与我们提供的其他开发工具包和工具一样,我们非常欢迎看到贡献。您可以在 GitHub 上找到 aws-record-generator-rails 项目。请联系并告诉我们您的意见!