我需要使用AWS Opsworks设置部署过程。我创建了我的堆栈并添加了各自的图层。我已经配置了我的应用程序,基本上是存储在s3存储桶中的war存档
当我触发应用程序的部署事件时,我的配方正在执行,但问题是我得到了一个s3网址。没有正式的aws sdk使用s3 url支持s3文件复制。
我可以分割网址并从中获取存储桶密钥和区域的一种方法,并可以将其与aws sdk一起使用。但是这样做的正确方法是什么。有没有其他我可以使用的图书馆。
提出这个问题,以了解做正确的程序是什么。
答案 0 :(得分:0)
查看s3_file cookbook,您确实可以指定一个完整的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
答案 1 :(得分:-1)
AWS维护着一本与其各种服务集成的食谱。 s3_file
资源应该能够满足您的需求。以下是他们自述文件的一个例子:
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
您可以将它作为依赖项添加到您的cookbook中来包含在您的cookbook中(确保您已下载食谱并在当地的cookbook路径中)。