Skip to content

Commit 7075430

Browse files
feat: Add IngestionFailureEvent to the external proto (#1984)
* feat: Add IngestionFailureEvent to the external proto PiperOrigin-RevId: 684152766 Source-Link: googleapis/googleapis@d992b06 Source-Link: googleapis/googleapis-gen@f7405e1 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZjc0MDVlMWRjNzVjZGRkMTBhNmFjYTk2MjExMzE4NTg2ZmI2MWZjMCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Megan Potter <[email protected]>
1 parent 48b5b7c commit 7075430

File tree

4 files changed

+1537
-0
lines changed

4 files changed

+1537
-0
lines changed

protos/google/pubsub/v1/pubsub.proto

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,63 @@ message PlatformLogsSettings {
365365
Severity severity = 1 [(google.api.field_behavior) = OPTIONAL];
366366
}
367367

368+
// Payload of the Platform Log entry sent when a failure is encountered while
369+
// ingesting.
370+
message IngestionFailureEvent {
371+
// Specifies the reason why some data may have been left out of
372+
// the desired Pub/Sub message due to the API message limits
373+
// (https://cloud.google.com/pubsub/quotas#resource_limits). For example,
374+
// when the number of attributes is larger than 100, the number of
375+
// attributes is truncated to 100 to respect the limit on the attribute count.
376+
// Other attribute limits are treated similarly. When the size of the desired
377+
// message would've been larger than 10MB, the message won't be published at
378+
// all, and ingestion of the subsequent messages will proceed as normal.
379+
message ApiViolationReason {}
380+
381+
// Set when an Avro file is unsupported or its format is not valid. When this
382+
// occurs, one or more Avro objects won't be ingested.
383+
message AvroFailureReason {}
384+
385+
// Failure when ingesting from a Cloud Storage source.
386+
message CloudStorageFailure {
387+
// Optional. Name of the Cloud Storage bucket used for ingestion.
388+
string bucket = 1 [(google.api.field_behavior) = OPTIONAL];
389+
390+
// Optional. Name of the Cloud Storage object which contained the section
391+
// that couldn't be ingested.
392+
string object_name = 2 [(google.api.field_behavior) = OPTIONAL];
393+
394+
// Optional. Generation of the Cloud Storage object which contained the
395+
// section that couldn't be ingested.
396+
int64 object_generation = 3 [(google.api.field_behavior) = OPTIONAL];
397+
398+
// Reason why ingestion failed for the specified object.
399+
oneof reason {
400+
// Optional. Failure encountered when parsing an Avro file.
401+
AvroFailureReason avro_failure_reason = 5
402+
[(google.api.field_behavior) = OPTIONAL];
403+
404+
// Optional. The Pub/Sub API limits prevented the desired message from
405+
// being published.
406+
ApiViolationReason api_violation_reason = 6
407+
[(google.api.field_behavior) = OPTIONAL];
408+
}
409+
}
410+
411+
// Required. Name of the import topic. Format is:
412+
// projects/{project_name}/topics/{topic_name}.
413+
string topic = 1 [(google.api.field_behavior) = REQUIRED];
414+
415+
// Required. Error details explaining why ingestion to Pub/Sub has failed.
416+
string error_message = 2 [(google.api.field_behavior) = REQUIRED];
417+
418+
oneof failure {
419+
// Optional. Failure when ingesting from Cloud Storage.
420+
CloudStorageFailure cloud_storage_failure = 3
421+
[(google.api.field_behavior) = OPTIONAL];
422+
}
423+
}
424+
368425
// A topic resource.
369426
message Topic {
370427
option (google.api.resource) = {

0 commit comments

Comments
 (0)