使用Ruby进行AWS程序化计费访问

时间:2013-12-19 17:23:36

标签: ruby amazon-web-services billing

在亚马逊的Programmatic Billing Access页面上,链接到示例代码和库,链接到Ruby SDK。但是,我没有提到通过Ruby SDK访问计费信息。目前有可能吗?如果没有,是否有一些使用任何AWS软件开发工具获取计费信息的示例?

修改: this question看起来很相似。我找到了this Ruby gem,但它看起来像you do the calculation yourself,所以它仍然是一个估计值。我想要特定服务器的确切成本,因此我无需跟踪影响亚马逊定价的因素。

1 个答案:

答案 0 :(得分:1)

程序化计费看起来只是将文件放入您指定的S3存储桶中。我正在等待正确格式的第一个文件显示一些计费数据,但我使用Fog gem编写了以下内容:

# Returns contents of the billing data file for the given year and month.
#
# Example:
#   csv_str = read_billing_file 2011, 1
#   csv_str = read_billing_file 2013, 12
#
def read_billing_file year, month
  connection = Fog::Storage.new(provider: 'AWS') # credentials in fog.yml
  month = "0#{month}" if month.to_s.size == 1
  regex = /aws-cost-allocation-#{year}-#{month}\.csv$/
  cost_file = connection.directories.get(S3_BUCKET).files.detect {|file|
    file.key =~ regex
  }
  return nil unless cost_file
  cost_file.body
end