There is an Nginx server acting as a proxy in front of Riak CS. There is not a problem listing all the users with Fog::RiakCS::Provisioning.new but usage (Fog::RiakCS::Usage.new) with the same configuration has an Access Denied error.
-- Michael Holt From: Tom Santero [mailto:tsant...@basho.com] Sent: Monday, April 08, 2013 5:41 PM To: Michael Holt Cc: riak-users@lists.basho.com Subject: Re: Using Fog with Ruby Hi Michael, You have port 80 listed in configuration, default port is 8080. Tom On Mon, Apr 8, 2013 at 5:35 PM, Michael Holt <mah...@nla.com<mailto:mah...@nla.com>> wrote: I have a small script that I am trying to set up that can read usage stats in Ruby Fog. The script is largely pieced together from examples from the Basho site and Fog github project. The script is below. The issue I am running into is the following error: <Error> <Code>AccessDenied</Code> <Message>Access Denied</Message> <Resource>/riak-cs/usage/OJIPWXM698VYGEMGZLIV/bx/20130401T000000Z/20130430T235959Z.abj.20130407T213209Z.20130408T213209Z</Resource> <RequestId></RequestId> </Error> The list user (users = provisioning.list_users.body) works. The key and secret is for the admin user. Why would I get an Access Denied for the admin user? --------------RUBY CODE------------- require 'rubygems' require 'fog' def show_usage(usage, key) utilization = usage.get_usage( "/usage/#{key}", :types => [:access, :storage] ) objects = 0 bytes = 0 # Retrieve Storage information utilization.body['Storage']['Samples'][0].each do |k,v| # Sum the # of objects and bytes stored from each user bucket for per tenant totals if v.is_a?(Hash) # To ignore StartTime & EndTime objects += v['Objects'] bytes += v['Bytes'] end end puts " showUsage objects: #{objects}" puts " showUsage bytes: #{bytes}" end configuration = { :riakcs_access_key_id => "OJIPWXM698VYGEMGZLIV", :riakcs_secret_access_key => "fTbOq8WIBiHrUnHxBgRLDIOyo4yK2Qysrx3vjA==", :host => 'localhost', :port => 80, :scheme => "http" } Excon.defaults[:ssl_verify_peer] = false # Requests for User Provision and Usage information provisioning = Fog::RiakCS::Provisioning.new(configuration) usage = Fog::RiakCS::Usage.new(configuration) users = provisioning.list_users.body # The following block of code displays all available information for every user users.each do | user | utilization = usage.get_usage("/usage/#{user['key_id']}/bx/20130401T000000Z/20130430T235959Z", :types => [:access, :storage]) puts "§=================================================================================§" puts " name: #{user['name']}" puts " display_name: #{user['display_name']}" puts " email: #{user['email']}" puts " id: #{user['id']}" puts " key_id: #{user['key_id']}" puts " key_secret: #{user['key_secret']}" puts " status: #{user['status']}" show_usage usage, user['key_id'] end puts "§=================================================================================§" -- Michael Holt _______________________________________________ riak-users mailing list riak-users@lists.basho.com<mailto:riak-users@lists.basho.com> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com -- @tsantero<https://twitter.com/#!/tsantero> Technical Evangelist Basho Technologies 347-571-3995
_______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com