[Ultimate]{class="badge positive"}

Google PubSub source

The Google PubSub source is available in the sources catalog to users who have purchased Real-Time Customer Data Platform Ultimate.

Adobe Experience Platform provides native connectivity for cloud providers like AWS, Google Cloud Platform, and Azure, allowing you to bring data from these systems into Platform for use in downstream services and destinations.

Cloud storage sources can bring your data into Platform without the need to download, format, or upload. Ingested data can be formatted as XDM JSON, XDM Parquet, or delimited. Every step of the process is integrated into the sources workflow. Platform allows you to bring in data from Google PubSub in real time.

Prerequisites prerequisites

This section outlines prerequisite set up that you must complete before connecting your Google PubSub account to Experience Platform.

Create service account create-service-account

A service account is a type of account often used by an application or compute workload, rather than a person. A service account is identified by its email address, which is unique to the account.

  • On one hand, service accounts are principals - you can grant service accounts access to Google Cloud resources. For example, you could grant a service account the Compute Admin role (roles/compute.admin) on a given project. This then allows the service account to be able to manage Compute Engine resources in that particular project.
  • On the other hand, service accounts are also resources - you can give other principals permission to access the service account. For example, you could grant a user the Service Account User role (roles/iam.serviceAccountUser) on a service account to let the user attach that service account to resources. Alternatively, you can grant a user the Service Account Admin role (roles/iam.serviceAccountAdmin) to let the user complete tasks such as view, edit, disable, and delete the service account.

For more information on determining the right authentication type for your use case, read the Google guide on authentication methods.

Follow the steps outlined below to create a service account:

First, navigate to the IAM page of the Google Developer Console and then select Create Service Account.

The create service account window in the Google Developer Console

Next, enter a a display name and an ID for your service account, and then select Create and Continue.

The service account details in the Google Developer Console

Generate service account keys generate-service-account-keys

To generate keys for your service account, select the keys header in the service accounts page. From there, select Add key and then select Create new key from the dropdown menu. You can also use this panel to upload an existing key.

The add key window in the Google Developer Console

When successful, you will receive a message indicating that the private key has been saved your computer and that a file will be downloaded. You can then use the content of this file as credentials, when creating your Google PubSub account on Experience Platform.

Grant permissions at topic and subscription level grant-permissions

To grant permissions at the topic and subscription level, navigate to the topic console page and then select Show info panel. Next, under the Permissions tab, select Add Principal and then add the service account principal along with the permissions.

The pop up window in the Google Developer Console where you can grant permissions at the topic and subscription level

Configurations for optimal Google PubSub usage optimal-configurations

This section outlines configurations you are recommended to make to optimize your usage of the Google PubSub source on Experience Platform.

Subscription properties subscription-properties

Use the Google Developer Console to increase your acknowledgement deadline. This allows the Google Publisher to wait according to the time that you configure before sending the message again. This delay helps in the reduction of unnecessary load at the subscriber level.

The acknowledgement deadline interface in the Google Developer Console.

Enable exactly one delivery. This configuration informs the Google Publisher to guarantee that messages sent to the subscription do not get resent before the acknowledgement deadline expires. You can use this setting to ensure that acknowledgement messages do not get resent to the subscription.

The exactly one delivery configuration page in the Google Developer Console.

You can enable Retry after exponential backoff delay to reduce the risk of further overwhelming the server. You can enable this configuration in the Google Developer Console to better mitigate transient failures (temporary errors that typically resolve themselves), by providing the system with more time to recover before attempting another connection.

The Retry policy window in the Google Developer Console.

You must set your subscription message retention duration to be 24 hours or more to ensure that unacknowledged data does not get lost during peak loads. Additionally, enable a dead letter topic to ensure that data loss does not happen even during rare edge cases.

You can only create one source dataflow per Google PubSub subscription. Reusing a subscription, even across sandboxes, leads to loss of data.

Connect Google PubSub to Experience Platform

The documentation below provides information on how to connect Google PubSub to Platform using APIs or the user interface:

Using APIs

Using the UI