See the supported connectors for Application Integration.
Cloud Pub/Sub trigger
The Cloud Pub/Sub trigger lets you run your integration based on the events in your Pub/Sub middleware.
Using this trigger, you can execute an integration whenever a publisher writes a message
to your chosen topic. The topic can exist in the same Google Cloud project as the integration, or
in a different Google Cloud project. When this trigger executes, it also writes the published message to
the CloudPubSubMessage
output variable. Based on your requirements,
you can use this variable in your downstream triggers or tasks.
To learn how to create a sample integration using Application Integration and the Cloud Pub/Sub trigger trigger, see Listen to Cloud Pub/Sub topic and send an email.
Before you begin
Ensure that you perform the following tasks in your Google Cloud project before configuring the Cloud Pub/Sub trigger.
- Assign the Project IAM Admin (
roles/resourcemanager.projectIamAdmin
) to the user creating this trigger. - Enable the Pub/Sub API for the Google Cloud project that has your integration.
- Confirm that you have a Pub/Sub topic. To create a new Pub/Sub topic:
- Go to the Pub/Sub topics page in the Cloud console.
- Click Create a topic.
- In the Topic ID field, provide a unique topic name.
- Click Save.
For more information about managing access using IAM roles, see Access control.
For information on granting roles to principals, see Granting, changing, and revoking access.
Add a Cloud Pub/Sub trigger
To add a Cloud Pub/Sub trigger to a new or existing integration, follow the steps below:- In the Google Cloud console, go to the Application Integration page.
- In the navigation menu, click Integrations
The Integrations List page appears listing all the integrations available in the Google Cloud project.
- Select an existing integration or click Create integration to create a new one.
If you are creating a new integration:
- Enter a name and description in the Create Integration pane.
- Select a region for the integration.
- Select a service account for the integration. You can change or update the service account details of an integration any time from the Integration summary pane in the integration toolbar.
- Click Create.
This opens the integration in the integration editor.
- In the integration editor navigation bar, click Triggers to view the list of available triggers.
- Click and place the Cloud Pub/Sub trigger element to the designer.
Configure a Cloud Pub/Sub trigger
Click the Cloud Pub/Sub trigger element in the integration editor to view the trigger configuration pane, and then do the following tasks:
- Specify the topic the trigger should listen to in the Pub/Sub topic field in the following format:
projects/PROJECT_ID/topics/TOPIC_ID
To view all the available topics in your Google Cloud project, see the Topic name column in Topics. You can also select a topic from a different Google Cloud project.
Replace the following:PROJECT_ID
: the Google Cloud project where your topic is created.TOPIC_ID
: the ID of your Pub/Sub topic. The topic can be in the same Google Cloud project as that of your integration, or can be present in a different Google Cloud project.
- Select the service account which you want to use to invoke the integration. You can also choose a config variable that you have created in the integration. The value of the config variable must be a service account email address with the following format:
SERVICE_ACCOUNT_NAME@project-id.iam.gserviceaccount.com
. For example,application-integration-invoke@project123.iam.gserviceaccount.com
.For information about how to create a config variable, see create a variable, and about how to create a service account, see Creating a service account.
If you choose a config variable, you must grant the required roles to the service account that the config variable refers to. For more information about how to grant roles, see Required IAM roles.
If there are no service accounts, create a service account by clicking Create new in the Service account list.
By default, the expiration period option for subscriptions is set to never expire
. If you want to set the expiration to another value, in the Google Cloud console, go to the Pub/Sub subscription page and edit the subscription.
IAM roles required for service accounts
Clicking Grant when selecting a service account, automatically provides the following roles to the various service accounts.
Service account | IAM role granted |
---|---|
Application Integration's default service account: service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com |
If the Pub/Sub topic's Google Cloud project is different from the integration's Google Cloud project, the default service account needs Pub/Sub Editor role in the topic's Google Cloud project. |
Service account that you select for this trigger |
Application Integration Invoker (roles/integrations.integrationInvoker )
|
Trigger Output
For each event, the Cloud Pub/Sub trigger generates a CloudPubSubMessage
output variable
which you can use in your downstream tasks. The variable is in JSON format and has the
PubsubMessage
structure.
Considerations
- The maximum size of a Pub/Sub message is 10 MB. To understand all the limitations of Pub/Sub, see Pub/Sub quotas and limits.
- It is possible that Pub/Sub writes the same message more than once to a topic. To understand
this behavior of Pub/Sub,
see At-Least-Once delivery.
Therefore, you must design your integration to be idempotent so that it doesn't allow
a message to be written more than once to a topic.
The
message_id
field in the message header uniquely identifies a Pub/Sub message. - If you unpublish an integration, the Pub/Sub subscription is not deleted to prevent loss of messages. However, if you delete the published version or all the integration versions of an integration, then the Pub/Sub subscription is also deleted.
Create subscription with filter for your integration
If you want to set a filter for the Pub/Sub subscription to process specific events in your integration, follow these steps:
- Publish the integration with the Cloud Pub/Sub trigger configured. This step creates the subscription in the integration project.
- In the Google Cloud console, go to the Subscriptions page.
- Open the subscription and copy all the details including the subscription name.
- Delete the existing subscription.
- Create a new subscription with all the details of the deleted subscription–including the subscription name–that you copied in step 3 and also add a filter in the new subscription.
The newly created subscription triggers the integration with filtered messages.
SLA exclusions
The Cloud Pub/Sub trigger is dependent on the Pub/Sub
product. As this dependency is external to the Application Integration, the Application Integration
Service Level Agreement (SLA) terms and conditions are applicable only when the
Cloud Pub/Sub trigger successfully starts the execution of an active
integration.
Pricing
The Cloud Pub/Sub trigger and Salesforce trigger don't require you to create a connector. However, if you use the Connectors task to connect to Pub/Sub or Salesforce, then you are billed for the connector usage. For information about pricing, see Application Integration pricing.
Quotas and limits
For information about quotas and limits, see Quotas and limits.
What's next
- Learn about all tasks and triggers.
- Learn how to test and publish an integration.
- Learn about error handling.
- Learn about integration execution logs.