El R2 de Cloudflare tiene una extensión que evita un error de NoSuchBucket al crear el depósito si no existe. Para habilitarlo, se supone que debe agregar un encabezado cf-create-bucket-if-missing : true en la solicitud PutObject . ¿Se puede configurar este encabezado si usamos el paquete @aws-sdk/client-s3 npm? ¿Si es así, cómo?
Si la respuesta es no, ¿existe alguna solución alternativa que recomendaría?
Si ayuda, estoy creando una API nestjs de back-end y me gustaría incluir este encabezado en las solicitudes salientes.
AWS SDK v2 le permite modificar solicitudes a través de Middleware .
Aquí hay un ejemplo de cómo agregar un encabezado personalizado usando middleware:
const client = new S3({ region: "us-east-1" }); client.middlewareStack.add( (next, context) => (args) => { args.request.headers["cf-create-bucket-if-missing"] = "true"; return next(args); }, { step: "serialize", } ); const params = {}; // TODO: fill in usual PutObject params await client.PutObject(params);Hay un buen artículo que se sumerge en la pila de middleware aquí .