|
15 | 15 | # [START eventarc_gcs_server]
|
16 | 16 | import os
|
17 | 17 |
|
18 |
| -import cloudevents.exceptions as cloud_exceptions |
19 |
| -from cloudevents.http import from_http |
20 |
| - |
21 | 18 | from flask import Flask, request
|
22 | 19 |
|
23 | 20 |
|
24 |
| -required_fields = ['Ce-Id', 'Ce-Source', 'Ce-Type', 'Ce-Specversion'] |
25 | 21 | app = Flask(__name__)
|
26 | 22 | # [END eventarc_gcs_server]
|
27 | 23 |
|
28 | 24 |
|
29 | 25 | # [START eventarc_gcs_handler]
|
30 | 26 | @app.route('/', methods=['POST'])
|
31 | 27 | def index():
|
32 |
| - # Create CloudEvent from HTTP headers and body |
33 |
| - try: |
34 |
| - event = from_http(request.headers, request.get_data()) |
35 |
| - |
36 |
| - except cloud_exceptions.MissingRequiredFields as e: |
37 |
| - print(f"cloudevents.exceptions.MissingRequiredFields: {e}") |
38 |
| - return "Failed to find all required cloudevent fields. ", 400 |
39 |
| - |
40 |
| - except cloud_exceptions.InvalidStructuredJSON as e: |
41 |
| - print(f"cloudevents.exceptions.InvalidStructuredJSON: {e}") |
42 |
| - return "Could not deserialize the payload as JSON. ", 400 |
43 |
| - |
44 |
| - except cloud_exceptions.InvalidRequiredFields as e: |
45 |
| - print(f"cloudevents.exceptions.InvalidRequiredFields: {e}") |
46 |
| - return "Request contained invalid required cloudevent fields. ", 400 |
47 |
| - |
48 |
| - if 'subject' not in event: |
49 |
| - errmsg = 'Bad Request: expected header ce-subject' |
50 |
| - print(errmsg) |
51 |
| - return errmsg, 400 |
| 28 | + # Gets the GCS bucket name from the CloudEvent header |
| 29 | + # Example: "storage.googleapis.com/projects/_/buckets/my-bucket" |
| 30 | + bucket = request.headers.get('ce-subject') |
52 | 31 |
|
53 |
| - print(f"Detected change in GCS bucket: {event['subject']}") |
54 |
| - return (f"Detected change in GCS bucket: {event['subject']}", 200) |
| 32 | + print(f"Detected change in GCS bucket: {bucket}") |
| 33 | + return (f"Detected change in GCS bucket: {bucket}", 200) |
55 | 34 | # [END eventarc_gcs_handler]
|
56 | 35 |
|
57 | 36 |
|
|
0 commit comments