Constructor
new PublisherClient(optionsopt)
Construct an instance of PublisherClient.
Parameters:
Name | Type | Attributes | Description | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
<optional> |
The configuration object. See the subsequent parameters for more details. Properties
|
- Source:
Members
(static) apiEndpoint
The DNS address for this API service - same as servicePath(), exists for compatibility reasons.
- Source:
(static) port
The port for this API service.
- Source:
(static) scopes
The scopes needed to make gRPC calls for every method defined in this service.
- Source:
(static) servicePath
The DNS address for this API service.
- Source:
Methods
createTopic(request, optionsopt, callbackopt) → {Promise}
Creates the given topic with the given name. See the resource name rules.
Parameters:
Name | Type | Attributes | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||||||||||||||||
options |
Object |
<optional> |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||||||||||||||
callback |
function |
<optional> |
The function which will be called with the result of the API call. The second parameter to the callback is an object representing Topic. |
- Source:
Example
const pubsub = require('@google-cloud/pubsub');
const client = new pubsub.v1.PublisherClient({
// optional auth parameters.
});
const formattedName = client.topicPath('[PROJECT]', '[TOPIC]');
client.createTopic({name: formattedName})
.then(responses => {
const response = responses[0];
// doThingsWith(response)
})
.catch(err => {
console.error(err);
});
deleteTopic(request, optionsopt, callbackopt) → {Promise}
Deletes the topic with the given name. Returns NOT_FOUND
if the topic
does not exist. After a topic is deleted, a new topic may be created with
the same name; this is an entirely new topic with none of the old
configuration or subscriptions. Existing subscriptions to this topic are
not deleted, but their topic
field is set to _deleted-topic_
.
Parameters:
Name | Type | Attributes | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||
options |
Object |
<optional> |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||
callback |
function |
<optional> |
The function which will be called with the result of the API call. |
- Source:
Example
const pubsub = require('@google-cloud/pubsub');
const client = new pubsub.v1.PublisherClient({
// optional auth parameters.
});
const formattedTopic = client.topicPath('[PROJECT]', '[TOPIC]');
client.deleteTopic({topic: formattedTopic}).catch(err => {
console.error(err);
});
getIamPolicy(request, optionsopt, callbackopt) → {Promise}
Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
Parameters:
Name | Type | Attributes | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||||||||
options |
Object |
<optional> |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||||||
callback |
function |
<optional> |
The function which will be called with the result of the API call. The second parameter to the callback is an object representing Policy. |
- Source:
Example
const pubsub = require('@google-cloud/pubsub');
const client = new pubsub.v1.PublisherClient({
// optional auth parameters.
});
const formattedResource = client.topicPath('[PROJECT]', '[TOPIC]');
client.getIamPolicy({resource: formattedResource})
.then(responses => {
const response = responses[0];
// doThingsWith(response)
})
.catch(err => {
console.error(err);
});
getProjectId(callback)
Return the project ID used by this class.
Parameters:
Name | Type | Description |
---|---|---|
callback |
function |
the callback to be called with the current project Id. |
- Source:
getTopic(request, optionsopt, callbackopt) → {Promise}
Gets the configuration of a topic.
Parameters:
Name | Type | Attributes | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||
options |
Object |
<optional> |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||
callback |
function |
<optional> |
The function which will be called with the result of the API call. The second parameter to the callback is an object representing Topic. |
- Source:
Example
const pubsub = require('@google-cloud/pubsub');
const client = new pubsub.v1.PublisherClient({
// optional auth parameters.
});
const formattedTopic = client.topicPath('[PROJECT]', '[TOPIC]');
client.getTopic({topic: formattedTopic})
.then(responses => {
const response = responses[0];
// doThingsWith(response)
})
.catch(err => {
console.error(err);
});
listTopics(request, optionsopt, callbackopt) → {Promise}
Lists matching topics.
Parameters:
Name | Type | Attributes | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||||||||
options |
Object |
<optional> |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||||||
callback |
function |
<optional> |
The function which will be called with the result of the API call. The second parameter to the callback is Array of Topic. When autoPaginate: false is specified through options, it contains the result in a single response. If the response indicates the next page exists, the third parameter is set to be used for the next request object. The fourth parameter keeps the raw response object of an object representing ListTopicsResponse. |
- Source:
Example
const pubsub = require('@google-cloud/pubsub');
const client = new pubsub.v1.PublisherClient({
// optional auth parameters.
});
// Iterate over all elements.
const formattedProject = client.projectPath('[PROJECT]');
client.listTopics({project: formattedProject})
.then(responses => {
const resources = responses[0];
for (const resource of resources) {
// doThingsWith(resource)
}
})
.catch(err => {
console.error(err);
});
// Or obtain the paged response.
const formattedProject = client.projectPath('[PROJECT]');
const options = {autoPaginate: false};
const callback = responses => {
// The actual resources in a response.
const resources = responses[0];
// The next request if the response shows that there are more responses.
const nextRequest = responses[1];
// The actual response object, if necessary.
// const rawResponse = responses[2];
for (const resource of resources) {
// doThingsWith(resource);
}
if (nextRequest) {
// Fetch the next page.
return client.listTopics(nextRequest, options).then(callback);
}
}
client.listTopics({project: formattedProject}, options)
.then(callback)
.catch(err => {
console.error(err);
});
listTopicsStream(request, optionsopt) → {Stream}
Equivalent to listTopics, but returns a NodeJS Stream object.
This fetches the paged responses for listTopics continuously and invokes the callback registered for 'data' event for each element in the responses.
The returned object has 'end' method when no more elements are required.
autoPaginate option will be ignored.
Parameters:
Name | Type | Attributes | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||||||||
options |
Object |
<optional> |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
- Source:
- See:
Example
const pubsub = require('@google-cloud/pubsub');
const client = new pubsub.v1.PublisherClient({
// optional auth parameters.
});
const formattedProject = client.projectPath('[PROJECT]');
client.listTopicsStream({project: formattedProject})
.on('data', element => {
// doThingsWith(element)
}).on('error', err => {
console.log(err);
});
listTopicSubscriptions(request, optionsopt, callbackopt) → {Promise}
Lists the names of the subscriptions on this topic.
Parameters:
Name | Type | Attributes | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||||||||
options |
Object |
<optional> |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||||||
callback |
function |
<optional> |
The function which will be called with the result of the API call. The second parameter to the callback is Array of string. When autoPaginate: false is specified through options, it contains the result in a single response. If the response indicates the next page exists, the third parameter is set to be used for the next request object. The fourth parameter keeps the raw response object of an object representing ListTopicSubscriptionsResponse. |
- Source:
Example
const pubsub = require('@google-cloud/pubsub');
const client = new pubsub.v1.PublisherClient({
// optional auth parameters.
});
// Iterate over all elements.
const formattedTopic = client.topicPath('[PROJECT]', '[TOPIC]');
client.listTopicSubscriptions({topic: formattedTopic})
.then(responses => {
const resources = responses[0];
for (const resource of resources) {
// doThingsWith(resource)
}
})
.catch(err => {
console.error(err);
});
// Or obtain the paged response.
const formattedTopic = client.topicPath('[PROJECT]', '[TOPIC]');
const options = {autoPaginate: false};
const callback = responses => {
// The actual resources in a response.
const resources = responses[0];
// The next request if the response shows that there are more responses.
const nextRequest = responses[1];
// The actual response object, if necessary.
// const rawResponse = responses[2];
for (const resource of resources) {
// doThingsWith(resource);
}
if (nextRequest) {
// Fetch the next page.
return client.listTopicSubscriptions(nextRequest, options).then(callback);
}
}
client.listTopicSubscriptions({topic: formattedTopic}, options)
.then(callback)
.catch(err => {
console.error(err);
});
listTopicSubscriptionsStream(request, optionsopt) → {Stream}
Equivalent to listTopicSubscriptions, but returns a NodeJS Stream object.
This fetches the paged responses for listTopicSubscriptions continuously and invokes the callback registered for 'data' event for each element in the responses.
The returned object has 'end' method when no more elements are required.
autoPaginate option will be ignored.
Parameters:
Name | Type | Attributes | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||||||||
options |
Object |
<optional> |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
- Source:
- See:
Example
const pubsub = require('@google-cloud/pubsub');
const client = new pubsub.v1.PublisherClient({
// optional auth parameters.
});
const formattedTopic = client.topicPath('[PROJECT]', '[TOPIC]');
client.listTopicSubscriptionsStream({topic: formattedTopic})
.on('data', element => {
// doThingsWith(element)
}).on('error', err => {
console.log(err);
});
matchProjectFromProjectName(projectName) → {String}
Parse the projectName from a project resource.
Parameters:
Name | Type | Description |
---|---|---|
projectName |
String |
A fully-qualified path representing a project resources. |
- Source:
matchProjectFromTopicName(topicName) → {String}
Parse the topicName from a topic resource.
Parameters:
Name | Type | Description |
---|---|---|
topicName |
String |
A fully-qualified path representing a topic resources. |
- Source:
matchTopicFromTopicName(topicName) → {String}
Parse the topicName from a topic resource.
Parameters:
Name | Type | Description |
---|---|---|
topicName |
String |
A fully-qualified path representing a topic resources. |
- Source:
projectPath(project) → {String}
Return a fully-qualified project resource name string.
Parameters:
Name | Type | Description |
---|---|---|
project |
String |
- Source:
publish(request, optionsopt, callbackopt) → {Promise}
Adds one or more messages to the topic. Returns NOT_FOUND
if the topic
does not exist.
Parameters:
Name | Type | Attributes | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
||||||||||
options |
Object |
<optional> |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
|||||||||
callback |
function |
<optional> |
The function which will be called with the result of the API call. The second parameter to the callback is an object representing PublishResponse. |
- Source:
Example
const pubsub = require('@google-cloud/pubsub');
const client = new pubsub.v1.PublisherClient({
// optional auth parameters.
});
const formattedTopic = client.topicPath('[PROJECT]', '[TOPIC]');
const data = Buffer.from('');
const messagesElement = {
data: data,
};
const messages = [messagesElement];
const request = {
topic: formattedTopic,
messages: messages,
};
client.publish(request)
.then(responses => {
const response = responses[0];
// doThingsWith(response)
})
.catch(err => {
console.error(err);
});
setIamPolicy(request, optionsopt, callbackopt) → {Promise}
Sets the access control policy on the specified resource. Replaces any existing policy.
Parameters:
Name | Type | Attributes | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
||||||||||
options |
Object |
<optional> |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
|||||||||
callback |
function |
<optional> |
The function which will be called with the result of the API call. The second parameter to the callback is an object representing Policy. |
- Source:
Example
const pubsub = require('@google-cloud/pubsub');
const client = new pubsub.v1.PublisherClient({
// optional auth parameters.
});
const formattedResource = client.topicPath('[PROJECT]', '[TOPIC]');
const policy = {};
const request = {
resource: formattedResource,
policy: policy,
};
client.setIamPolicy(request)
.then(responses => {
const response = responses[0];
// doThingsWith(response)
})
.catch(err => {
console.error(err);
});
testIamPermissions(request, optionsopt, callbackopt) → {Promise}
Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.
Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.
Parameters:
Name | Type | Attributes | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
||||||||||
options |
Object |
<optional> |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
|||||||||
callback |
function |
<optional> |
The function which will be called with the result of the API call. The second parameter to the callback is an object representing TestIamPermissionsResponse. |
- Source:
Example
const pubsub = require('@google-cloud/pubsub');
const client = new pubsub.v1.PublisherClient({
// optional auth parameters.
});
const formattedResource = client.topicPath('[PROJECT]', '[TOPIC]');
const permissions = [];
const request = {
resource: formattedResource,
permissions: permissions,
};
client.testIamPermissions(request)
.then(responses => {
const response = responses[0];
// doThingsWith(response)
})
.catch(err => {
console.error(err);
});
topicPath(project, topic) → {String}
Return a fully-qualified topic resource name string.
Parameters:
Name | Type | Description |
---|---|---|
project |
String | |
topic |
String |
- Source:
updateTopic(request, optionsopt, callbackopt) → {Promise}
Updates an existing topic. Note that certain properties of a topic are not modifiable.
Parameters:
Name | Type | Attributes | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
||||||||||
options |
Object |
<optional> |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
|||||||||
callback |
function |
<optional> |
The function which will be called with the result of the API call. The second parameter to the callback is an object representing Topic. |
- Source:
Example
const pubsub = require('@google-cloud/pubsub');
const client = new pubsub.v1.PublisherClient({
// optional auth parameters.
});
const topic = {};
const updateMask = {};
const request = {
topic: topic,
updateMask: updateMask,
};
client.updateTopic(request)
.then(responses => {
const response = responses[0];
// doThingsWith(response)
})
.catch(err => {
console.error(err);
});