Reference documentation and code samples for the Cloud Pub/Sub API class Google::Cloud::PubSub::Schema.
Schema
A schema resource.
Inherits
- Object
Example
require "google/cloud/pubsub" pubsub = Google::Cloud::PubSub.new schema = pubsub.schema "my-schema" schema.name #=> "projects/my-project/schemas/my-schema" schema.type #=> :PROTOCOL_BUFFER
Methods
#definition
def definition() -> String, nil
The definition of the schema. This should be a string representing the full definition of the schema that is a valid schema definition of the type specified in #type.
- (String, nil) — The schema definition.
#delete
def delete() -> Boolean
Removes the schema, if it exists.
-
(Boolean) — Returns
true
if the schema was deleted.
require "google/cloud/pubsub" pubsub = Google::Cloud::PubSub.new schema = pubsub.schema "my-schema" schema.delete
#exists?
def exists?() -> Boolean
Determines whether the schema exists in the Pub/Sub service.
- (Boolean)
require "google/cloud/pubsub" pubsub = Google::Cloud::PubSub.new schema = pubsub.schema "my-schema" schema.exists? #=> true
#name
def name() -> String
The name of the schema.
-
(String) — A fully-qualified schema name in the form
projects/{project_id}/schemas/{schema_id}
.
#reference?
def reference?() -> Boolean
Determines whether the schema object was created without retrieving the resource representation from the Pub/Sub service.
-
(Boolean) —
true
when the schema was created without a resource representation,false
otherwise.
require "google/cloud/pubsub" pubsub = Google::Cloud::PubSub.new schema = pubsub.schema "my-schema", skip_lookup: true schema.reference? #=> true
#refresh!
def refresh!(view: nil) -> Google::Cloud::PubSub::Schema
Reloads the schema with current data from the Pub/Sub service.
-
view (Symbol, String, nil) (defaults to: nil) — The set of fields to return in the response. Possible values:
BASIC
- Include thename
andtype
of the schema, but not thedefinition
.FULL
- Include all Schema object fields.
Optional. If not provided or
nil
, the last non-nilview
argument to this method will be used if one has been given, othewiseFULL
will be used.
- (Google::Cloud::PubSub::Schema) — Returns the reloaded schema.
Skip retrieving the schema from the service, then load it:
require "google/cloud/pubsub" pubsub = Google::Cloud::PubSub.new schema = pubsub.schema "my-schema", skip_lookup: true schema.reload!
Use the view
option to load the basic or full resource:
require "google/cloud/pubsub" pubsub = Google::Cloud::PubSub.new schema = pubsub.schema "my-schema", view: :basic schema.resource_partial? #=> true schema.reload! view: :full schema.resource_partial? #=> false
#reload!
def reload!(view: nil) -> Google::Cloud::PubSub::Schema
Reloads the schema with current data from the Pub/Sub service.
-
view (Symbol, String, nil) (defaults to: nil) — The set of fields to return in the response. Possible values:
BASIC
- Include thename
andtype
of the schema, but not thedefinition
.FULL
- Include all Schema object fields.
Optional. If not provided or
nil
, the last non-nilview
argument to this method will be used if one has been given, othewiseFULL
will be used.
- (Google::Cloud::PubSub::Schema) — Returns the reloaded schema.
Skip retrieving the schema from the service, then load it:
require "google/cloud/pubsub" pubsub = Google::Cloud::PubSub.new schema = pubsub.schema "my-schema", skip_lookup: true schema.reload!
Use the view
option to load the basic or full resource:
require "google/cloud/pubsub" pubsub = Google::Cloud::PubSub.new schema = pubsub.schema "my-schema", view: :basic schema.resource_partial? #=> true schema.reload! view: :full schema.resource_partial? #=> false
#resource?
def resource?() -> Boolean
Determines whether the schema object was created with a resource representation from the Pub/Sub service.
-
(Boolean) —
true
when the schema was created with a resource representation,false
otherwise.
require "google/cloud/pubsub" pubsub = Google::Cloud::PubSub.new schema = pubsub.schema "my-schema" schema.resource? #=> true
#resource_full?
def resource_full?() -> Boolean
Whether the schema was created with a full resource representation from the Pub/Sub service.
-
(Boolean) —
true
when the schema was created with a full resource representation,false
otherwise.
require "google/cloud/pubsub" pubsub = Google::Cloud::PubSub.new schema = pubsub.schema "my-schema" schema.resource_full? #=> true
#resource_partial?
def resource_partial?() -> Boolean
Whether the schema was created with a partial resource representation from the Pub/Sub service.
-
(Boolean) —
true
when the schema was created with a partial resource representation,false
otherwise.
require "google/cloud/pubsub" pubsub = Google::Cloud::PubSub.new schema = pubsub.schema "my-schema", view: :basic schema.resource_partial? #=> true schema.reload! view: :full # Loads the full resource. schema.resource_partial? #=> false
#type
def type() -> String, nil
The type of the schema. Possible values include:
PROTOCOL_BUFFER
- A Protocol Buffer schema definition.AVRO
- An Avro schema definition.
- (String, nil) — The upper-case type name.
#validate_message
def validate_message(message_data, message_encoding) -> Boolean
Validates a message against a schema.
-
message_data (String) — Message to validate against the provided
schema_spec
. -
message_encoding (Symbol, String) —
The encoding of the message validated against the schema. Values include:
JSON
- JSON encoding.BINARY
- Binary encoding, as defined by the schema type. For some schema types, binary encoding may not be available.
-
(Boolean) — Returns
true
if the message validiation succeeds,false
otherwise.
require "google/cloud/pubsub" pubsub = Google::Cloud::PubSub.new schema = pubsub.schema "my-schema" message_data = { "name" => "Alaska", "post_abbr" => "AK" }.to_json schema.validate_message message_data, :json