[Feature Request]: Honor --quota_project_id in Python GCS/Pub/Sub IO and the Java-backed BigQuery STORAGE_WRITE_API path
Les mainteneurs répondent en général sous 1 jour
@shahar1 y travaille déjà.
Depuis le 13/10/2026.
Évaluation
Cette issue n'a pas encore été évaluée.
Description
What would you like to happen?
Follow-up to #37431 / #39203.
#39203 adds a --quota_project_id pipeline option to Python GoogleCloudOptions, which attributes quota/billing of API requests to a chosen GCP project (the x-goog-user-project header). The option lives on the GCP-wide options class, but currently only the Python BigQuery IO transforms honor it (ReadFromBigQuery, ReadAllFromBigQuery, WriteToBigQuery with FILE_LOADS/STREAMING_INSERTS, ReadBigQueryChangeHistory).
It should be honored by the rest of the Python GCP IO so the option means what its name says. The client libraries already support it, so this is plumbing only:
- GCS (
apache_beam/io/gcp/gcsio.py):storage.Client(...)acceptsclient_options={'quota_project_id': ...}(honored bygoogle.cloud.client.Client);resourcemanager_v3.ProjectsClientused by_get_project_numbertakesclient_optionstoo.GcsIOalready receivespipeline_options, so the value is available where the client is built. - Pub/Sub (
apache_beam/io/gcp/pubsub.py,runners/direct/transform_evaluator.py):pubsub.PublisherClient(...)/SubscriberClient(...)forwardclient_optionsto the GAPIC client, which acceptsquota_project_id. WriteToBigQuery(method=STORAGE_WRITE_API): this path expands to the JavaStorageWriteToBigQuerytransform. Java already supports--bigQueryQuotaProjectId(BigQueryOptions), but the Python option never reaches it:PipelineOptionsTranslation.fromProtoconvertslower_underscore→lowerCamel, soquota_project_idarrives asquotaProjectId, which no Java option reads. Options: have the Python transform/expansion forward it under the Java name, or have Java'sBigQueryOptions.getBigQueryQuotaProjectId()fall back to a genericquotaProjectId. (Note: on Dataflow, options reach the Java worker in the legacy{"options": {...}}format without case conversion, so a solution must cover that path as well.)- Other GCP IOs that build clients (Bigtable, Spanner, …) should be checked the same way.
Until then, the option's help text says it is currently honored by BigQuery IO only.
Issue Priority
Priority: 2 (default / most feature requests should be filed as P2)
Issue Components
- Component: Python SDK
- Component: Java SDK
- Component: Go SDK
- Component: Typescript SDK
- Component: IO connector
- Component: Beam YAML
- Component: Beam examples
- Component: Beam playground
- Component: Beam katas
- Component: Website
- Component: Infrastructure
- Component: Spark Runner
- Component: Flink Runner
- Component: Prism Runner
- Component: Twister2 Runner
- Component: Hazelcast Jet Runner
- Component: Google Cloud Dataflow Runner
- Langage dominant
- Java
- Étoiles
- 8.7k
- Forks
- 4.8k
- Merge moyen
- 2 j 12 h
- PR mergées (30 j)
- 371
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de apache/beam
-
Release notes links wrongOuverteawaiting triage bug P3
Difficulté 1/5 Moins d'une heure Accessibilité débutants 67/100
apache/beam#41197 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: [Python] WriteToJson silently rounds floats to 10 decimal placesPeut-être pris @Abhi2939 l’a pris il y a 1 jour. Ouverteio P2 python yaml
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
apache/beam#41102 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
apache/beam#39624 · 2 réactions ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: PubsubIO used in batch incorrect batch cutoff sizePeut-être pris @1fanwang l’a pris il y a 78 jours. Ouvertebug io P3 pinned pubsub
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
apache/beam#28011 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
build P3 sub-task
Difficulté 1/5 Moins d'une heure Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de apache/beam
Issues similaires
-
Enhancing the Issue TemplateOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
SasanLabs/VulnerableApp#912 ·
Les mainteneurs répondent en général sous 1 jour
-
area/build area/events area/storage area/storage/kafkasql area/storage/sql
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Apicurio/apicurio-registry#11079 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
OpenAEV-Platform/openaev#9139 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour
-
desktop edt not responding
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100