2015-03-04 2 views
1

Я изучаю шеф-повар и нуждаюсь в действительно простом примере кулинарной книги/рецепта barebones, который может вызывать внешний HTTP API (GET/POST) и помещать содержимое в файл. Я просмотрел кулинарные книги сообщества, но все они кажутся чрезмерными для обучения и пытаются понять, что происходит, и, естественно, большинство из них, похоже, сосредоточено на установке пакетов. Кто-нибудь что-нибудь я могу использовать здесь :)Пример Chef HTTP GET/POST Cookbook

ответ

3

Вы можете использовать remote_file ресурс для ваших нужд, например:

remote_file "/tmp/testfile" do 
    source "http://www.example.com/tempfiles/testfile" 
    mode '0644' 
    checksum "3a7dac00b1" # A SHA256 (or portion thereof) of the file. 
end 
  • "/ TMP/TestFile" - место, где будет сохранен файл

  • "http://www.example.com/tempfiles/testfile" - местоположение источника

  • и "Режим" "контрольная сумма" - не обязательно, но это рекомендуется


Вы можете увидеть его в действии с nginx community cookbook:

nginx_url = node['nginx']['source']['url'] || 
     "http://nginx.org/download/nginx-#{node['nginx']['source']['version']}.tar.gz" 

src_filepath = "#{Chef::Config['file_cache_path'] || '/tmp'}/nginx-#{node['nginx']['source']['version']}.tar.gz" 

.... 

remote_file nginx_url do 
    source nginx_url 
    checksum node['nginx']['source']['checksum'] 
    path  src_filepath 
    backup false 
end 

Подробнее об этом построен в ресурсе вы можете find here.

Смежные вопросы