2016-09-30 1 views
0

ec2 인스턴스의 s3에서 파일을 다운로드하려고하는데 오류가 발생합니다. 키를 제공하는 databag 항목 인 access.json을 만들었습니다.Chef recipe NoMethodError Chef :: Resource :: S3File에 대한 액세스가 정의되지 않았습니다.

================================================================================ 
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는 다음 줄에

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 

답변

0

을하는 databag 항목이

실제 조리법입니다 도와주세요 :

aws_access_key_id access.json['aws_access_key_id'] 

을 어딘가에 access라는 이름의 변수가있다?

데이터 백 항목을 검색하고 있지만 ws이라는 변수에 저장하고 있습니다. 이 경우 다음과 같이 위의 행 (및 다음 행)을 바꿀 수 있습니다.

aws_access_key_id ws['aws_access_key_id'] 
aws_secret_access_key ws['aws_secret_access_key'] 
+0

답장을 보내 주셔서 감사합니다. NoMethodError ------------- 정의되지 않은 메서드'지역 '요리사 :: 자원 :: S3File 나는 그것이 다음 오류 아래주고 제거하는 경우에 대한 : 지금은 오류 아래에 제공 RestClient :: ResourceNotFound ---------------------------- 404 리소스를 찾을 수 없음 – Dave

+0

's3_file' 쿡북은' region' 속성을 사용하므로 S3 또는 잘못된 자격 증명에 대한 권한이있는 오류 일 수 있습니다. [s3_file 요리 책에 대한 문서] (https://supermarket.chef.io/cookbooks/s3_file)를 읽는 것이 좋습니다. – vase