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

> Documentation du format 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>
            Non pris en charge par ClickHouse Cloud
        </div>;
};

| Entrée | Sortie | Alias |
| ------ | ------ | ----- |
| ✔      | ✔      |       |

<div id="description">
  ## Description
</div>

Le format `ProtobufList` est similaire au format [`Protobuf`](/fr/reference/formats/Protobuf/Protobuf), mais les lignes y sont représentées comme une séquence de sous-messages inclus dans un message dont le nom est obligatoirement « Envelope ».

<div id="example-usage">
  ## Exemple d’utilisation
</div>

Par exemple :

```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'"
```

Le fichier `schemafile.proto` ressemble à ceci :

```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;
};
```

Le type de message spécifié dans `format_schema` est d’abord recherché comme type imbriqué dans un message `Envelope` de niveau supérieur. Si aucune correspondance n’y est trouvée — soit parce que le schéma ne comporte pas de message `Envelope`, soit parce que `Envelope` ne contient aucun message portant le nom demandé — le message de niveau supérieur portant ce nom est utilisé directement.

<div id="format-settings">
  ## Paramètres de format
</div>
