0
私はec2インスタンスのs3からファイルをダウンロードしようとしています。私はキーを与えるdatabag項目access.jsonを作成しました。シェフのレシピNoMethodError Chef :: Resource :: S3Fileのための未定義メソッド `access '
aws_access_key_id access.json['aws_access_key_id']
access
どこかという名前の変数がある:
================================================================================
Recipe Compile Error in /var/chef/cache/cookbooks/s3_file/recipes/default.rb
================================================================================
NoMethodError
-------------
undefined method `access' for Chef::Resource::S3File
Cookbook Trace:
---------------
/var/chef/cache/cookbooks/s3_file/recipes/default.rb:13:in `block in from_file'
/var/chef/cache/cookbooks/s3_file/recipes/default.rb:10:in `from_file'
Relevant File Content:
----------------------
/var/chef/cache/cookbooks/s3_file/recipes/default.rb:
6: #
7: # All rights reserved - Do Not Redistribute
8: #
9: ws = data_bag_item('cred1', 'access.json')
10: s3_file 'xxxxxxxxxxx' do
11: bucket 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
12: remote_path 'xxxxxxxxxxxxxxxxxxxx'
13>> aws_access_key_id access.json['aws_access_key_id']
14: aws_secret_access_key access.json['aws_secret_access_key']
15: region 'us-west-1'
16: owner "root"
17: group "root"
18: mode 0777
19: end
20:
21:
access.jsonがdatabag項目
実際のレシピは次の行に
ws = data_bag_item('cred1', 'access.json')
s3_file 'xxxxxxxxx' do
bucket 'xxxxxxxxxxxxxxx'
remote_path 'xxxxxxxxxxxx'
aws_access_key_id access.json['aws_access_key_id']
aws_secret_access_key access.json['aws_secret_access_key']
region 'us-west-1'
owner "root"
group "root"
mode 0777
end
ありがとうございます。今、そのは、エラーの下に与える:私はそれを削除した場合 はNoMethodError -------------シェフのための 未定義のメソッド '地域」::リソース:: S3File それはエラーの下に与えている。 RestClient :: ResourceNotFound ---------------------------- 404リソースが見つかりません – Dave
's3_file' cookbookは' region'属性を使用している可能性があります。これは、S3の権限や不正な資格情報でエラーが発生する可能性があります。 [s3_file cookbookの文書](https://supermarket.chef.io/cookbooks/s3_file)を読むことをお勧めします。 – vase