require 'aws-sdk' client = Aws::S3::Client.new( :region => 'region', :access_key_id => 'xxxxxx', :secret_access_key => 'xxxxxx', )
![AWS SDK for Ruby V2でS3をいろいろ使う - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/35a65a5f52acf625e2e7393a111a14eaea992dad/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9QVdTJTIwU0RLJTIwZm9yJTIwUnVieSUyMFYyJUUzJTgxJUE3UzMlRTMlODIlOTIlRTMlODElODQlRTMlODIlOEQlRTMlODElODQlRTMlODIlOEQlRTQlQkQlQkYlRTMlODElODYmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTViMjMyYTRmYjQwYmViZjUxNTRlOWQxOGMwMzViYjFm%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB0YW1pa3VyYSU0MGdpdGh1YiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9Mzc4Yzk2ZGIzM2ZiZTlkMGNhYTIwNTdkYzQ4ZGU0OGU%26blend-x%3D142%26blend-y%3D436%26blend-mode%3Dnormal%26txt64%3DaW4g44Oq44Kz44O8SVTjgr3jg6rjg6Xjg7zjgrfjg6fjg7PjgrrmoKrlvI_kvJrnpL4%26txt-width%3D770%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%2523212121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D156%26txt-y%3D536%26s%3D8b4151de3816d24e96d44ed9192a9983)
S3 is a Key-Value store Amazon S3 は、一意のキー値を使用して、必要な数のオブジェクトを保存できるオブジェクトストアです。 Amazon S3 オブジェクトの概要 - Amazon Simple Storage Service Amazon S3の基礎技術は、単純なKVS(Key-Value型データストア)でしかありません。 Amazon S3における「フォルダ」という幻想をぶち壊し、その実体を明らかにする | DevelopersIO Amazon S3の実体はKey-Value storeという事実は、既にご存知の方々にとっては何を今更というようなことではありますが、それでも初めて聞くときには驚かされたものです。 さて、Key-Value storeと聞いて一般的に馴染みが深いのはRedisでしょう。そして、RailsにおけるRedisの役割としてCac
IAM設定 IAMユーザ作成 AWSコンソールにログインしてIAMサービスにアクセスする ユーザを追加する ユーザー名を入力し、アクセスの種類をプログラムによるアクセスにする 上記で作成したユーザにS3へアクセスできる権限を追加 設定を確認しユーザ作成を完了する IAMユーザのアクセスキーを入手する ユーザーを選択 アクセスキーを追加 アクセスキーとシークレットアクセスキーをメモする。(下記キーは事例のため開示しているけど、本来は絶対に秘密にすべき文字列です。) S3バケット作成 S3にアクセスする バケット名を入力して、リージョンを選択して、作成する rails & carrierwave photoモデルをつくって、imageカラムに画像をアップロード出来るように設定します。 gemインストール carrierwave gemを追加してインストールします。
carrierwave 0.10.0 で確認 imageカラムにcarrierwaveで保存した画像を保存している場合、デフォルトのままだとだとurlメソッドを実行してもpublic以下のパスのみで http://~ が設定されていません。 Sample.image.url #=> /uploads/sample/image/1/sample.jpghttp://~ 形式のURLを取得するにはCarrierWaveのasset_host設定を行う必要があります。 # config/initializers/carrierwave.rb CarrierWave.configure do |config| config.asset_host = Settings.url end定数管理にはrails_configを使用しています。 (使い方に関しては こちらを参照) # config/sett
はじめに Ruby on Rails 5.2からAWS S3へ画像をアップロードをするため、CarrierWave+fogを使って実装を進めました。 対象 EC2構築、デプロイ経験のある方 EC2へ画像をアップロードしていた方 はじめてS3を利用する方 AWSの設定 S3作成 S3 バケットを作成する方法 https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/user-guide/create-bucket.html 東京リージョン バージョニング有効 Static website hosting有効 パブリックアクセスをすべてブロック { "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::[バケ
こんにちは、ファンデリー デザイン・システム室の岩田です。 今日は、日頃の業務でサーバーへの画像アップロードを行っていることもあり、ファイルアップロード系のgemについて関心を持ったので、タイトルにあげた「Active Storage」が「CarrierWave」の代用として使えるか考えてみようと思います。 いきさつ 弊社で使用している言語「Ruby」のライブラリの人気度合いがわかるサイト「ruby-toolbox」(https://www.ruby-toolbox.com/)より、カテゴリとして「File Upload」の部分を調べ、 その中から総ダウンロード数が他のものと比べて飛び抜けている「Paperclip」・「CarrierWave」の2つに焦点を当てました。また、「Paperclip」の移行推奨対象として「Active Storage」が取り上げられていることもあり、今回は「A
本記事は dely Advent Calendar 2019 22日目の記事です。 qiita.com adventar.org 昨日はiOSエンジニアのknchstが「“ダーク“な2019年」という記事を書きました。 tech.dely.jp こんにちは、delyでサーバーサイドエンジニアをやっているyamanoiです。 弊社のとあるプロダクトにて画像アップロード処理周りに、ActiveStorageを使用していたのですが、使いづらい点がいくつかあったため、採用実績があったCarrierWaveへ乗り換えました。 この記事ではなぜ乗り換えたのかと、乗り換える手順を書いていきたいと思います。 なぜActiveStorageから乗り換えたのか 1. CDNとの相性が悪い 2. 画像のリクエストがRailsに向いてしまう 3. DBへのリクエストが頻繁に走る CarrierWaveへ乗り換える
本日、ActiveStorageにアップロードしたファイルのダウンロード機能を実装しました。 ダウンロード機能を実装するのは初だったので結構手間取りましたw その方法についてメモしておきます!! ①ActiveStorageの設定 以下のコマンドで、ActiveStorageに必要なデーブルやファイルを生成します。 rails active_storage:install rails db:migrate ②モデルとの紐付け taskモデルにfileを紐づけたかったので、task.rbに以下のように記述します。 これでfileとtaskが1対1で紐づくようになります。 task.rb has_one_attached :file ③fileをアップロードできるようにする viewは以下のようにfile_fieldでファイルをアップロードする部分を作ります。 views/tasks/new.
def upload region = 'XXXX' bucket = "#{bucket_name}" # S3バケット名 key = "#{key}" #S3のファイル名 client = Aws::S3::Client.new(region: region) upload_file = params[:file] client.put_object(bucket: bucket, key: key, body: upload_file.read) end def download region = 'XXX' bucket = "#{bucket_name}" # S3バケット名 key = "#{key}" #S3のファイル名 client = Aws::S3::Client.new(region: region) data = client.get_object(:bucket
Rails 6 ActiveStorageを使用してS3に画像ファイルをアップロードし、取得した画像をリサイズして表示する方法RubyRails新人エンジニアRails6 はじめまして!スタートアップでサーバーサイドエンジニアをやっています。なかのです! TechTrain Advent Calendar 2019(User ver)の15日目を担当します! 今回はタイトルの通り、Rails 6 ActiveStorageを使用してS3に画像ファイルをアップロードし、取得した画像をリサイズして表示する方法をお話ししたいと思います。 はじめに まず、簡単にActiveStorageについて説明しますと Active StorageとはAmazon S3、Google Cloud Storage、Microsoft Azure Storageなどの クラウドストレージサービスへのファイルのアッ
Rails 5.2から入ったファイルアップロード機能のActive Storageを使ってS3にダイレクトアップロードを実装します。 クライアントからS3にファイルを直接アップロードすることにより、ファイルアップロード時の負荷を削減できるメリットがあり、最近ファイルをAWSにアップロードするとなるとダイレクトアップロードで実装することが多いと思います。 ファイルをアップロードするにあたり、S3の設定やユーザ認証、ファイルのバリデーションなど実運用で必要と思われる箇所についても合わせて実装していきます。 Active Storageに興味がある方は、わかりやすくまとまっているActive Storageの概要 | Rails ガイドをぜひ読んでみてください。 ソースコードはこちらです。rails_samples/sample_active_storage at master · nipe03
これはJAWS-UG秋田支部 第3回勉強会の発表で使った物です。 自己紹介 コミュニティ Akita.m Akita Ruby Meeting デジコミュ秋田 言語 Ruby Objective-C プラットフーム iOS Ruby On Rails Android (2015?) ------ S3とは ------ Amazon S3 Amazon S3 はインターネット用のストレージサービスです。ウェブスケールの処理能力を開発者が簡単に利用できるよう設計されています。 Amazon S3 にはシンプルなインターフェイスが用意されており、いつでもウェブのどこからでも容量に関係なくデータを保存/取得できます。これによって、開発者は拡張可能で信頼性が高く、安全で、高速でありながら安価なインフラストラクチャを利用することが可能になります。このシステムは、Amazon が使用しているウェブサイ
Railsアプリでの画像アップロードに何を使ってますか? Railsアプリでの画像アップロードには何を使ってますか? carrierwaveでモデルと関連付けを行って、ファイルはpubic/imagesに保存していますか? 私もRails学習用のアプリ開発にcarrierwaveを使ってます。使いやすくて良いですよね。 しかしRails5.2からはActiveStorageという備え付けの ストレージ管理機能が追加されているらしいです。 せっかくなので今回は、ActiveStorageへと移行し 外部ストレージとしてAWS S3を使用する構成に替えて行きたいと思います。 Railsガイドわかりやすいです! Active Storage の概要 こちらのRAILSガイドの説明が分かりやすいです。 ですが細かいところで自分の環境と差異があったりしたので そこらへんを含めながらメモを残します。
Active Storageについて調べると、「軽く触ってみた」ノリの記事ばかりで、特に複数のファイルを扱う方法などがなかなか見つからなかったので、使い方のまとめ記事を作りました。 Active Storage とは Active Storageは、Rails5.2で追加された、ファイルアップロードを行うための機能です。これを使えば、フォームで画像の投稿機能などが簡単に作れます。また、Amazon S3, Google Cloud Storage, Microsoft Azure Storageなどのクラウドストレージサービスに対するファイルのアップロードを簡単に行うことができます。クラウドストレージの他に、ローカルディスクにファイルを保存することもできます。 Paperclip, Carrierwave, Dragonflyなどのgemの代わりになるとされていますが、現時点ではバリデーシ
このガイドはActive Recordモデルにファイルを添付する方法について説明します。 本ガイドの内容: あるレコードに1個または複数のファイルを添付する方法 添付ファイルを削除する方法 添付ファイルへのリンク方法 バリアントを利用して画像を変形する方法 PDFや動画などの非画像ファイルの内容を代表するプレビュー画像の生成方法 ブラウザからストレージサービスに直接ファイルをアップロードする方法 テスト中に保存したファイルをクリーンアップする方法 追加のストレージサービスをサポートするための実装方法 1 Active Storageについて Active Storageは、Amazon S3、Google Cloud Storage、Microsoft Azure Storageなどのクラウドストレージサービスへのファイルのアップロードや、ファイルをActive Recordオブジェクトに
Rails 5.2は、Active Storageを標準でサポートしています。これとActive Jobを組み合わせると、CSVファイルのインポートを手軽に実装できます。 Motivation CSVファイルをインポートする際、それが小さなファイルであれば、フロント側で処理を行うのがシンプルです。しかしそれが、大きなファイルや、複雑な処理を伴う場合、一旦はサーバー側にファイルを保存し、バックグラウンドでそれを処理する場合があります。 ファイルの保存に、Active Storageを使用すれば、保存先はAWS S3でも、ファイルシステムでも対応が可能です。Herokuではファイルシステムに保存されたファイルの永続化が保証されない(=サーバーに保存したファイルは、ある日突然消えることがある)ので、AWS S3などにファイルを保存することになります。 特に日本語圏のエンジニアを悩ませるのが、Mi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く