Chef 12 + AWS Opsworks + Развертывание приложения из s3

Мне нужно было настроить процесс развертывания с помощью AWS Opsworks. Я создал свой стек и добавил соответствующие слои. Я настроил свое приложение, которое в основном представляет собой военный архив, хранящийся в ведре s3.

Когда я запускаю событие развертывания для приложения, мой рецепт выполняется, но проблема в том, что я получаю URL-адрес s3. Не существует официального aws sdk, который поддерживает копирование файлов s3 с использованием URL-адреса s3.

Один из способов, которым я могу разделить URL-адрес и получить от него ключ ведра и регион, и использовать его с aws sdk. Но как правильно это сделать. Есть ли другая библиотека, которую я могу использовать.

Задавая этот вопрос, чтобы понять, как правильно это сделать.


person Ysak    schedule 06.08.2016    source источник


Ответы (2)


Глядя на поваренную книгу s3_file, вы действительно можете указать полный URL-адрес s3:

s3_file "/tmp/somefile" do
    remote_path "/my/s3/key"
    bucket "my-s3-bucket"
    aws_access_key_id "mykeyid"
    aws_secret_access_key "mykey"
    s3_url "https://s3.amazonaws.com/bucket"
    owner "me"
    group "mygroup"
    mode "0644"
    action :create
    decryption_key "my SHA256 digest key"
    decrypted_file_checksum "SHA256 hex digest of decrypted file"
end
person littlebridge    schedule 16.10.2016

AWS ведет кулинарную книгу для интеграции с различными сервисами. Ресурс s3_file должен быть в состоянии выполнить то, что вам нужно. Вот пример из их readme:

aws_s3_file '/tmp/foo' do
  bucket 'i_haz_an_s3_buckit'
  remote_path 'path/in/s3/bukket/to/foo'
  aws_access_key aws['aws_access_key_id']
  aws_secret_access_key aws['aws_secret_access_key']
  region 'us-west-1'
end

Вы можете включить это в свою кулинарную книгу, добавив ее в качестве зависимости в файле metadata.rb (убедитесь, что у вас загружена кулинарная книга и указан путь к вашим локальным кулинарным книгам).

person justMiles    schedule 08.08.2016
comment
Можете ли вы использовать URL-адрес s3 с этим ?? - person Ysak; 09.08.2016