[ruby-list:46492] amazon-ecs + ruby-aaws

View: New views
4 Messages — Rating Filter:   Alert me  

[ruby-list:46492] amazon-ecs + ruby-aaws

by Toshiyasu Soejima :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

そえじま@勉強中です。

ネットから以下のようなサンプルコードを拾ってきて実行してみたのですが
エラーがでてしまいます。

require 'rubygems'
require 'amazon/ecs'

Amazon::Ecs.options = {
:aWS_access_key_id => ["xxxxxxxxxxxxxxxxxxx"], # Your Access Key ID
:country => :jp,
:secret_access_key => "xxxxxxxxxxxxxxxxxxxxxx"
}

Amazon::Ecs.debug = true

res = Amazon::Ecs.item_search('Ruby', {
:search_index => 'Books', :response_group => 'Medium', :sort => 'salesrank'
})

res.items.each do |item|
puts item.get('title')
end

##### Error

>ruby amazon_search_sample.rb
/home/clev/.gem/ruby/1.8/gems/amazon-ecs-0.5.7/lib/amazon/ecs.rb:116:in
`send_request': HTTP Response: 400 Bad Request (Amazon::RequestError)
from
/home/clev/.gem/ruby/1.8/gems/amazon-ecs-0.5.7/lib/amazon/ecs.rb:93:in
`item_search'

#####

で、このソースで生成されたRESTをダイレクトにブラウザに張り付けると、

<ItemSearchErrorResponse xmlns="http://ecs.amazonaws.com/doc/2005-10-05/"><Error><Code>MissingParameter</Code><Message>The request must contain the parameter Signature.</Message></Error><RequestID>38b3ffe0-58e3-4590-8234-e441dae6623f</RequestID></ItemSearchErrorResponse>

となってしまい、:secret_access_key が指定されていないかのようになって
しまいます。

どなたかご存知の方、ご教示いただけると助かります。
よろしくお願いいたします。m(__)m

Ubuntu 9.04
Ruby 1.8.7
amazon-ecs 0.5.7
ruby-aaws 0.7.0







[ruby-list:46495] Re: amazon-ecs + ruby-aaws

by Toshiyasu Soejima :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

そえじま@勉強中です。

追記です。すいませんがご教示いただけると幸いです。

> /home/clev/.gem/ruby/1.8/gems/amazon-ecs-0.5.7/lib/amazon/ecs.rb:116:in
> `send_request': HTTP Response: 400 Bad Request (Amazon::RequestError)
> from
> /home/clev/.gem/ruby/1.8/gems/amazon-ecs-0.5.7/lib/amazon/ecs.rb:93:in
> `item_search'
>
>  
ここでecs.rbを眺めていたんですが、試しにlocateで調べてみたら

clev@ubuntu-core2:~/Ruby$ locate ecs.rb
/home/clev/.gem/ruby/1.8/gems/amazon-ecs-0.5.7/lib/amazon/ecs.rb
/home/clev/.gem/ruby/1.8/gems/willnet-amazon-ecs-0.5.6/lib/amazon/ecs.rb
/var/lib/gems/1.8/gems/willnet-amazon-ecs-0.5.6/lib/amazon/ecs.rb

となっており、ecs.rb が複数存在するで、:secret_access_key をエンコード
しているのは、"willnet-amazon-ecs-0.5.6" の方みたいだという気がしています。

なので、

gem uninstall amazon-ecs

としたのですが、uninstallしてもらえません。
この見当自体外れているのかもしれないんですが、試しに消してみるか
参照先を変更するにはどうすればいいでしょうか?

初歩的な質問かもしれませんが、お叱りは覚悟しておりますので
よろしくお願いいたします。m(__)m




[ruby-list:46496] Re: amazon-ecs + ruby-aaws

by Eito Katagiri-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

そえじまさん

かたぎりと申します。


原因は、secret keyを指定するキーの名前が違うためだと思います。
amazon-ecs-0.5.7のREADMEを見ると

  # to generate signed requests include your secret key:
  Amazon::Ecs.options = {:aWS_access_key_id => [your developer token],
:aWS_secret_key => [your secret access key]}

と記述されているので、前のメールのコードは、

  Amazon::Ecs.options = {
    :aWS_access_key_id => ["xxxxxxxxxxxxxxxxxxx"], # Your Access Key ID
    :country => :jp,
    :aWS_secret_key => ["xxxxxxxxxxxxxxxxxxxxxx"]
  }

のようになると思います。

2009/10/28 T.Soejima <clev@...>:
> gem uninstall amazon-ecs
>
> としたのですが、uninstallしてもらえません。
> この見当自体外れているのかもしれないんですが、試しに消してみるか
> 参照先を変更するにはどうすればいいでしょうか?

よく分かりませんが、エラーメッセージなどは出力されましたか?
willnet-amazon-ecs-0.5.6をuninstallしたいのであれば、

  gem uninstall willnet-amazon-ecs

な感じだと思います。


以上、宜しくお願いします。


[ruby-list:46497] Re: amazon-ecs + ruby-aaws

by Toshiyasu Soejima :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

かたぎり様。

そえじまです。
お忙しいところ、本当にありがとうございました。m(__)m
無事にサンプルコードが実行できました。

> 原因は、secret keyを指定するキーの名前が違うためだと思います。
> amazon-ecs-0.5.7のREADMEを見ると
>
>   # to generate signed requests include your secret key:
>   Amazon::Ecs.options = {:aWS_access_key_id => [your developer token],
>  
くぅ・・・Readmeをちゃんと読まないのが原因ですね。
申し訳ありませんでした。

> よく分かりませんが、エラーメッセージなどは出力されましたか?
> willnet-amazon-ecs-0.5.6をuninstallしたいのであれば、
>
>   gem uninstall willnet-amazon-ecs
>
> な感じだと思います。
>
>  
ありがとうございます。
ちょっといろいろ試してみます。とりあえずペンディングなんですが・・・