Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[Task]: Set the Beam user agent on the Python boto3 S3 client

Abierto
#39,573 1 comentario 0 reacciones 1 asignado Ver en GitHub

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

P3
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

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/beam

Todos los issues de apache/beam

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.