---
schema_version: "1"
id: 7d30056c56644be572701742dda4be9656f029c1ed898bcba0245117d0572d62
title: Avro 形式
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/dataweave/2.4/dataweave-formats-avro.md
canonical_url: https://docs.mulesoft.com/jp/dataweave/2.4/dataweave-formats-avro
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 3076f2968a5d5bde07a0a6a34fca76bfed770e02c621270ff3de96c78a51dacc
description: MuleSoft Documentation Site
release: "2.4"
latest: false
---
# Avro 形式

MIME タイプ: `application/avro`​

ID: `avro`​

Avro は、スキーマを使用してそのデータを構造化するバイナリデータ形式です。DataWeave は、スキーマを使用してデータを解析します。Avro データ構造は、DataWeave データ構造にマップされます。

## [](#mapping)Java 値のマッピング

次の表に、Avro と DataWeave の型のマッピングを示します。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 50%;">
<col style="width: 50%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Avro 型</th>
<th class="tableblock halign-left valign-top">DataWeave 型</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>long</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>int</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>double</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>boolean</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>string</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>fixed</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>bytes</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Binary</code>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>enum</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>map</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>Object</code>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>array</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array</code>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>null</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Null</code>​</p></td>
</tr>
</tbody>
</table>

## [](#examples)例: Avro スキーマを使用する

次の例は、ライターが Avro データ構造の出力に使用するスキーマの指定方法を示しています。

### [](#入力)入力

Avro スキーマは次のようになります。

schema.json:

```json
{
    "type": "record",
    "name": "userInfo",
    "namespace": "my.example",
    "fields": [
        {
            "name": "username",
            "type": "string",
            "default": "NONE"
        },
        {
            "name": "age",
            "type": "int",
            "default": -1
        },
        {
            "name": "phone",
            "type": "string",
            "default": "NONE"
        },
        {
            "name": "housenum",
            "type": "string",
            "default": "NONE"
        }
    ]
}
```

### [](#ソース)ソース

この DataWeave スクリプトのヘッダーの ​`schemaUrl`​ プロパティでスキーマ (​`schema.json`​) を DataWeave ライターに渡します。ライターは、スキーマを使用してスクリプトの本文のコンテンツを構造化し、結果を Avro 形式で出力します。

```weave
%dw 2.0
output application/avro schemaUrl="classpath://schema.json"
---
[{
    username: "Mariano",
    age: 35,
    phone: "213",
    housenum: "123"
},
{
    username: "Leandro",
    age: 29,
    phone: "213",
    housenum: "123"
},
{
    username: "Christian",
    age: 25,
    phone: "213",
    housenum: "123"
}]
```

## [](#properties)Configuration のプロパティ

DataWeave では、この形式の以下の設定プロパティがサポートされています。

### [](#reader_properties)Reader のプロパティ

この形式は、入力データを読み取るための指示を提供するプロパティを受け入れます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 16.6666%;">
<col style="width: 16.6666%;">
<col style="width: 16.6666%;">
<col style="width: 50.0002%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">パラメーター</th>
<th class="tableblock halign-left valign-top">型</th>
<th class="tableblock halign-left valign-top">デフォルト</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>schemaUrl</code>​ (必須)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>​</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>null</code>​</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Avro スキーマの URL。有効な URI スキームは ​<code>classpath://</code>​、​<code>file://</code>​、または ​<code>http://</code>​ です。</p>
</div></div></td>
</tr>
</tbody>
</table>

### [](#writer_properties)Writer のプロパティ

この形式は、出力データを書き込むための指示を提供するプロパティを受け入れます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 16.6666%;">
<col style="width: 16.6666%;">
<col style="width: 16.6666%;">
<col style="width: 50.0002%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">パラメーター</th>
<th class="tableblock halign-left valign-top">型</th>
<th class="tableblock halign-left valign-top">デフォルト</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>bufferSize</code>​</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Number</code>​</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>8192</code>​</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>バッファライターのサイズ。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>deferred</code>​</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>​</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>false</code>​</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>​<code>true</code>​ に設定すると、出力をデータストリームとして生成し、スクリプトの実行はそれがコンシュームされるまで延期されます。</p>
</div>
<div class="paragraph">
<p>有効な値は、​<code>true</code>​ または ​<code>false</code>​ です。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>schemaUrl</code>​ (必須)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>​</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>null</code>​</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Avro スキーマの URL。有効な URI スキームは ​<code>classpath://</code>​、​<code>file://</code>​、または ​<code>http://</code>​ です。</p>
</div></div></td>
</tr>
</tbody>
</table>

## [](#mime_types)サポートされる MIME タイプ

この形式では、次の MIME タイプがサポートされます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 100%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">MIME タイプ</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/avro</code>​</p></td>
</tr>
</tbody>
</table>