cloudflare / cloudflare/developer-platform

🐛 BUG: R2 Multipart upload doesn't return custom metadata

Abierto
#3 3 comentarios 1 reacción 0 asignados Ver en GitHub
product:r2
Lenguaje dominante
Sin datos de lenguaje
Estrellas
1
Forks
0
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### Which Cloudflare product(s) does this pertain to?

R2

### What version(s) of the tool(s) are you using?

3.57.2 Wrangler

### What version of Node are you using?

20.12.2

### What operating system and version are you using?

Windows 11

### Describe the Bug

### Observed behavior
Custom metadata is missing when completing a R2 multipart upload. However when fetching the head of the r2Object the metadata is there. Strangely enough when running locally with `wrangler pages dev` the example works as expected. Only once you deploy your site the custom metadata is missing.

```js
const upload = await env.BUCKET.createMultipartUpload(key, {
customMetadata: {
hallo: 'zwallo',
},
});

const uploadPart = await upload.uploadPart(1, request.body);

const r2Object = await upload.complete([uploadPart]);
console.log(r2Object.customMetadata) // logs an empty object: {}

const r2Head = await env.BUCKET.head(key);
console.log(r2Head.customMetadata) // logs the correct metadata: {hallo: "zwallo"}
```

### Expected behavior
`multipartUpload.complete()` should return an `R2Object` with the field `customMetadata` populated

### Steps to reproduce
1. clone repository
2. run `cd multipart-upload-missing-metadata && npm i`
3. run `npm run dev` for a working example
4. run `npm run deploy` for the example to fail on the deployed site

### Please provide a link to a minimal reproduction

https://github.com/YannicEl/cloudflare_worker_bugs/tree/main/multipart-upload-missing-metadata

### Please provide any relevant error logs

_No response_

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Start in the multipart-upload-missing-metadata reproduction and install its dependencies with npm i. Run npm run dev and npm run deploy, then compare the customMetadata returned by multipartUpload.complete() with the metadata from head(); done means the deployed example returns the populated metadata.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
javascript, node.js
Área
api, backend, cloud
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
32/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.