from google.cloud import pubsub_v1 from google.oauth2 import service_account import os import asyncio os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "C:/Users/Karen/AppData/Roaming/gcloud/application_default_credentials.json" project_id = "fp-20230425" ''' topic_name = "fp-topic-Karen" subscription_name = "fp-subscription-Karen" subscriber = pubsub_v1.SubscriberClient() subscription_path = f"projects/{project_id}/subscriptions/{subscription_name}" subscriber.delete_subscription(request={"subscription": subscription_path}) print("Subscription deleted: {}".format(subscription_path)) # Delete the topic publisher = pubsub_v1.PublisherClient() topic_path = publisher.topic_path(project_id, topic_name) publisher.delete_topic(request={"topic": topic_path}) print(f"Topic '{topic_name}' deleted.") subscription_name = "fp-subscription-Karen" subscription_path = f"projects/{project_id}/subscriptions/{subscription_name}" ''' # Create a pubsub topic publisher = pubsub_v1.PublisherClient() topic_name = "fp-topic-Karen" topic_path = publisher.topic_path(project_id, topic_name) topic = publisher.create_topic(request={"name": topic_path}) # Create a Pub/Sub subscription subscriber = pubsub_v1.SubscriberClient() subscription_name = "fp-subscription-Karen" subscription_path = subscriber.subscription_path(project_id, subscription_name) subscription = subscriber.create_subscription( name=subscription_path, topic=topic_path ) # Publish a message to the topic message = b"Hello!" publisher.publish(topic_path, data=message) print("Message published.") async def receive_messages(): response = subscriber.pull(subscription=subscription_path, max_messages=1) for received_message in response.received_messages: print("Received message: {}".format(received_message.message.data)) asyncio.run(receive_messages()) ''' # Pull the message from the subscription response = subscriber.pull(subscription=subscription_path, max_messages=1) for received_message in response.received_messages: print("Received message: {}".format(received_message.message.data)) # Acknowledge the message to mark it as processed subscriber.acknowledge(subscription_path, [received_message.ack_id]) '''