> ## 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.

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

| 입력 | 출력 | 별칭 |
| -- | -- | -- |
| ✔  | ✔  |    |

<div id="description">
  ## 설명
</div>

`ProtobufList` 포맷은 [`Protobuf`](/ko/reference/formats/Protobuf/Protobuf) 포맷과 유사하지만, 행은 "Envelope"라는 고정된 이름의 메시지에 포함된 하위 메시지들의 연속으로 표현됩니다.

<div id="example-usage">
  ## 사용 예시
</div>

예를 들면 다음과 같습니다:

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

파일 `schemafile.proto`의 내용은 다음과 같습니다:

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

`format_schema`에 지정된 메시지 유형은 먼저 최상위 `Envelope` 메시지 안의 중첩 유형으로 해석됩니다. 여기서 일치하는 항목을 찾지 못하면 — 스키마에 `Envelope` 메시지가 없거나 `Envelope`에 요청한 이름의 메시지가 없는 경우 — 해당 이름의 최상위 메시지를 직접 사용합니다.

<div id="format-settings">
  ## 포맷 설정
</div>
