<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>ConsumeGCPubSubLite</title><link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css"></link></head><script type="text/javascript">window.onload = function(){if(self==top) { document.getElementById('nameHeader').style.display = "inherit"; } }</script><body><h1 id="nameHeader" style="display: none;">ConsumeGCPubSubLite</h1><h2>Description: </h2><p>Consumes message from the configured Google Cloud PubSub Lite subscription. In its current state, this processor will only work if running on a Google Cloud Compute Engine instance and if using the GCP Credentials Controller Service with 'Use Application Default Credentials' or 'Use Compute Engine Credentials'.</p><h3>Tags: </h3><p>google, google-cloud, gcp, message, pubsub, consume, lite</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the <a href="../../../../../html/expression-language-guide.html">NiFi Expression Language</a>.</p><table id="properties"><tr><th>Display Name</th><th>API Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name"><strong>Subscription</strong></td><td>gcp-pubsub-subscription</td><td></td><td id="allowable-values"></td><td id="description">Name of the Google Cloud Pub/Sub Subscription. Example: projects/8476107443/locations/europe-west1-d/subscriptions/my-lite-subscription<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name"><strong>GCP Credentials Provider Service</strong></td><td>GCP Credentials Provider Service</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>GCPCredentialsService<br/><strong>Implementation: </strong><a href="../org.apache.nifi.processors.gcp.credentials.service.GCPCredentialsControllerService/index.html">GCPCredentialsControllerService</a></td><td id="description">The Controller Service used to obtain Google Cloud Platform credentials.</td></tr><tr><td id="name"><strong>Bytes Outstanding</strong></td><td>gcp-bytes-outstanding</td><td id="default-value">10 MB</td><td id="allowable-values"></td><td id="description">The number of quota bytes that may be outstanding to the client.<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name"><strong>Messages Outstanding</strong></td><td>gcp-messages-outstanding</td><td id="default-value">1000</td><td id="allowable-values"></td><td id="description">The number of messages that may be outstanding to the client.<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr></table><h3>Relationships: </h3><table id="relationships"><tr><th>Name</th><th>Description</th></tr><tr><td>success</td><td>FlowFiles are routed to this relationship after a successful Google Cloud Pub/Sub operation.</td></tr></table><h3>Reads Attributes: </h3>None specified.<h3>Writes Attributes: </h3><table id="writes-attributes"><tr><th>Name</th><th>Description</th></tr><tr><td>gcp.pubsub.messageId</td><td>ID of the pubsub message published to the configured Google Cloud PubSub topic</td></tr><tr><td>gcp.pubsub.ordering.key</td><td>If non-empty, identifies related messages for which publish order should be respected. If a 'Subscription' has 'enable_message_ordering' set to 'true', messages published with the same non-empty 'ordering_key' value will be delivered to subscribers in the order in which they are received by the Pub/Sub system. All 'PubsubMessage's published in a given 'PublishRequest' must specify the same 'ordering_key' value.</td></tr><tr><td>gcp.pubsub.attributesCount</td><td>Number of attributes the consumed PubSub message has, if any</td></tr><tr><td>gcp.pubsub.publishTime</td><td>Timestamp value when the message was published</td></tr><tr><td>Dynamic Attributes</td><td>Other than the listed attributes, this processor may write zero or more attributes, if the original Google Cloud Publisher client added any attributes to the message while sending</td></tr></table><h3>State management: </h3>This component does not store state.<h3>Restricted: </h3>This component is not restricted.<h3>Input requirement: </h3>This component does not allow an incoming relationship.<h3>System Resource Considerations:</h3>None specified.<h3>See Also:</h3><p><a href="../org.apache.nifi.processors.gcp.pubsub.lite.PublishGCPubSubLite/index.html">PublishGCPubSubLite</a></p></body></html>