Amazon S3

Aws::S3::Client.copy_object の copy_source は、URL encode されていなければならない

例えば、バケットからバケットへオブジェクトをコピーするときに、 `The specified key does not exist.` とエラーが出る場合がありました。 client = Aws::S3::Client.new client.copy_object( bucket: out_bucket_name, copy_source: src_bucket_name + '/…

AWS 利用時に、HTTPS 通信する方法いくつか

ドメイン認証でよいのであれば、https で通信する時は、AWS Certificate Managerで証明書を取得し、CloudFront で選択すれば良いが、いろんな条件でそれが出来ないことがあるため、そのときの対処方法と問題点です。 AWS Certificate Manager で、CNAME を利…

Cloudn の Object Strage を PHP で S3 の代わりに使用する

composer で S3 の ライブラリを取得する $ curl -sS https://getcomposer.org/installer | php $ vi composer.json { "require": { "aws/aws-sdk-php": "*" } }$ php composer.phar install 利用する $ vi hoge.php

アプリケーションで認証後にS3のコンテンツを返す PHP

Cloudn の Object Storage を Rails の Carrierwave で S3 の代わりに使用する

endpoint を定義すれば良い。 設定ファイルを独自に作成。 管理コンソールの、アカウント / セキュリティー証明書 の所に、 アクセスキーIDとシークレットキーは書かれている。自分は以下のように定義して使用しています。$ vi config/carrierwave.yml devel…

アプリケーションで認証後にS3のコンテンツを返す

Rails の controller 側 class DownloadController < ApplicationController def action # 認証処理 ... resource_id = 2 resource = Resource.find resource_id response.header['X-Accel-Redirect'] = '/reproxy' response.header['X-Reproxy-URL'] = reso…