Reference documentation and code samples for the Cloud Storage API module Google::Cloud::Storage.
Google Cloud Storage
Google Cloud Storage is an Internet service to store data in Google's cloud. It allows world-wide storage and retrieval of any amount of data and at any time, taking advantage of Google's own reliable and fast networking infrastructure to perform data operations in a cost effective manner.
See Storage Overview.
Methods
.anonymous
def self.anonymous(retries: nil, timeout: nil, open_timeout: nil, read_timeout: nil, send_timeout: nil, endpoint: nil, max_elapsed_time: nil, base_interval: nil, max_interval: nil, multiplier: nil, upload_chunk_size: nil) -> Google::Cloud::Storage::Project
Creates an unauthenticated, anonymous client for retrieving public data from the Storage service. Each call creates a new connection.
-
retries (Integer) (defaults to: nil) — Number of times to retry requests on server
error. The default value is
3
. Optional. - max_elapsed_time (Integer) (defaults to: nil) — Total time in seconds that requests are allowed to keep being retried.
- base_interval (Float) (defaults to: nil) — The initial interval in seconds between tries.
- max_interval (Integer) (defaults to: nil) — The maximum interval in seconds that any individual retry can reach.
- multiplier (Integer) (defaults to: nil) — Each successive interval grows by this factor. A multipler of 1.5 means the next interval will be 1.5x the current interval.
- timeout (Integer) (defaults to: nil) — (default timeout) The max duration, in seconds, to wait before timing out. Optional. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol.
- open_timeout (Integer) (defaults to: nil) — How long, in seconds, before failed connections time out. Optional.
- read_timeout (Integer) (defaults to: nil) — How long, in seconds, before requests time out. Optional.
- send_timeout (Integer) (defaults to: nil) — How long, in seconds, before receiving response from server times out. Optional.
- endpoint (String) (defaults to: nil) — Override of the endpoint host name. Optional. If the param is nil, uses the default endpoint.
- upload_chunk_size (Integer) (defaults to: nil) — The chunk size of storage upload, in bytes. The default value is 100 MB, i.e. 104_857_600 bytes. To disable chunking and upload the complete file regardless of size, pass 0 as the chunk size.
Use skip_lookup
to avoid retrieving non-public metadata:
require "google/cloud/storage" storage = Google::Cloud::Storage.anonymous bucket = storage.bucket "public-bucket", skip_lookup: true file = bucket.file "path/to/public-file.ext", skip_lookup: true downloaded = file.download downloaded.rewind downloaded.read #=> "Hello world!"
.configure
def self.configure() -> Google::Cloud::Config
Configure the Google Cloud Storage library.
The following Storage configuration parameters are supported:
project_id
- (String) Identifier for a Storage project. (The parameterproject
is considered deprecated, but may also be used.)credentials
- (String, Hash, Google::Auth::Credentials) The path to the keyfile as a String, the contents of the keyfile as a Hash, or a Google::Auth::Credentials object. (See Credentials) (The parameterkeyfile
is considered deprecated, but may also be used.)endpoint
- (String) Override of the endpoint host name, ornil
to use the default endpoint.scope
- (String, Arrayretries
- (Integer) Number of times to retry requests on server error.max_elapsed_time
- (Integer) Total time in seconds that requests are allowed to keep being retried.base_interval
- (Float) The initial interval in seconds between tries.max_interval
- (Integer) The maximum interval in seconds that any individual retry can reach.multiplier
- (Integer) Each successive interval grows by this factor. A multipler of 1.5 means the next interval will be 1.5x the current interval.timeout
- (Integer) (default timeout) The max duration, in seconds, to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol.open_timeout
- (Integer) How long, in seconds, before failed connections time out.read_timeout
- (Integer) How long, in seconds, before requests time out.send_timeout
- (Integer) How long, in seconds, before receiving response from server times out.upload_chunk_size
- (Integer) The chunk size of storage upload, in bytes.
- (Google::Cloud.configure.storage)
- (Google::Cloud::Config) — The configuration object the Google::Cloud::Storage library uses.
.new
def self.new(project_id: nil, credentials: nil, scope: nil, retries: nil, timeout: nil, open_timeout: nil, read_timeout: nil, send_timeout: nil, endpoint: nil, project: nil, keyfile: nil, max_elapsed_time: nil, base_interval: nil, max_interval: nil, multiplier: nil, upload_chunk_size: nil) -> Google::Cloud::Storage::Project
Creates a new object for connecting to the Storage service. Each call creates a new connection.
For more information on connecting to Google Cloud see the Authentication Guide.
rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/AbcSize
- project_id (String) (defaults to: nil) — Project identifier for the Storage service you are connecting to. If not present, the default project for the credentials is used.
- credentials (String, Hash, Google::Auth::Credentials) (defaults to: nil) — The path to the keyfile as a String, the contents of the keyfile as a Hash, or a Google::Auth::Credentials object. (See Credentials)
-
scope (String, Array<String>) (defaults to: nil) —
The OAuth 2.0 scopes controlling the set of resources and operations that the connection can access. See Using OAuth 2.0 to Access Google APIs.
The default scope is:
https://www.googleapis.com/auth/devstorage.full_control
-
retries (Integer) (defaults to: nil) — Number of times to retry requests on server
error. The default value is
3
. Optional. - max_elapsed_time (Integer) (defaults to: nil) — Total time in seconds that requests are allowed to keep being retried.
- base_interval (Float) (defaults to: nil) — The initial interval in seconds between tries.
- max_interval (Integer) (defaults to: nil) — The maximum interval in seconds that any individual retry can reach.
- multiplier (Integer) (defaults to: nil) — Each successive interval grows by this factor. A multipler of 1.5 means the next interval will be 1.5x the current interval.
- timeout (Integer) (defaults to: nil) — (default timeout) The max duration, in seconds, to wait before timing out. Optional. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol.
- open_timeout (Integer) (defaults to: nil) — How long, in seconds, before failed connections time out. Optional.
- read_timeout (Integer) (defaults to: nil) — How long, in seconds, before requests time out. Optional.
- send_timeout (Integer) (defaults to: nil) — How long, in seconds, before receiving response from server times out. Optional.
- endpoint (String) (defaults to: nil) — Override of the endpoint host name. Optional. If the param is nil, uses the default endpoint.
- upload_chunk_size (Integer) (defaults to: nil) — The chunk size of storage upload, in bytes. The default value is 100 MB, i.e. 104_857_600 bytes. To disable chunking and upload the complete file regardless of size, pass 0 as the chunk size.
-
project (String) (defaults to: nil) — Alias for the
project_id
argument. Deprecated. -
keyfile (String) (defaults to: nil) — Alias for the
credentials
argument. Deprecated.
- (ArgumentError)
require "google/cloud/storage" storage = Google::Cloud::Storage.new( project_id: "my-project", credentials: "/path/to/keyfile.json" ) bucket = storage.bucket "my-bucket" file = bucket.file "path/to/my-file.ext"
Constants
GOOGLEAPIS_URL
value: "https://storage.googleapis.com".freeze
VERSION
value: "1.45.0".freeze