[ruby] Google Firebase Storage를 간편하게 사용하는 방법
7828 단어 Firebase루비FirebaseStorage
Spark 플랜 무료 프레임 스토리지
htps : // 푹 빠져라. 오, ぇ. 코 m / p 리신 g
프로젝트 ID
버킷 ID
여러 개의 버킷이 없으므로 여기에 표시되는 도메인 이름이 있습니다 ( gs://
코드 샘플 등
버킷 ID
여러 개의 버킷이 없으므로 여기에 표시되는 도메인 이름이 있습니다 ( gs://
코드 샘플 등
storage
storage = Google::Cloud::Storage.new(project_id: ENV["FIREBASE_PROJECT_ID"])
버킷
bucket = storage.bucket ENV["FIREBASE_STORAGE_BUCKET_ID"]
파일 추가
bucket.create_file "/path/to/file" # バケットのルートに置く
bucket.create_file "/path/to/file", "folder/name/file" # バケットのサブフォルダに置く
# metadataを付けて置く(後で説明するpublic_urlで必要になる)
# tokenはぶつからない、推測されにくいものであれば何でも良さそう
require "active_support/all"
bucket.create_file "/path/to/file", metadata: { firebaseStorageDownloadTokens: SecureRandom.uuid }
파일 참조
files = bucket.files # 全部
# Signature: find_files(prefix:?, delimiter:?, token:?, max:?, versions:?)
# 例 a/b/c_d_e.jpg というファイルがあった場合、
# bucket.find_files prefix: "a/b/c_" で見つけられる path.start_with? 的な
files = bucket.find_files prefix: "folder/sub/prefix"
file = bucket.file("path/to/file") # 直接ファイル1つ
업데이트
bucket.create_file "/path/to/file1", "folder/sub/file"
bucket.create_file "/path/to/file2", "folder/sub/file" # 同じところに同じ名前で置く
삭제
file.delete
누구나 액세스할 수 있는 URL
file.signed_url # => デフォルトで5分間の公開が可能
file.signed_url expires: 1.hour.to_i # => 1時間の公開が可能、最大で7日間
Signed URL example
X-Goog-Expires: The length of time the signed URL remained valid, measured in seconds from the value in X-Goog-Date. In this example the Signed URL expires in 15 minutes. The longest expiration value is 604800 seconds (7 ).
누구나 액세스할 수 있는 URL(영구)
def public_url(file)
# more like permanent
URI(
"https://firebasestorage.googleapis.com/v0/b/#{CGI.escape file.bucket}/o/#{CGI.escape file.name}",
).tap do |uri|
uri.query = {
token: file.metadata["firebaseStorageDownloadTokens"],
alt: :media,
}.to_query
end
end
여기서
firebaseStorageDownloadTokens
가 필요하므로 파일을 넣을 때 metadata
를 지정해야합니다.(javascript에서 라고 업로드한 파일의
downloadUrl
가 메소드로서 제공되고 있지만, ruby라면 아직 없다?)Qiita
How to Access and Download Files in Cloud Storage
Reference
이 문제에 관하여([ruby] Google Firebase Storage를 간편하게 사용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/github0013@github/items/bdbba27695add9ea5509텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)