---
schema_version: "1"
id: 0eba377ad7899b6fd90724d47e480ba0cf7502b80db51360208bbb4ca90a753f
title: CLI を使用した記述子ファイルの作成または更新
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/exchange/apicat-create-descriptor-file-cli.md
canonical_url: https://docs.mulesoft.com/jp/exchange/apicat-create-descriptor-file-cli
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 6e686c76579df0212dd126dd4a01a12c716e8f332a23008e865f328130dc0a22
description: MuleSoft Documentation Site
latest: true
---
# CLI を使用した記述子ファイルの作成または更新

コマンドを実行して API をパブリッシュする前に、Exchange で API をカタログ化するために必要な情報が含まれる記述子ファイルを作成する必要があります。通常、CLI を使用してファイルを作成し、手動でファイルを更新して、アセットのパブリッシュ方法を制御するためのその他のオプションを設定します。

記述子の出力には、各 API の次の情報が含まれます。

- API 定義ファイル名
- アセット ID
- アセットバージョン
- API バージョン

## [](#記述子ファイルを作成する)記述子ファイルを作成する

`api-catalog create-descriptor`​ コマンドを使用して、API カタログ記述子 YAML の結果を識別し、指定されたファイルに出力します。このコマンドは、現在の作業ディレクトリに対して相対的な完全なディレクトリツリーで検出されたすべての API 定義のカタログ情報を出力します。

### [](#create-descriptor-command)api-catalog create-descriptor

\> api-catalog create-descriptor \[flags\]

このコマンドは、次のフラグを受け入れます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 80%;">
</colgroup>
<thead>
<tr>
<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"><div class="content"><div class="paragraph">
<p>-d, --file=file</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>デフォルト: <code>catalog.yaml</code>​</p>
</div>
<div class="paragraph">
<p>生成されたカタログ記述子ファイルを保存する名前と場所。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>--external</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>記述子ファイルに記述されている API ごとに ​<code>exchange.json</code>​ ファイルを生成し、​<code>projects</code>​ セクションの ​<code>ref</code>​ タグを使用して記述子ファイル内の各 API への参照を追加します。</p>
</div></div></td>
</tr>
</tbody>
</table>

CLI を使用して記述子ファイルを作成する手順は、次のとおりです。

1. カタログ化する API が含まれるディレクトリパスに移動します。
2. `api-catalog create-descriptor`​ コマンドを実行します。次の例では、現在のパスに ​`mydescriptor.yaml`​ という記述子ファイルを作成します。
    
    \> api-catalog create-descriptor -d mydescriptor.yaml
    
    記述子ファイルに書き込まれる出力例:
    
    #%Catalog Descriptor 1.0
    projects:
     - main: async-spec.json
      assetId: async-api
      version: 2.0.0
      apiVersion: v2
     - main: codat.json
      assetId: codat-api
      version: 1.0.0
      apiVersion: v1
     - main: oas-3-spec.json
      assetId: oas-3-api
      version: 3.0.0
      apiVersion: v3
    
    `--external`​ フラグを使用する場合、次の例のように API ごとに ​`exchange.json`​ ファイルが生成され、記述子ファイルにそれらの参照が含まれます。
    
    \> api-catalog create-descriptor -d mydescriptor.yaml --external
    
    記述子ファイルに書き込まれる出力例:
    
    #%Catalog Descriptor 1.0
    projects:
      - ref: api-spec/async-spec.exchange.json
      - ref: api-spec/codat.exchange.json
      - ref: api-spec/oas-3-spec.exchange.json

指定された記述子ファイルのプレゼンスおよびコンテンツは、次のようにコマンドの結果に影響します。

- ファイルがないか、空のファイル: コマンドは API を検出して、結果を標準出力と、​`catalog.yaml`​ という名前のファイルに書き込みます。
- コンテンツがある既存のファイル: コマンドは失敗し、記述子ファイルがすでに存在することを示すエラーメッセージが表示されます。

### [](#記述子ファイルを使用したドキュメントページと画像のリンク)記述子ファイルを使用したドキュメントページと画像のリンク

記述子にマークダウンファイルを追加することで、ドキュメントページと画像を API に追加できます。Exchange アセット用に作成したドキュメントページに画像を表示できます。

記述子ファイルの例:

#%Catalog Descriptor 1.0
projects:
  - main: sources/api.raml
    documentation:
      - Summary: Summary.md
      - Use Cases: Use\_Cases.md
    assetId: version-basic-api
    apiVersion: v4
    version: 4.0.0

画像 (.png、.jpg) へのリンクとドキュメントマークダウンファイルを含む ​`Summary.md`​ ファイルを使用すると次のようになります。

This is a caching service that can be used to retrieve picklist values from publishers who wish to provide a caching service for their picklist fields.

!\[muley logo\](https://docs.mulesoft.com/jp/exchange/muleyLogo.png)

\[Read all the Use Cases\](https://docs.mulesoft.com/jp/exchange/Use/_Cases.md)

指定された記述子ファイルのプレゼンスおよびコンテンツは、次のようにコマンドの結果に影響します。

- 記述子カタログで参照されているファイルのドキュメントエントリが消えるため、アセットポータルでページ間を移動するためのリンクは機能しません。

## [](#記述子ファイルを更新する)記述子ファイルを更新する

`api-catalog update-descriptor`​ コマンドを使用して、指定されたファイルの API カタログ記述子 YAML の結果を更新します。このコマンドは、現在の作業ディレクトリに対して相対的な完全なディレクトリツリーで検出されたすべての新規および更新された API 定義のカタログ情報を追加/更新します。

このコマンドを使用して、​`--external`​ フラグで作成された記述子ファイルを更新することはできません。

### [](#update-descriptor-command)api-catalog update-descriptor

\> api-catalog update-descriptor \[flags\]

このコマンドは、次のフラグを受け入れます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 80%;">
</colgroup>
<thead>
<tr>
<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"><div class="content"><div class="paragraph">
<p>-d, --descriptor-file=descriptor-file</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>デフォルト: <code>catalog.yaml</code>​</p>
</div>
<div class="paragraph">
<p>更新されたカタログ記述子ファイル情報を保存する名前と場所。</p>
</div></div></td>
</tr>
</tbody>
</table>

CLI を使用して記述子ファイルを更新する手順は、次のとおりです。

1. カタログ化する API が含まれるディレクトリパスに移動します。
2. `api-catalog update-descriptor`​ コマンドを実行します。次の例では、現在のパスの ​`mydescriptor.yaml`​ という記述子ファイルを更新します。
    
    \> api-catalog update-descriptor -d mydescriptor.yaml

指定された記述子ファイルのプレゼンスおよびコンテンツは、次のようにコマンドの結果に影響します。

- ファイルがないか、空のファイル: 更新では有効な記述子ファイルが存在している必要があるため、エラーメッセージが表示されます。
- コンテンツがある既存のファイル: コマンドはディレクトリパスの API と記述子ファイルの API のリストを比較し、新規または更新された API 情報で記述子ファイルを更新します。
- `projects`​ セクションに ​`ref`​ タグがあるファイル: `update-descriptor`​ コマンドでは、外部 ​`exchange.json`​ ファイルへの参照がある記述子ファイルはサポートされていないため、コマンドで解析エラーが発生します。

## [](#関連情報)関連情報

- [コマンドおよびフラグの一般的な使用](https://docs.mulesoft.com/jp/exchange/apicat-use-api-catalog-cli)
- [API カタログ CLI を使用したアセットのパブリッシュ](https://docs.mulesoft.com/jp/exchange/apicat-publish-using-api-catalog-cli)
- [手動での記述子ファイルの作成または更新](https://docs.mulesoft.com/jp/exchange/apicat-create-descriptor-file-manually#manual-descriptor)