Notification

Notification

A Notification object is created from your Bucket object using Bucket#notification. Use it to interact with Cloud Pub/Sub notifications.

Constructor

new Notification(bucket, id)

Parameters:
Name Type Description
bucket Bucket

The bucket instance this notification is attached to.

id string

The ID of the notification.

See:
Example
const {Storage} = require('@google-cloud/storage');
const storage = new Storage();
const myBucket = storage.bucket('my-bucket');

const notification = myBucket.notification('1');

Members

metadata

The API-formatted resource description of the notification.

Note: This is not guaranteed to be up-to-date when accessed. To get the latest record, call the getMetadata() method.

Methods

create(topic, optionsopt, callbackopt) → {Promise.<CreateNotificationResponse>}

Creates a notification subscription for the bucket.

Parameters:
Name Type Attributes Description
topic Topic | string

The Cloud PubSub topic to which this subscription publishes. If the project ID is omitted, the current project ID will be used.

Acceptable formats are:

  • projects/grape-spaceship-123/topics/my-topic

  • my-topic

options CreateNotificationRequest <optional>

Metadata to set for the notification.

callback CreateNotificationCallback <optional>

Callback function.

Returns:
Type Description
Promise.<CreateNotificationResponse>
See:
Throws:

If a valid topic is not provided.

Type
Error
Example
const {Storage} = require('@google-cloud/storage');
const storage = new Storage();
const myBucket = storage.bucket('my-bucket');
const notification = myBucket.notification('1');

notification.create(function(err, notification, apiResponse) {
  if (!err) {
    // The notification was created successfully.
  }
});

//-
// If the callback is omitted, we'll return a Promise.
//-
notification.create().then(function(data) {
  const notification = data[0];
  const apiResponse = data[1];
});

delete(optionsopt, callbackopt) → {Promise.<DeleteNotificationResponse>}

Permanently deletes a notification subscription.

Parameters:
Name Type Attributes Description
options object <optional>

Configuration options.

Properties
Name Type Attributes Description
userProject string <optional>

The ID of the project which will be billed for the request.

callback DeleteNotificationCallback <optional>

Callback function.

Returns:
Type Description
Promise.<DeleteNotificationResponse>
See:
Examples
const {Storage} = require('@google-cloud/storage');
const storage = new Storage();
const myBucket = storage.bucket('my-bucket');
const notification = myBucket.notification('1');

notification.delete(function(err, apiResponse) {});

//-
// If the callback is omitted, we'll return a Promise.
//-
notification.delete().then(function(data) {
  const apiResponse = data[0];
});

include:samples/notifications.js

region_tag:storage_delete_notification
Another example:

exists(callbackopt) → {Promise.<NotificationExistsResponse>}

Check if the notification exists.

Parameters:
Name Type Attributes Description
callback NotificationExistsCallback <optional>

Callback function.

Returns:
Type Description
Promise.<NotificationExistsResponse>
Example
const {Storage} = require('@google-cloud/storage');
const storage = new Storage();
const myBucket = storage.bucket('my-bucket');
const notification = myBucket.notification('1');

notification.exists(function(err, exists) {});

//-
// If the callback is omitted, we'll return a Promise.
//-
notification.exists().then(function(data) {
  const exists = data[0];
});

get(optionsopt, callbackopt) → {Promise.<GetNotificationCallback>}

Get a notification and its metadata if it exists.

Parameters:
Name Type Attributes Description
options object <optional>

Configuration options. See Bucket#createNotification for create options.

Properties
Name Type Attributes Description
autoCreate boolean <optional>

Automatically create the object if it does not exist. Default: false.

userProject string <optional>

The ID of the project which will be billed for the request.

callback GetNotificationCallback <optional>

Callback function.

Returns:
Type Description
Promise.<GetNotificationCallback>
See:
Example
const {Storage} = require('@google-cloud/storage');
const storage = new Storage();
const myBucket = storage.bucket('my-bucket');
const notification = myBucket.notification('1');

notification.get(function(err, notification, apiResponse) {
  // `notification.metadata` has been populated.
});

//-
// If the callback is omitted, we'll return a Promise.
//-
notification.get().then(function(data) {
  const notification = data[0];
  const apiResponse = data[1];
});

getMetadata(optionsopt, callbackopt) → {Promise.<GetNotificationMetadataResponse>}

Get the notification's metadata.

Parameters:
Name Type Attributes Description
options object <optional>

Configuration options.

Properties
Name Type Attributes Description
userProject string <optional>

The ID of the project which will be billed for the request.

callback GetNotificationMetadataCallback <optional>

Callback function.

Returns:
Type Description
Promise.<GetNotificationMetadataResponse>
See:
Examples
const {Storage} = require('@google-cloud/storage');
const storage = new Storage();
const myBucket = storage.bucket('my-bucket');
const notification = myBucket.notification('1');

notification.getMetadata(function(err, metadata, apiResponse) {});

//-
// If the callback is omitted, we'll return a Promise.
//-
notification.getMetadata().then(function(data) {
  const metadata = data[0];
  const apiResponse = data[1];
});

include:samples/notifications.js

region_tag:storage_notifications_get_metadata
Another example: