From a5cd2df77af6365a4cb02f3d892eeb1ea5993066 Mon Sep 17 00:00:00 2001 From: Josh Radcliff Date: Mon, 19 Oct 2026 15:49:24 -0400 Subject: [PATCH] feat(samples): set max gRPC metadata size to 16MB in ingestion samples Configures IngestionServiceClient with a 16MB maximum metadata size to accommodate responses with large error details, and adds the `create_client` region tag. Change-Id: I76bf2e4feb9cdfeaab9916b49500ae5afaf70742 --- samples/audiences/ingest_audience_members.py | 14 ++++++++++++-- samples/events/ingest_events.py | 12 ++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/samples/audiences/ingest_audience_members.py b/samples/audiences/ingest_audience_members.py index 3cdbc15..219e40f 100755 --- a/samples/audiences/ingest_audience_members.py +++ b/samples/audiences/ingest_audience_members.py @@ -202,10 +202,20 @@ def main( ) ) - # Creates a client for the ingestion service. + # [START create_client] + # Creates a client for the ingestion service. Increases the maximum + # metadata size to 16MB to prevent RESOURCE_EXHAUSTED errors when responses + # contain large error details. + channel = datamanager_v1.services.ingestion_service.transports.IngestionServiceGrpcTransport.create_channel( + options=[("grpc.max_metadata_size", 16 * 1024 * 1024)] + ) + transport = datamanager_v1.services.ingestion_service.transports.IngestionServiceGrpcTransport( + channel=channel + ) client: datamanager_v1.IngestionServiceClient = ( - datamanager_v1.IngestionServiceClient() + datamanager_v1.IngestionServiceClient(transport=transport) ) + # [END create_client] # Batches requests to send up to the maximum number of audience members per # request. diff --git a/samples/events/ingest_events.py b/samples/events/ingest_events.py index c49d66c..d71acbb 100755 --- a/samples/events/ingest_events.py +++ b/samples/events/ingest_events.py @@ -162,9 +162,17 @@ def main( destination.linked_account.account_type = linked_account_type destination.linked_account.account_id = linked_account_id - # Creates a client for the ingestion service. + # Creates a client for the ingestion service. Increases the maximum + # metadata size to 16MB to prevent RESOURCE_EXHAUSTED errors when responses + # contain large error details. + channel = datamanager_v1.services.ingestion_service.transports.IngestionServiceGrpcTransport.create_channel( + options=[("grpc.max_metadata_size", 16 * 1024 * 1024)] + ) + transport = datamanager_v1.services.ingestion_service.transports.IngestionServiceGrpcTransport( + channel=channel + ) client: datamanager_v1.IngestionServiceClient = ( - datamanager_v1.IngestionServiceClient() + datamanager_v1.IngestionServiceClient(transport=transport) ) # Batches requests to send up to the maximum number of events per