File tree Expand file tree Collapse file tree 5 files changed +29
-8
lines changed
eventarc/storage-handler/src/main/java/com/example/cloudrun
firebase/firestore/src/main/java/functions
hello-gcs/src/main/java/functions
imagemagick/src/main/java/functions
ocr/ocr-process-image/src/main/java/functions Expand file tree Collapse file tree 5 files changed +29
-8
lines changed Original file line number Diff line number Diff line change @@ -46,15 +46,20 @@ ResponseEntity<String> handleCloudEvent(@RequestBody CloudEvent cloudEvent)
46
46
47
47
String json = new String (cloudEvent .getData ().toBytes ());
48
48
StorageObjectData .Builder builder = StorageObjectData .newBuilder ();
49
- JsonFormat .parser ().merge (json , builder );
49
+
50
+ // If you do not ignore unknown fields, then JsonFormat.Parser returns an
51
+ // error when encountering a new or unknown field. Note that you might lose
52
+ // some event data in the unmarshaling process by ignoring unknown fields.
53
+ JsonFormat .Parser parser = JsonFormat .parser ().ignoringUnknownFields ();
54
+ parser .merge (json , builder );
50
55
StorageObjectData data = builder .build ();
51
56
52
57
// Convert protobuf timestamp to java Instant
53
58
Timestamp ts = data .getUpdated ();
54
59
Instant updated = Instant .ofEpochSecond (ts .getSeconds (), ts .getNanos ());
55
60
String msg =
56
61
String .format (
57
- "Cloud Storage object changed: %s/%s modified at %s\ n " ,
62
+ "Cloud Storage object changed: %s/%s modified at %s% n" ,
58
63
data .getBucket (), data .getName (), updated );
59
64
60
65
System .out .println (msg );
Original file line number Diff line number Diff line change @@ -28,16 +28,17 @@ public class FirebaseFirestore implements CloudEventsFunction {
28
28
29
29
@ Override
30
30
public void accept (CloudEvent event ) throws InvalidProtocolBufferException {
31
- DocumentEventData firestorEventData = DocumentEventData .parseFrom (event .getData ().toBytes ());
31
+ DocumentEventData firestoreEventData = DocumentEventData
32
+ .parseFrom (event .getData ().toBytes ());
32
33
33
34
logger .info ("Function triggered by event on: " + event .getSource ());
34
35
logger .info ("Event type: " + event .getType ());
35
36
36
37
logger .info ("Old value:" );
37
- logger .info (firestorEventData .getOldValue ().toString ());
38
+ logger .info (firestoreEventData .getOldValue ().toString ());
38
39
39
40
logger .info ("New value:" );
40
- logger .info (firestorEventData .getValue ().toString ());
41
+ logger .info (firestoreEventData .getValue ().toString ());
41
42
}
42
43
}
43
44
Original file line number Diff line number Diff line change @@ -40,7 +40,12 @@ public void accept(CloudEvent event) throws InvalidProtocolBufferException {
40
40
41
41
String cloudEventData = new String (event .getData ().toBytes (), StandardCharsets .UTF_8 );
42
42
StorageObjectData .Builder builder = StorageObjectData .newBuilder ();
43
- JsonFormat .parser ().merge (cloudEventData , builder );
43
+
44
+ // If you do not ignore unknown fields, then JsonFormat.Parser returns an
45
+ // error when encountering a new or unknown field. Note that you might lose
46
+ // some event data in the unmarshaling process by ignoring unknown fields.
47
+ JsonFormat .Parser parser = JsonFormat .parser ().ignoringUnknownFields ();
48
+ parser .merge (cloudEventData , builder );
44
49
StorageObjectData data = builder .build ();
45
50
46
51
logger .info ("Bucket: " + data .getBucket ());
Original file line number Diff line number Diff line change @@ -156,7 +156,12 @@ private static StorageObjectData getEventData(CloudEvent event)
156
156
// Extract Cloud Event data and convert to StorageObjectData
157
157
String cloudEventData = new String (event .getData ().toBytes (), StandardCharsets .UTF_8 );
158
158
StorageObjectData .Builder builder = StorageObjectData .newBuilder ();
159
- JsonFormat .parser ().merge (cloudEventData , builder );
159
+
160
+ // If you do not ignore unknown fields, then JsonFormat.Parser returns an
161
+ // error when encountering a new or unknown field. Note that you might lose
162
+ // some event data in the unmarshaling process by ignoring unknown fields.
163
+ JsonFormat .Parser parser = JsonFormat .parser ().ignoringUnknownFields ();
164
+ parser .merge (cloudEventData , builder );
160
165
return builder .build ();
161
166
}
162
167
// [START functions_imagemagick_setup]
Original file line number Diff line number Diff line change @@ -71,7 +71,12 @@ public void accept(CloudEvent event) throws InvalidProtocolBufferException {
71
71
// Unmarshal data from CloudEvent
72
72
String cloudEventData = new String (event .getData ().toBytes (), StandardCharsets .UTF_8 );
73
73
StorageObjectData .Builder builder = StorageObjectData .newBuilder ();
74
- JsonFormat .parser ().merge (cloudEventData , builder );
74
+
75
+ // If you do not ignore unknown fields, then JsonFormat.Parser returns an
76
+ // error when encountering a new or unknown field. Note that you might lose
77
+ // some event data in the unmarshaling process by ignoring unknown fields.
78
+ JsonFormat .Parser parser = JsonFormat .parser ().ignoringUnknownFields ();
79
+ parser .merge (cloudEventData , builder );
75
80
StorageObjectData gcsEvent = builder .build ();
76
81
77
82
String bucket = gcsEvent .getBucket ();
You can’t perform that action at this time.
0 commit comments