[Task]: Set the Beam user agent on the Python boto3 S3 client
Los mantenedores suelen responder en 1 día
@goanpeca ya está trabajando en esto.
Desde el 31/7/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
What needs to happen?
sdks/python/apache_beam/io/aws/clients/s3/boto3_client.py constructs its boto3 client without a botocore Config, so S3 requests from Beam's Python AWS I/O carry only the default Boto3/... botocore/... user agent. Object store operators cannot attribute that traffic to Beam, which makes it harder to diagnose throughput, throttling, or request-volume questions raised by Beam users.
Beam already does this for its other cloud I/O connectors. apache_beam/io/gcp/gcsio.py:181, apache_beam/io/gcp/bigquery_tools.py:365, and apache_beam/io/gcp/datastore/v1new/helper.py:55 all set a Beam-identifying user agent on their clients. The S3 client is the inconsistent one.
The change is to pass config=Config(user_agent_extra='apache-beam/<version>') when building the client, reading the version from apache_beam.version.__version__. user_agent_extra appends to the standard botocore user agent rather than replacing it, so nothing that parses the existing string changes.
This benefits operators of Amazon S3 and of any other implementation of the S3 API equally.
I have a working branch with a unit test that asserts the version string appears in client.meta.config.user_agent, and can open a PR against this issue.
Issue Priority
Priority: 3 (nice-to-have improvement)
Issue Components
- Component: Python SDK
- Component: IO connector
- Lenguaje dominante
- Java
- Estrellas
- 8.7k
- Forks
- 4.7k
- Merge medio
- 2 d 7 h
- PR fusionados (30 d)
- 242
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/beam
-
[Bug]: Row.toString throws for an ITERABLE field that is not backed by a ListPosiblemente ocupada @PDGGK la tomó hace 57 días. Abiertojava P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
apache/beam#39624 · 2 reacciones ·
Los mantenedores suelen responder en 1 día
-
[Bug]: PubsubIO used in batch incorrect batch cutoff sizePosiblemente ocupada @1fanwang la tomó hace 46 días. Abiertobug io P3 pinned pubsub
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
apache/beam#28011 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
build P3 sub-task
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
bug gcp io java P3
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
Todos los issues de apache/beam
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
utopia-rise/godot-jvm#1004 ·
Los mantenedores suelen responder en 1 día
-
Expose numberOfPermits in RateLimiterEvent.toString() and the ratelimiterevents actuator DTOAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
resilience4j/resilience4j#2547 ·
Los mantenedores suelen responder en 9 días
-
Clock.MakeDate continues execution and returns a rolled-over instant after dispatching error on invalid datePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
mit-cml/appinventor-sources#4155 ·
Los mantenedores suelen responder en 1 día
-
[Doc] - Creation du READMEAbierto
Dificultad 1/5 1-3 horas Aptitud para principiantes 62/100
Hira-shi/PW1-DAI-Carrel-Egal-Eyer#28 ·
Los mantenedores suelen responder en 1 día
-
`GET /v1/event/token/{uuid}` can report a BOM upload as done before policy evaluation and metrics have finishedPosiblemente ocupada @Zargath la tomó hoy. Abiertodefect in triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
DependencyTrack/dependency-track#7646 ·
Los mantenedores suelen responder en 1 día