> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentación del formato ProtobufList

# ProtobufList

export const CloudNotSupportedBadge = () => {
  return <div className="cloudNotSupportedBadge">
            <div className="cloudNotSupportedIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.5" d="M6.33366 12.6666L12.3739 12.6667C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00003 12.3739 8.00003C12.3739 8.00003 12.3337 7.66659 12.0003 7.33325M10.667 5.33322C8.00033 2.33325 4.45395 4.78537 4.14195 6.68203C2.55728 6.7627 1.29395 8.06203 1.29395 9.6667C1.29395 11.3234 2.66699 12.6666 4.00033 12.6666" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.5" d="M2.66699 14L12.0003 4.66663" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>

        </div>
            Not supported in ClickHouse Cloud
        </div>;
};

| Entrada | Salida | Alias |
| ------- | ------ | ----- |
| ✔       | ✔      |       |

<div id="description">
  ## Descripción
</div>

El formato `ProtobufList` es similar al formato [`Protobuf`](/es/reference/formats/Protobuf/Protobuf), pero las filas se representan como una secuencia de submensajes contenidos en un mensaje con el nombre fijo «Envelope».

<div id="example-usage">
  ## Ejemplo de uso
</div>

Por ejemplo:

```sql theme={null}
SELECT * FROM test.table FORMAT ProtobufList SETTINGS format_schema = 'schemafile:MessageType'
```

```bash theme={null}
cat protobuflist_messages.bin | clickhouse-client --query "INSERT INTO test.table FORMAT ProtobufList SETTINGS format_schema='schemafile:MessageType'"
```

Donde el archivo `schemafile.proto` queda así:

```capnp title="schemafile.proto" theme={null}
syntax = "proto3";
message Envelope {
  message MessageType {
    string name = 1;
    string surname = 2;
    uint32 birthDate = 3;
    repeated string phoneNumbers = 4;
  };
  MessageType row = 1;
};
```

El tipo de mensaje especificado en `format_schema` se determina buscando primero si existe como un tipo anidado dentro de un mensaje `Envelope` de nivel superior. Si no se encuentra ninguna coincidencia allí —ya sea porque el esquema no tiene un mensaje `Envelope` o porque `Envelope` no contiene un mensaje con el nombre solicitado—, se usa directamente el mensaje de nivel superior con ese nombre.

<div id="format-settings">
  ## Ajustes de formato
</div>
