Pull Pub/Sub messages from subscription

Continuously pull messages from an existing Pub/Sub subscription.

Code sample

Python

To authenticate to GKE, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  from 
  
 google 
  
 import 
 auth 
 from 
  
 google.cloud 
  
 import 
 pubsub_v1 
 def 
  
 main 
 (): 
  
 """Continuously pull messages from subsciption""" 
 # read default project ID 
 _ 
 , 
 project_id 
 = 
 auth 
 . 
 default 
 () 
 subscription_id 
 = 
 'echo-read' 
 subscriber 
 = 
 pubsub_v1 
 . 
  SubscriberClient 
 
 () 
 subscription_path 
 = 
 subscriber 
 . 
 subscription_path 
 ( 
 project_id 
 , 
 subscription_id 
 ) 
 def 
  
 callback 
 ( 
 message 
 : 
 pubsub_v1 
 . 
 subscriber 
 . 
 message 
 . 
  Message 
 
 ) 
 - 
> None 
 : 
  
 """Process received message""" 
 print 
 ( 
 f 
 "Received message: ID= 
 { 
 message 
 . 
 message_id 
 } 
 Data= 
 { 
 message 
 . 
  data 
 
 } 
 " 
 ) 
 print 
 ( 
 f 
 "[ 
 { 
 datetime 
 . 
 datetime 
 . 
 now 
 () 
 } 
 ] Processing: 
 { 
 message 
 . 
 message_id 
 } 
 " 
 ) 
 time 
 . 
 sleep 
 ( 
 3 
 ) 
 print 
 ( 
 f 
 "[ 
 { 
 datetime 
 . 
 datetime 
 . 
 now 
 () 
 } 
 ] Processed: 
 { 
 message 
 . 
 message_id 
 } 
 " 
 ) 
 message 
 . 
  ack 
 
 () 
 streaming_pull_future 
 = 
  subscribe 
 
r . 
  subscribe 
 
 ( 
 subscription_path 
 , 
 callback 
 = 
 callback 
 ) 
 print 
 ( 
 f 
 "Pulling messages from 
 { 
 subscription_path 
 } 
 ..." 
 ) 
 with 
 subscriber 
 : 
 try 
 : 
 streaming_pull_future 
 . 
 result 
 () 
 except 
 Exception 
 as 
 e 
 : 
 print 
 ( 
 e 
 ) 
 

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser .

Design a Mobile Site
View Site in Mobile | Classic
Share by: