Skip to content

Commit 6d59939

Browse files
noerogplamut
authored andcommitted
Add create push subscription sample. [(#1331)](GoogleCloudPlatform/python-docs-samples#1331)
1 parent e165868 commit 6d59939

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

samples/snippets/subscriber.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,26 @@ def create_subscription(project, topic_name, subscription_name):
5858
print('Subscription created: {}'.format(subscription))
5959

6060

61+
def create_push_subscription(project,
62+
topic_name,
63+
subscription_name,
64+
endpoint):
65+
"""Create a new push subscription on the given topic."""
66+
subscriber = pubsub_v1.SubscriberClient()
67+
topic_path = subscriber.topic_path(project, topic_name)
68+
subscription_path = subscriber.subscription_path(
69+
project, subscription_name)
70+
71+
push_config = pubsub_v1.types.PushConfig(
72+
push_endpoint=endpoint)
73+
74+
subscription = subscriber.create_subscription(
75+
subscription_path, topic_path, push_config)
76+
77+
print('Push subscription created: {}'.format(subscription))
78+
print('Endpoint for subscription is: {}'.format(endpoint))
79+
80+
6181
def delete_subscription(project, subscription_name):
6282
"""Deletes an existing Pub/Sub topic."""
6383
subscriber = pubsub_v1.SubscriberClient()
@@ -153,6 +173,12 @@ def callback(message):
153173
create_parser.add_argument('topic_name')
154174
create_parser.add_argument('subscription_name')
155175

176+
create_push_parser = subparsers.add_parser(
177+
'create-push', help=create_push_subscription.__doc__)
178+
create_push_parser.add_argument('topic_name')
179+
create_push_parser.add_argument('subscription_name')
180+
create_push_parser.add_argument('endpoint')
181+
156182
delete_parser = subparsers.add_parser(
157183
'delete', help=delete_subscription.__doc__)
158184
delete_parser.add_argument('subscription_name')
@@ -179,6 +205,12 @@ def callback(message):
179205
elif args.command == 'create':
180206
create_subscription(
181207
args.project, args.topic_name, args.subscription_name)
208+
elif args.command == 'create-push':
209+
create_push_subscription(
210+
args.project,
211+
args.topic_name,
212+
args.subscription_name,
213+
args.endpoint)
182214
elif args.command == 'delete':
183215
delete_subscription(
184216
args.project, args.subscription_name)

0 commit comments

Comments
 (0)