Reference documentation and code samples for the Cloud PubSub Client class Topic.
A named resource to which messages are sent by publishers.
Example:
use Google\Cloud\PubSub\PubSubClient; $pubsub = new PubSubClient(['projectId' => 'my-awesome-project']); $topic = $pubsub->topic('my-new-topic');
// You can also pass a fully-qualified topic name: $topic = $pubsub->topic('projects/my-awesome-project/topics/my-new-topic');
Namespace
Google \ Cloud \ PubSubMethods
__construct
Create a PubSub topic.
Parameters | |
---|---|
Name | Description |
requestHandler | Google\Cloud\Core\RequestHandler |
serializer | Google\ApiCore\Serializer The serializer instance to encode/decode messages. |
projectId | string The project Id |
name | string The topic name |
encode | bool Whether messages should be base64 encoded. |
info | array A [Topic](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics |
↳ name | string The name of the topic. |
↳ labels | array Key value pairs used to organize your resources. |
↳ kmsKeyName | string The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic. The expected format is |
↳ enableCompression | bool Flag to enable compression of messages before publishing. Set the flag to |
↳ compressionBytesThreshold | int The threshold byte size above which messages are compressed. This only takes effect if |
clientConfig | array [optional] Configuration options for the PubSub client used to handle processing of batch items through the daemon. For valid options please see PubSubClient::__construct(). Defaults to* the options provided to the PubSub client associated with this instance. |
name
Get the topic name
Example:
echo $topic->name();
Returns | |
---|---|
Type | Description |
string |
create
See also:
Parameters | |||||||
---|---|---|---|---|---|---|---|
Name | Description | ||||||
options | array Configuration Options | ||||||
↳ labels | array Key value pairs used to organize your resources. | ||||||
↳ kmsKeyName | string The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic. The expected format is | ||||||
↳ messageStoragePolicy | array Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect.
| ||||||
↳ schemaSettings.schema | string|Schema The name of a schema that messages published should be validated against, or an instance of Schema. | ||||||
↳ schemaSettings.encoding | string The encoding of messages validated against schema. For allowed values, see constants defined on V1\Encoding}. </xref
|
Returns | |
---|---|
Type | Description |
array | Topic information |
update
See also:
Parameters | |||||||
---|---|---|---|---|---|---|---|
Name | Description | ||||||
data | array The Topic data. | ||||||
↳ labels | array Key value pairs used to organize your resources. | ||||||
↳ messageStoragePolicy | array Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect.
| ||||||
↳ schemaSettings.schema | string|Schema The name of a schema that messages published should be validated against, or an instance of Schema. | ||||||
↳ schemaSettings.encoding | string The encoding of messages validated against schema. For allowed values, see constants defined on V1\Encoding}. </xref
| ||||||
options | array Configuration options. | ||||||
↳ updateMask | array A list of field paths to be modified. Nested key names should be dot-separated, e.g. |
Returns | |
---|---|
Type | Description |
array | The topic info. |
delete
See also:
Parameter | |
---|---|
Name | Description |
options | array [optional] Configuration Options |
Returns | |
---|---|
Type | Description |
void |
exists
Check if a topic exists.
Service errors will NOT bubble up from this method. It will always return a boolean value. If you want to check for errors, use Topic::info().
Example:
if ($topic->exists()) { echo 'Topic exists'; }
Parameter | |
---|---|
Name | Description |
options | array [optional] Configuration Options |
Returns | |
---|---|
Type | Description |
bool |
info
See also:
Parameter | |
---|---|
Name | Description |
options | array [optional] Configuration Options |
Returns | |
---|---|
Type | Description |
array | [A representation of a Topic](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics) |
reload
See also:
Parameter | |
---|---|
Name | Description |
options | array [optional] Configuration Options |
Returns | |
---|---|
Type | Description |
array | [A representation of a Topic](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics) |
publish
See also:
Parameters | |
---|---|
Name | Description |
message | Message|array An instance of Message, or an array in the correct Message Format. |
options | array [optional] Configuration Options |
Returns | |
---|---|
Type | Description |
array | A list of message IDs |
publishBatch
See also:
Parameters | |
---|---|
Name | Description |
messages | array<Message>|array[] A list of messages. Each message must be in the correct Message Format, or be an instance of Message. |
options | array [optional] Configuration Options |
Returns | |
---|---|
Type | Description |
array | A list of message IDs. |
batchPublisher
Push a message into a batch queue, to be processed at a later point.
Example:
$topic->batchPublisher() ->publish([ 'data' => 'New User Registered', 'attributes' => [ 'id' => '2', 'userName' => 'Dave', 'location' => 'Detroit' ] ]);
Parameters | |
---|---|
Name | Description |
options | array Configuration options. |
↳ debugOutput | bool Whether or not to output debug information. Please note debug output currently only applies in CLI based applications. Defaults to |
↳ debugOutputResource | resource A resource to output debug output to. Defaults to Resource for |
↳ batchOptions | array A set of options for a BatchJob. Google\Cloud\Core\Batch\BatchJob::__construct() for more details. Defaults to ['batchSize' => 1000, 'callPeriod' => 2.0, 'numWorkers' => 2]. |
↳ clientConfig | array Configuration options for the PubSub client used to handle processing of batch items. For valid options please see PubSubClient::__construct(). Defaults to the options provided to the client associated with the current |
↳ batchRunner | BatchRunner A BatchRunner object. Mainly used for the tests to inject a mock. Defaults to a newly created BatchRunner. |
↳ identifier | string An identifier for the batch job. Defaults to |
↳ closureSerializer | ClosureSerializerInterface An implementation responsible for serializing closures used in the |
↳ enableCompression | bool Flag to enable compression of messages before publishing. Set the flag to |
↳ compressionBytesThreshold | int The threshold byte size above which messages are compressed. This only takes effect if |
Returns | |
---|---|
Type | Description |
BatchPublisher |
subscribe
See also:
Parameters | |
---|---|
Name | Description |
name | string The subscription name |
options | array [optional] Please see Subscription::create() for configuration details. |
Returns | |
---|---|
Type | Description |
Subscription |
subscription
This method will not run any API requests. You will receive a Subscription object that you can use to interact with the API.
Example:
$subscription = $topic->subscription('my-new-subscription');
Parameter | |
---|---|
Name | Description |
name | string The subscription name |
Returns | |
---|---|
Type | Description |
Subscription |
subscriptions
See also:
Parameters | |
---|---|
Name | Description |
options | array Configuration Options |
↳ pageSize | int Maximum number of subscriptions to return. |
↳ resultLimit | int Limit the number of results returned in total. Defaults to |
↳ pageToken | string A previously-returned page token used to resume the loading of results from a specific point. |
Returns | |
---|---|
Type | Description |
Google\Cloud\Core\Iterator\ItemIterator<Subscription> |
iam
See also:
Returns | |
---|---|
Type | Description |
Google\Cloud\Core\Iam\IamManager |
__debugInfo
Present a nicer debug result to people using php 5.6 or greater.
Returns | |
---|---|
Type | Description |
array |
Constants
DEFAULT_COMPRESSION_BYTES_THRESHOLD
Value: 240
DEFAULT_ENABLE_COMPRESSION
Value: false