# mulesoft Exchange - Full Documentation # \[Request Access (アクセス権の要求)\] ボタンの有効化 ユーザーは ​**\[Request access (アクセス権の要求)\]**​ ボタンをクリックして、API にアクセスできるアプリケーションを指定します。 Exchange 管理者の場合、​**\[More options (その他のオプション)\]**​ メニュー ![その他のオプションアイコン](/mulesoft/current/ja-jp/exchange/_images/ex2-more-options-icon.png) に ​**\[Request access (アクセス権の要求)\]**​ が表示されます。 **\[Request access (アクセス権の要求)\]**​ ボタンを有効にするには、Exchange 管理者権限が必要です。 **\[Request access (アクセス権の要求)\]**​ ボタンを表示するには、API アセットを作成して設定します。 1. API Manager で、​**\[Manage API (API を管理)\]**​ > ​**\[Manage API from Exchange (Exchange から API を管理)\]**​ をクリックし、API を開きます。 2. API Manager の実装 URI として、Exchange の API アセットの URL を使用します。 3. API Manager で API を開いたら、API インスタンス ID 値や他の有益な情報を表示できます。 4. Exchange で、​**\[Request access (アクセス権の要求)\]**​ ボタンが 3 つのドットのメニュー内に表示されます。 API Manager では、API の \[Status (状況)\] は \[Unregistered (未登録)\] としてマークされます。API を登録するには、API を Anypoint Runtime Manager にデプロイします。API を Exchange で使用可能にするために、API の \[Status (状況)\] を \[Registered (登録済み)\] に変更する必要はありません。 ## [](#request-access-アクセス権の要求-の表示条件)\[Request Access (アクセス権の要求)\] の表示条件 Exchange 公開ポータルに ​**\[Request access (アクセス権の要求)\]**​ ボタンを表示するには、以下が必要になります。 1. REST、SOAP、または HTTP API を Exchange でパブリッシュ。 REST API は OAS または RAML API 仕様のいずれかです。 2. API Manager で API のインスタンスを作成。 3. **\[API instances (API インスタンス)\]**​ でインスタンスを公開として設定。 4. インスタンスの URL が存在しない場合は、​**\[API instances (API インスタンス)\]**​ でインスタンスの URL を設定してください。 インスタンスが非公開である場合、ポータルではログインしたユーザーに対してのみ ​**\[Request access (アクセス権の要求)\]**​ ボタンが表示されます。 インスタンスが公開である場合、ポータルではすべてのユーザーに対して ​**\[Request access (アクセス権の要求)\]**​ ボタンが表示されます。ログアウトしたユーザーがアクセス権を要求すると、Exchange はログインするように促します。 # Anypoint Exchange Release Notes Anypoint Exchange provides a user interface consisting of asset cards that you can filter and click to provide information on connectors, APIs, examples, templates, and custom assets. The following release notes are provided for Exchange: - [Exchange Release Notes](https://docs.mulesoft.com/jp/release-notes/exchange/anypoint-exchange-release-notes) - [Exchange 2 REST Connect Release Notes](https://docs.mulesoft.com/jp/release-notes/connector/rest-connect-release-notes) ## [](#see-also)See Also - [Anypoint Exchange Overview](https://docs.mulesoft.com/jp/exchange/) - [Known Issues](https://help.salesforce.com/s/issues) # Anypoint Exchange の概要 Anypoint Exchange は、再利用可能なアセットの選定されたカタログです。API、API グループ、API 仕様フラグメント、カスタムアセット、サンプル、GraphQL API、コネクタなどのインテグレーションアセット、ポリシー、RPA アセット、ルールセット、テンプレートなどの種別が Exchange でサポートされます。各種別のアセットについての詳細は、​[「アセットタイプ」](https://docs.mulesoft.com/jp/exchange/asset-types)​を参照してください。開発者の組織内でアセットをカタログ化 (パブリッシュ)、共有、検索、学習、再利用し、コラボレーション、生産性、標準化を促進できます。 ![Exchange ランディングページ](/mulesoft/current/ja-jp/exchange/_images/exchange-landing-page.png) Exchange を使用して、アセットとリソースを検索、共有し、アプリケーションに組み込んで、アセットの使用量とエンゲージメントのメトリクスを表示できます。API 開発者ポータルの作成、API の表示とテスト、モッキングサービスを使用した API へのデータ送信のシミュレーション、アセットの作成、および API Notebook を使用した API 関数の説明とテストを行うことができます。 Exchange のアセットは Anypoint Studio (コネクタ、テンプレート、サンプル)、API Manager (API、API グループ、ポリシー)、または Runtime Manager (アプリケーション) などの多くの場所からアクセスできます。API は、Design Center から Exchange にパブリッシュできます。 **\[Provided by MuleSoft (MuleSoft による提供)\]**​ 組織のアセットは、MuleSoft とそのパートナーによって作成され、MuleSoft によって認定されます。これらのアセットは、すべてのお客様に公開されます。ただし、​**\[Provided by MuleSoft (MuleSoft による提供)\]**​ 以外の組織によって作成され、その組織の Exchange インスタンスにパブリッシュされたアセットは、非公開になり、その組織以外では表示されません。お客様は、独自の Exchange インスタンス内でパブリッシュする非公開アセットに対して責任を負います。 ## [](#anypoint-exchange-スポットライト動画)Anypoint Exchange スポットライト動画 Anypoint Exchange の「Product Spotlight (製品スポットライト)」動画で Exchange の概要を確認してください。 ![](https://play.vidyard.com/AMb7MEyBVUxwpJWvaSCEWH.jpg) ## [](#ビジネスグループ別のアセットの表示)ビジネスグループ別のアセットの表示 システム管理者は組織内の個人をビジネスグループにグループ化します。各グループには独自の Exchange アセットがあります。 ビジネスグループを表示するには、Anypoint Platform にログインしてタスクバーからグループ名をクリックします。 ![スクリーンショット - 上部のタスクバードロップダウンメニューにあるビジネスグループ](/mulesoft/current/ja-jp/exchange/_images/ex2-biz-groups.png) Exchange 管理者はこのメニューで各ユーザーに表示されるグループを設定します。 現在のビジネスグループスコープ内にアセットが見つからない場合、他のスコープ内で検索します。ナビゲーションメニューで ​**\[All assets (すべてのアセット)\]**​ (MuleSoft および自分のルート組織によって提供されたアセット)、​**\[Provided by MuleSoft (MuleSoft が提供)\]**​、またはビジネスグループスコープをクリックします。 ## [](#exchange-on-hyperforce)Hyperforce での Anypoint Exchange Anypoint Exchange のすべての機能が Hyperforce でサポートされますが、次の例外があります。 - [使用量とエンゲージメントのメトリクス](https://docs.mulesoft.com/jp/exchange/usage-and-engagement-metrics)​がサポートされていません。 - Amazon CloudFront が Hyperforce では設定されていません。 日本またはカナダの Hyperforce 環境からファイルをダウンロードするには、次の URL を使用してください。 - カナダの S3 バケット URL: [https://exchange-asset-manager-d1937357035a847d2ec3.s3.ca-central-1.amazonaws.com](https://exchange-asset-manager-d1937357035a847d2ec3.s3.ca-central-1.amazonaws.com) - 日本の S3 バケット URL: [https://exchange-asset-manager-bf62561aafed7e20740f.s3.ap-northeast-1.amazonaws.com](https://exchange-asset-manager-bf62561aafed7e20740f.s3.ap-northeast-1.amazonaws.com) ## [](#はじめに)はじめに まず、既存のアセットを検索するか、新しいアセットを作成します。 1. [Exchange](https://anypoint.mulesoft.com/exchange/)​ から、アセットタイプで検索するか、既知のアセットの名前を ​**\[Search assets (アセットを検索)\]**​ 項目に入力します。 2. 検索結果ビューからアセットを選択します。 3. アセットの説明を確認します。 API、コネクタ、テンプレート、サンプル、API Notebook、カスタムアセット用のアセットを作成するには、Exchange にログインします。詳細は、​[「ワークフロー: アセットのパブリッシュ」](https://docs.mulesoft.com/jp/exchange/workflow-sharing-assets)​を参照してください。 ## [](#api-をテストする)API をテストする モッキングサービスを使用して、API をテストできます。 1. **\[All Types (すべてのタイプ)\]**​ 検索条件をクリックし、REST API オプションを選択して ​**\[Apply (適用)\]**​ をクリックします。 2. アセットをクリックすると、左側のナビゲーションバーに API 関数が表示されます。 3. 関数をクリックすると詳細が表示されます。画面の右側でサンプル値を入力して API に送信し、API からの応答を取得することで、API をテストできます。 ## [](#言語サポート)言語サポート Unicode での複数言語の使用は、Exchange 全体を通して、すべてのメタデータ項目 (アセット名、説明、マークダウンページ、カテゴリ、タグ、レビューを含む) で完全にサポートされます。 ## [](#関連情報)関連情報 - [Anypoint Exchange リリースノート](https://docs.mulesoft.com/jp/release-notes/exchange/anypoint-exchange-release-notes) - [MuleSoft フォーラム](https://forums.mulesoft.com) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # API Notebook を使用したアセットのドキュメント化 API Notebook では、コードウィンドウに付随する説明を使用して API の機能をドキュメント化できます。ユーザーはコードを 変更し、各コードブロックの \[Play (再生)\] ボタンをクリックして実行できます。Exchange エディターから新しい API Notebook を 作成し、コードブロックで JavaScript コードを使用できます。 Anypoint Platform の API Designer を使用して、RAML、OAS、AsyncAPI の API 仕様を改善およびテストし、API 仕様を Anypoint Exchange にパブリッシュします。
OAS 仕様は RAML に変換されるため、API Notebook の RAML 規則に従うことができます。また、OAS のアップロード時に RAMl 仕様も変換されます。
1. アセットをクリックして詳細を表示します。 2. **\[Edit documentation (ドキュメントを編集)\]**​ をクリックし、エディターで API Notebook アイコン ![アイコン - エディターの API Notebook](/mulesoft/current/ja-jp/exchange/_images/ex2-api-notebook-icon.png) をクリックします。 3. アセットの説明を追加します。 4. API Notebook アイコンにより、ビジュアルエディターで JavaScript コード項目を追加可能なパネルが作成されます。追加する関数の最初の文字を入力すると、その文字で始まる使用可能な関数がリストされます。 マークダウンを使用している場合、各ノートエントリは次のように 3 つのチェックマークのブロックで囲まれます。 ````javascript ```notebook // Authenticate client API.authenticate(myclient); ``` ```` ## [](#外部-api-の-api-notebook-プログラムフロー)外部 API の API Notebook プログラムフロー Instagram API などの外部 API にアクセスする場合、​`https://anypoint.mulesoft.com/exchange/api/v1/health`​ URL の Anypoint アセットポータルサービスを 使用して、クライアントを取得します。 取得コードは次のようになります。 ```javascript fetch('https://anypoint.mulesoft.com/exchange/api/v1/health').then((res) => res.json()) ``` ユーザーが API で認証できるようにします。 ```text // Authenticate Instagram. // This asks you to authenticate with your personal account. // Don't worry, we have no idea who you are. API.authenticate(instagramApi); ``` これで、API を使用するノートを作成できます。 ## [](#api-manager-api-の-api-notebook-プログラムフロー)API Manager API の API Notebook プログラムフロー 1. API.createClient 関数を使用して、ノート内で API へのアクセスを初期化するクライアントを作成します。 構文: `API.createClient('CLIENT_NAME', 'URL_TO_API_MANAGER_API');`​ 2. API.authenticate 関数を使用して、Anypoint Platform でクライアントを認証します。 構文: `API.authenticate(CLIENT_NAME);`​ 3. REST API の機能に基づいてノートを作成します。各関数は、RAML 記述子ブロックの名前に 基づきます。たとえば、​`/info`​ というブロックがある ​`getdetails`​ クライアントの場合、GET コールをドキュメント化するには、ノートでの関数の説明を ​`getdetails.info.get();`​ とします。 次のように、配列を使用して関数コールにパラメーターを追加できます。 `me.function.post[{ orgId: 'myorg'}) …​]`​ 4. コードブロックに要素を設定して \[Play (再生)\] をクリックし、Exchange で API をテストします。コードでエラーが 発生することなく、すべてのコードブロックが機能することを確認します。

作成コールと認証コールは個別のノートコール内で指定する必要があります。

```notebook
fetch(’https://anypoint.mulesoft.com/exchange/api/v1/health').then((res) => res.json())
API.createClient(‘github’, ‘https://anypoint.mulesoft.com/apiplatform/repository/v2/organizations/ORG_ID/public/apis/7782/versions/7918/files/root’);

```

```notebook

API.authenticate(github);
``` (edited)
## [](#api-notebook-のセキュリティ)API Notebook のセキュリティ API Notebook は、ブラウザーでプレーンな JavaScript を実行します。機密データが漏洩しないように、API Notebook は特定の JavaScript 機能を無効にします。 - すべてのグローバル関数 (​`alert`​ や ​`prompt`​ など) - すべてのグローバル変数 (​`window`​、​`document`​、​`localStorage`​、​`XMLHttpRequest`​など) ## [](#関連情報)関連情報 - API Notebook の関数の説明については、​[「API Notebook リファレンス」](#1.x@api-manager::creating-an-api-notebook.adoc)​を参照。 - [既存の RAML ファイルを Exchange にアップロード](https://docs.mulesoft.com/design-center/v/1.0/upload-raml-task)​。 # API アセットのバージョンの変更 Anypoint Exchange では、次の API アセットを作成できます。 - REST API (RAML または OAS) - HTTP API - SOAP API このドキュメントでは、これらのアセットのバージョンを変更する方法について説明します。 各 API アセットには、アセットバージョン ​**\[Version (バージョン)\]**​ 項目と、API 仕様バージョンの ​**\[API version (API バージョン)\]**​ 項目があります。RAML、OAS、および SOAP アセットの場合、API 仕様バージョンはその仕様内にコード化されています。 Exchange のアセットバージョンは、メジャー、マイナー、およびパッチリリースの [セマンティックバージョン設定](https://semver.org/)​モデルに従いますが、​`ビルドメタデータ`​はサポートされません。たとえば、アセットのバージョンが 2.4.6 でメジャーバージョンが 2.x.x である場合、そのマイナーバージョンは 2.4.x で、パッチバージョンは 2.4.6 になります。 HTTP API アセットはポリシーまたはプロキシのみを提供できるエンドポイントです。HTTP API には、メジャーバージョンの増加のみがあり、マイナーバージョンやパッチバージョンの変更はありません。 アセットの新しいバージョンを作成する場合、以前のバージョンの名前、アイコン、説明が使用されます。これらのプロパティを変更するには、​[「アセットの説明」](https://docs.mulesoft.com/jp/exchange/to-describe-an-asset)​の手順を使用します。名前、アイコン、説明に対する変更は、アセットのすべてのバージョンに適用されます。
新しいアセットバージョンは、組織の​アセット制限​に含まれます。
## [](#新しい-api-アセットのデプロイ)新しい API アセットのデプロイ **\[Publish new asset (新規アセットをパブリッシュ)\]**​ ボタンを使用して、API アセットを Exchange に直接デプロイできます。​**\[Publish a new asset (新規アセットをパブリッシュ)\]**​ ウィンドウの \[Advanced (詳細)\] セクションでは、​**\[Version (バージョン)\]**​ 項目でアセットのバージョン、​**\[API version (API バージョン)\]**​ 項目で API 仕様のバージョンを指定できます。 更新された API 仕様に新しいバージョンと古いバージョンの後方互換性がない変更がある場合にのみ、API バージョンを変更してください。 ## [](#raml-または-oas-バージョンの変更)RAML または OAS バージョンの変更 Exchange 内の RAML および OAS API 仕様では、​**\[Add version (バージョンを追加)\]**​ ボタンを使用して Exchange 内からバージョン番号を変更します。 1. アセットの詳細ペインから、​**\[Add version (バージョンを追加)\]**​ をクリックします。 2. (必須) \[API specification (API 仕様)\] に ​**\[Method (メソッド)\]**​ を選択します。 3. (必須) ​**\[File upload (ファイルのアップロード)\]**​ から ​**\[Choose file (ファイルを選択)\]**​ をクリックします。OAS の場合、.yaml または .json ファイルの種類の OAS ファイルを選択します。RAML の場合、.raml ファイルの種類の RAML ファイルを選択します。zip ファイルのルートディレクトリにあるアップロード用のファイルを含む zip ファイルも使用できます。 4. アップロードされるファイルが zip の場合、​**\[Main file (メインファイル)\]**​ を指定します。そうしないと、アップロードするファイルと同じ名前のファイルが使用されます。 5. (必須) ​**\[Version (バージョン)\]**​ で、アセットの新しいバージョンを入力します。 6. (必須) ​**\[API version (API バージョン)\]**​ で、API 仕様のバージョンを入力します。 \[Version (バージョン)\] と \[API version (API バージョン)\] の値は一致している必要があります。特定の API バージョンではマイナーバージョンの更新のみを選択できます。\[Version (バージョン)\] でメジャー番号を設定する場合、\[API version (API バージョン)\] も増やします。マイナーまたはパッチバージョンの更新を選択した場合、API バージョンは変更されません。 7. (省略可能) ​**\[Lifecycle state (ライフサイクル状態)\]**​ を選択します。デフォルトは ​**\[Stable (安定)\]**​ です。 8. **\[Publish (パブリッシュ)\]**​ をクリックします。 **\[Manage versions (バージョンを管理)\]**​ ボタンを使用してバージョンを変更することもできます。詳細は、​[「バージョンの管理」](https://docs.mulesoft.com/jp/exchange/manage-versions)​を参照してください。 次のセクションで説明するように、RAML のバージョン番号を変更します。 ### [](#仕様から-raml-バージョンを変更する)仕様から RAML バージョンを変更する RAML 仕様の ​`version:`​ 要素を変更します。 Anypoint Platform の Design Center 機能で、テキストエディターまたは API Designer を使用できます。 RAML 仕様の version 要素を更新して Exchange にパブリッシュすると、パブリッシュメニューには自動的に ​`version:`​ 要素からの変更が反映されます。 ### [](#exchange-にパブリッシュするときに-raml-バージョンを変更する)Exchange にパブリッシュするときに RAML バージョンを変更する 1. Design Center から、API を開きます。変更は必要ありません。 2. **\[Publish to Exchange (Exchange へのパブリッシュ)\]**​ をクリックします。 3. **\[API Version (API バージョン)\]**​ の値を変更します。\[Asset Version (アセットバージョン)\] (Exchange アセットのバージョン) を変更することもできます。 RAML ファイルに基づく REST API が Design Center から作成されて Exchange にパブリッシュされると、API バージョンが RAML ファイルの version プロパティから取得されます。 既存の REST API の新しい API バージョンをパブリッシュすると、アセットのバージョンのメジャーセクションが更新されます。 ## [](#複数の-api-とアセットのバージョン)複数の API とアセットのバージョン 各 Exchange アセットは複数のアセットバージョンを持つことができます。REST、SOAP、および HTTP API には API バージョンも含まれます。 各 API バージョンで、複数のアセットバージョンをパブリッシュできます。これらのアセットバージョンは、同じメジャーバージョンである必要があります。 たとえば、同じ API の複数のバージョンをパブリッシュすると、 バージョンは次のようになります。
API バージョン アセットバージョン

v1

1.0.0

v1

1.0.1

v1

1.1.1

v2

2.0.0

v2

2.0.2

v3

3.1.0

ただし、これらの例の値は Exchange では許可されていません。
API バージョン アセットバージョン

v1

1.0.0

v2

1.0.1

## [](#best-practices-api-versioning)API バージョン設定のベストプラクティス API は長期間使用するために設計する必要がありますが、変更は避けられないため、API が完全に安定することはありません。 重要なのは、包括的なバージョン設定戦略を使用して変更を管理することです。これには、複数月の廃止スケジュールと、変更について十分に詳しく説明された最新のドキュメントが含まれます。 すべての変更で新しいバージョンが必要なわけではありません。後方互換性のために設計された API は通常、大幅な変更は必要とせず、軽微な変更やパッチの変更を使用します。 API をそのように設計することが不可能な場合もあります。次の表に、新しいバージョンを導入するタイミングと新しいバージョンが不要な場合の概要を示します。通常、ユーザーが ​**\[Add new API operation (新しい API 操作を追加)\]**​ をクリックしたときに、マイナーバージョンが増えます。
変更の種別 新しいメジャーバージョンを必要とする変更 新しいメジャーバージョンを必要としない変更

サービス契約

  • API エンドポイントの削除

  • API 操作の効果の変更

  • API 操作の応答種別の変更

  • 新しい必須操作引数の追加

新しい API 操作の追加

データ契約

  • 既存の要素 (または属性) の削除

  • 新しい必須要素 (または必須属性) の追加

  • 既存の要素 (または属性) の変更

  • 省略可能な要素 (または属性) の追加

  • 派生した要素種別の追加

表現の形式

既存の表現の削除

新しい表現の追加

アクセシビリティ

権限の制限

権限の緩和

### [](#新しいメジャーバージョンを導入するタイミング)新しいメジャーバージョンを導入するタイミング 次の場合に新しいメジャーバージョンを導入する必要があります。 - サービス品質 (QoS) 変更によって応答時間や可用性などのサービス品質に影響が出る場合は、API のアプリケーションで後方互換性が失われることがあるため、API のメジャーバージョンと API の変更が必要になる可能性があります。 - 出力メッセージドメイン値の変更 API を使用するアプリケーションは、応答メッセージ内の項目値のドメインに依存します。たとえば、API は特定の商品や特定の支払方法のみを返す場合があります。API がドメイン外の値を返し始めた場合、既存のコンシューマーに悪影響を及ぼす可能性があります。この場合、新しいメジャーバージョンと新しい API バージョンの導入を検討します。 ### [](#バージョン番号を変更するタイミング)バージョン番号を変更するタイミング - メジャーバージョン API ユーザーにコンシューマー側のインターフェースの採用を要求する API の構造を変更するとき (操作に新しい必須の引数を追加する場合など)。 - マイナーバージョン 新しい省略可能な要素の提供など、既存の API ユーザーには何も変更を求めない、後方互換性のための変更を API に導入するとき。 - パッチバージョン 後方互換性のためのバグ修正や、ドキュメントの更新を導入するとき。 詳細は、 [「セマンティックバージョン設定」](https://semver.org/)​を参照してください。 ### [](#アプリケーション-url-内の-api-バージョン)アプリケーション URL 内の API バージョン API バージョンをアプリケーション URL に含めて、コンシューマーがコールするバージョンを選択できるようにします。 - オンプレミスデプロイメントの場合、バージョンはベース URI 内にあり、URL に表示されます。 `http://www.example.org/v1/api/customer/1234` ### [](#命名規則)命名規則 API バージョンの定義には次のルールを使用します。 - v プレフィックスを付けてバージョンを指定する。 - 単純な序数 (v1、v2 など) を使用する。 - v1.2 などのドット表記は避ける。 - URL の一部としてメジャーバージョンのみを指定する。 ## [](#api-バージョンのドキュメント化)API バージョンのドキュメント化 Exchange には、API コンシューマーのアセットに関する情報を含むドキュメントページがあります。 マイナーアセットバージョンごとに異なるドキュメントページを作成できます。 バージョンの横にあるメニューで、編集するマイナーアセットバージョンを選択してください。 # API インスタンスの設定 Anypoint Exchange を使用して、API インスタンスが非公開 Exchange インスタンスまたは Exchange 公開ポータルで公開か非公開かを設定します。たとえば、API に関連付けられ、API Manager を使用して設定されたプロキシまたはポリシーの公開または非公開表示を設定します。 API Manager で Exchange から API を登録すると、その API のインスタンスがナビゲーションバーの \[API Instances (API インスタンス)\] リストに表示されます。 Exchange では、Anypoint Platform 以外の別の API 管理プログラムによって管理される API の API インスタンスも宣言されます。 各 API インスタンスの表示は非公開か公開のいずれかです。アセットがユーザーと共有されている場合、またはアクセス権を付与する Anypoint Platform 権限をユーザーが持っている場合、そのユーザーは非公開 API インスタンスを表示できます。Exchange 公開ポータルにアクセスするすべてのユーザーは、すべての公開 API インスタンスを表示できます。Exchange 公開ポータルのすべての API インスタンスは参照のみです。 非公開 Exchange インスタンスでは、アセット管理者は API インスタンスの表示を変更したり、インスタンスを追加、編集、削除したりするアクセス権を持っています。 REST API では、API 機能をテストするためのデータを使用したモッキングサービスが提供されます。モッキングサービスは常に公開です。 ## [](#関連情報)関連情報 - [API へのコールのシミュレーション](https://docs.mulesoft.com/design-center/design-mocking-service) # API カタログ CLI の入門 API カタログ CLI、および​[「API カタログ CLI を使用した自動カタログ化」](https://docs.mulesoft.com/jp/exchange/apicat-about-api-catalog-cli)​で説明されている概念を把握したら、API の自動カタログ化を開始できます。 ## [](#configure-api-catalog-cli-permissions)始める前に Anypoint Platform とやりとりする API カタログ CLI コマンドを実行する権限を付与します。 - **API カタログコントリビューター**​を有効にします。 - 接続アプリケーションを使用して認証する場合、​**View Environment**​ スコープを組織のメイン環境に設定します。
権限は、管理者権限を持つ Anypoint Platform ユーザーが ​[Access Management (アクセス管理)]​ で設定する必要があります。
[権限の管理](https://docs.mulesoft.com/jp/access-management/managing-permissions)​についての詳細は、アクセス管理のドキュメントを参照してください。 ## [](#get-started)API カタログ CLI の使用を開始する API カタログ CLI の使用を開始する手順は、次のとおりです。 1. API カタログ CLI を​[インストール](https://docs.mulesoft.com/jp/exchange/apicat-install-api-catalog-cli)​します。 2. 認証情報を渡す方法や一般的なコマンドフラグを使用する方法など、​[API カタログの一般的な使用を理解](https://docs.mulesoft.com/jp/exchange/apicat-use-api-catalog-cli)​します。 3. [記述子ファイルを作成](https://docs.mulesoft.com/jp/exchange/apicat-create-descriptor-file-cli)​して、パブリッシュする API を識別します。 4. API カタログ CLI を使用して​[アセットをカタログ化](https://docs.mulesoft.com/jp/exchange/apicat-publish-using-api-catalog-cli)​し、Anypoint Exchange で表示します。
コマンドを CI/CD パイプラインまたはカスタムスクリプトに追加する前に、コマンドプロンプトでコマンドを実行して、プロセスのエンドツーエンドをローカルでテストすることを検討してください。
## [](#関連情報)関連情報 - [API カタログ CLI を使用した API の自動カタログ化](https://docs.mulesoft.com/jp/exchange/apicat-about-api-catalog-cli) # API カタログ CLI をインストールする コマンドを実行する前に、API カタログ CLI をインストールする必要があります。 ## [](#始める前に)始める前に - NodeJS と npm (ノードパッケージマネージャー) の最新の LTS バージョンをシステムにダウンロードしてインストールします。 [NodeJS のダウンロードページ](https://nodejs.org/en/download/)​を参照してください。 ## [](#cli-をインストールする)CLI をインストールする: CLI をインストールする手順は次のとおりです。 - ターミナルから次のコマンドを実行します。 npm install -g api-catalog-cli@latest
API カタログ CLI インストールパッケージは npm バージョン 14 を使用して構築されているため、インストールコマンドで npm のバージョンに関する警告メッセージが表示されることがあります。これらのメッセージは無視しても問題ありません。
npm からのインストールの実行に時間がかかり、正常に完了しなかった場合、セキュリティ管理者と協力して、npm から正常にインストールできるようにします。
# API カタログ CLI を使用した API の自動カタログ化 API カタログ CLI を使用すると、自動化プロセスの一部として、API 定義、ドキュメントファイル、および関連するメタデータを検出してカタログ化できます。CI/CD パイプラインやカスタムスクリプトなどの自動化ツールにアセットのパブリッシュコマンドを組み込んで、Exchange への API アセットのパブリッシュを自動的にトリガーできます。API カタログ CLI は、CI/CD ツールとランタイム環境に依存しません。 API カタログ CLI では、次の作業を行うことができます。 - プロジェクトディレクトリ構造内のすべての API を特定し、API を Exchange にパブリッシュするために使用する​[記述子ファイル](#apicat-descriptor-file)​を作成する。 - すべての新規および変更された API を特定し、記述子ファイルを継続的に更新する。 - 分岐やタグなどの条件に基づいて、パブリッシュを​[条件に応じてトリガー](#apicat-trigger-cond)​する。 - 分岐やタグなどの条件に基づいて、​[アセットバージョン戦略を条件に応じて設定](#apicat-version-strategy-cond)​する。 - コマンドプロンプトでコマンドを実行するか、CI/CD パイプラインまたはカスタムスクリプトの一部としてコマンドを実行することで、記述子ファイルに記述されている API をパブリッシュする。 ## [](#サポート対象-api)サポート対象 API API カタログ CLI では、以下がサポートされます。 1. イベント駆動型 API (AsyncAPI 2.0 JSON および AsyncAPI 2.0 YAML 形式) 2. REST API (OAS 2.0 JSON、OAS 2.0 YAML、OAS 3.0 JSON、OAS 3.0 YAML、RAML 0.8、および RAML 1.0 形式) ## [](#api-カタログ-cli-の概念)API カタログ CLI の概念 API カタログ CLI を使用する前に、次の概念を確認してください。 ### [](#apicat-descriptor-file)記述子ファイル 記述子ファイルには、Exchange がディレクトリとそのサブディレクトリ構造内の一連の API をカタログ化するために必要なメタデータが含まれています。このファイルのスキーマは、API カタログ CLI に固有のメタデータをサポートし、​`exchange.json`​ ファイルのインラインまたは参照メタデータを含めることができます。 ### [](#apicat-trigger-cond)トリガー条件 トリガー条件は記述子ファイルで設定され、​`--trigger-criteria`​ フラグを使用した API カタログ CLI の ​`publish-assets`​ コマンドの実行中に、自動パブリッシュプロセスがパブリッシュする API を判断できるようにします。 ### [](#apicat-version-strategy-cond)バージョン戦略条件 バージョン戦略条件は記述子ファイルで設定され、​`--version-strategy-criteria`​ フラグを使用した API カタログ CLI の ​`publish-assets`​ コマンドの実行中に、自動パブリッシュプロセスが API のバージョン戦略を判断できるようにします。 ## [](#関連情報)関連情報 - [API カタログ CLI の入門](https://docs.mulesoft.com/jp/exchange/apicat-get-started) - [CLI を使用した記述子ファイルの作成または更新](https://docs.mulesoft.com/jp/exchange/apicat-create-descriptor-file-cli) - [アセットのパブリッシュ](https://docs.mulesoft.com/jp/exchange/about-sharing-assets) # API カタログ CLI を使用したアセットのパブリッシュ `api-catalog publish-asset`​ コマンドを使用して、API 定義を Exchange にパブリッシュできます。このコマンドを CI/CD パイプラインやカスタムスクリプトなどの自動化ツールに組み込み、API アセットのカタログ化を自動的にトリガーします。コマンドでは、​`--descriptor-file`​ オプションで指定されたファイルの情報を使用して API 定義をパブリッシュします。 ### [](#publish-asset-command)api-catalog publish-asset \> api-catalog publish-asset \[flags\] このコマンドは、次のフラグに加えて、​[一般フラグと認証フラグ](https://docs.mulesoft.com/jp/exchange/apicat-use-api-catalog-cli#common-options)​を受け入れます。
フラグ 説明

--async

パブリッシュジョブを非同期で実行します。

-d, --descriptor-file=descriptor-file

または

ANYPOINT_DESCRIPTOR_FILE​ 環境変数

デフォルト: ./catalog.yaml

カタログ記述子ファイルの名前と場所。

  • ファイルが存在しない場合、アセットはカタログ化されません。

  • ファイルが存在しても空の場合、このコマンドはカタログ記述子 YAML の結果を作成して出力します。現在の作業ディレクトリに関連する完全なディレクトリツリーで見つかったすべての API 定義のカタログ情報を出力します。

  • 有効な YAML ファイルが存在する場合、このコマンドはアセットを指定されたとおりにカタログ化します。

​「CLI を使用した記述子ファイルの作成」​を参照してください。

--dry-run

コマンドを実行して、記述子ファイルが有効であることを確認します。API はパブリッシュされません。

--force-publish

比較せずに、コンテンツに関係なく Exchange に新しいバージョンのアセットを作成します。

--force-update-metadata

コンテンツに関係なく、タグなどのアセットのメタデータを Exchange の最新バージョンに更新します。アセットは再パブリッシュされません。

--json

実行結果を JSON 形式で出力します。

-s, --silent

サイレントログを有効にします。

-t, --trigger-criteria=<descriptor-tag>:<value> --trigger-criteria=<descriptor-tag>:value

このフラグは、記述子ファイルの ​triggerConditions​ セクションと連携して機能します。​api-catalog publish-asset​ コマンドを実行するたびに、トリガー値が記述子ファイルのトリガー条件値と比較され、記述子ファイルに記述されている API をパブリッシュするかどうかが決定されます。複数の条件と照合するには、条件ごとに個別の ​--trigger-criteria​ フラグを指定します。API をパブリッシュするには、記述子ファイルに設定されたすべてのトリガー条件が ​--trigger-criteria​ フラグ値で照合される必要があります。

例:

--trigger-criteria=branch:main --trigger-criteria=anytag:release/ --trigger=user:admin

「記述子 YAML スキーマ」​を参照してください。

-v, --verbose

冗長ログを有効にします。

--version-strategy-criteria=<descriptor-tag>:<value> --version-strategy-criteria=<descriptor-tag>:<value>

このフラグは、記述子ファイルの ​versionStrategyConditions​ セクションと連携して機能します。​api-catalog publish-asset​ コマンドは、バージョン戦略条件値を記述子ファイル内のバージョン戦略条件値と比較して、API のパブリッシュに使用するバージョン戦略を決定します。複数の条件と照合するには、条件ごとに個別の ​--version-strategy-criteria​ フラグを指定します。

例:

--version-strategy-criteria=branch:main --version-strategy-criteria=anytag:release/ --version-strategy-criteria=user:admin

「記述子 YAML スキーマ」​を参照してください。

## [](#始める前に)始める前に API 定義を記述する記述子ファイルを作成し、ファイルをパブリッシュしたり、API プロジェクトが保存されているファイルパスにコピーしたりします。​[「CLI を使用した記述子ファイルの作成」](https://docs.mulesoft.com/jp/exchange/apicat-create-descriptor-file-cli#create-desc-file-cli)​を参照してください。 CLI を使用して API 定義をパブリッシュする手順は、次のとおりです。 - `api-catalog publish-asset`​ コマンドを実行します。次の例では、​`catalog.yaml`​ ファイルで記述された API 定義をパブリッシュします。 \> api-catalog publish-asset -d catalog.yaml --host=anypoint.mulesoft.com --organization=1234abc-b34a-7cd3-4s32-12345abc2345 --username=myAnyPtAccount --password=myPwd@4!myacct 次のセクションのコマンド例は、いくつかのカタログフラグの使用方法を示しています。 - [デフォルト設定を使用してアセットをパブリッシュする](#default-settings) - [Dry Run を実行して記述子ファイルを検証する](#dry-run) - [コンテンツに関係なくアセットをパブリッシュする](#force-publish) - [条件を使用してパブリッシュをトリガーする](#trigger-conditions) - [条件を使用してバージョン戦略を設定する](#versionStrategyConditions) - [Jenkins スクリプトを使用してパブリッシュする](#jenkins-script)​ ## [](#default-settings)デフォルト設定を使用してアセットをパブリッシュする 次の例では、Anypoint Platform の US コントロールプレーンの組織に API をパブリッシュします。指定されていないフラグでは、デフォルト、ログイン情報設定ファイルの設定、環境変数の設定が使用されます。 \> api-catalog publish-asset --organization 1234abc-b34a-7cd3-4s32-12345abc2345 ## [](#dry-run)Dry Run を実行して記述子ファイルを検証する この例は、次のフラグを使用する ​`api-catalog publish-asset`​ コマンドを示しています。 - \--dry-run: コマンドを実行して、記述子ファイルが有効であることを検証しますが、API はパブリッシュしません。 - \--verbose: 結果の最大情報を表示します。 このコマンド例では、標準出力を ​`mycatdryrun.log`​ に送信します。 \> api-catalog publish-asset --host=anypoint.mulesoft.com -d catalog.yaml --organization=1234abc-b34a-7cd3-4s32-12345abc2345 --client\_id=1787c36ab544466698e380131040faad --client\_secret=2dA616efca1E4181A2A77BBF046868BE --dry-run --verbose >> mycatdryrun.log ## [](#force-publish)コンテンツに関係なくアセットをパブリッシュする コンテンツに関係なく新しいバージョンのアセットを Exchange にパブリッシュするには、​`--force-publish`​ フラグを使用します。 この例は、これらの両方のフラグを使用する ​`api-catalog publish-asset`​ コマンドを示しています。指定されていないフラグでは、デフォルト、ログイン情報設定ファイルの設定、環境変数の設定が使用されます。 \> api-catalog publish-asset --host=anypoint.mulesoft.com --descriptor-file=mydescriptor.yaml --organization=1234abc-b34a-7cd3-4s32-12345abc2345 --force-publish ## [](#trigger-conditions)条件を使用してパブリッシュをトリガーする カスタムトリガー条件を使用すると、API カタログ ​`publish-assets`​ が CI/CD パイプラインまたはスクリプトの一部として実行されるときに API をパブリッシュするかどうかを制御できます。この例は、記述された API をパブリッシュするかどうかを制御するために ​`--trigger-criteria`​ フラグが記述子ファイルのトリガー条件にどのように関連付けられるのかを示しています。トリガー条件が API レベルで設定されている場合、その設定はグローバルレベルで設定された条件よりも優先されます。 ### [](#記述子ファイルのトリガー条件の例)記述子ファイルのトリガー条件の例 グローバルレベルの ​`mydescriptor.yaml`​ 記述子ファイルの ​`triggerConditions`​ セクションの例を次に示します。 * * * triggerConditions: ref: - main tags: - migrate - republish status: - complete - ready * * * ### [](#パブリッシュをトリガーする例)パブリッシュをトリガーする例 次のコマンドは、トリガーオプション値が ​`mydescriptor.yaml`​ 記述子ファイルのすべてのグローバルトリガー条件と一致するため、API のパブリッシュをトリガーします。 \> api-catalog publish-asset --host=anypoint.mulesoft.com -d mydescriptor.yaml --organization=1234abc-b34a-7cd3-4s32-12345abc2345 --username=myAnyPtAccount --password=myPwd@4!myacct --trigger-criteria=ref:main --trigger-criteria=tags:migrate --trigger-criteria=status:complete ### [](#パブリッシュをトリガーしない例)パブリッシュをトリガーしない例 次のコマンドは、​`ref`​ のトリガーオプション値が ​`main`​ ではなく ​`test`​ であるため、API のパブリッシュをトリガーしません。すべてのトリガー値が対応するグローバルトリガー条件と一致しないため、API はパブリッシュされません。 \> api-catalog publish-asset --host=anypoint.mulesoft.com -d mydescriptor.yaml --organization=1234abc-b34a-7cd3-4s32-12345abc2345 --username=myAnyPtAccount --password=myPwd@4!myacct --trigger-criteria=ref:test --trigger-criteria=tags:migrate --trigger-criteria=status:complete ## [](#versionStrategyConditions)条件を使用してバージョン戦略を設定する バージョン戦略条件を使用すると、API カタログ ​`publish-asset`​ コマンドが CI/CD パイプラインまたはスクリプトの一部として実行されるときにアセットのバージョンを設定するかどうかを制御できます。この例は、記述された API のバージョン戦略を設定するために ​`--version-strategy-criteria`​ フラグが記述子ファイルのバージョン戦略条件にどのように関連付けられるのかを示しています。バージョン戦略条件が API レベルで設定されている場合、その設定はグローバルレベルで設定された条件よりも優先されます。条件の値が複数のバージョン戦略と一致する場合、コマンドでエラーが発生します。 ### [](#記述子ファイルのバージョン戦略条件の例)記述子ファイルのバージョン戦略条件の例 `mydescriptor.yaml`​ 記述子ファイルの ​`versionStrategyConditions`​ セクションの例を次に示します。 versionStrategyConditions: patchIncrease: branch: ‘main’ author: ‘admin’ snapshot: branch: ‘test’ ‘Develop’ ### [](#パブリッシュ中にバージョン戦略を設定する例)パブリッシュ中にバージョン戦略を設定する例 次のコマンドは、オプション値が ​`mydescriptor.yaml`​ 記述子ファイルの複数の条件と一致するため、パブリッシュ中に複数のバージョン戦略を設定します。 \> api-catalog publish-asset --host=anypoint.mulesoft.com -d mydescriptor.yaml --organization=1234abc-b34a-7cd3-4s32-12345abc2345 --username=myAnyPtAccount --password=myPwd@4!myacct --version-strategy-criteria=branch:main --version-strategy-criteria=author:admin --version-strategy-criteria=branch:test --version-strategy-criteria=branch:Develop 結果のバージョン戦略は次のようになります。 - パッチの増分 (作成者が ​`admin`​ の ​`main`​ 分岐の API の場合)。 - スナップショット (​`test`​ および ​`Develop`​ 分岐の API の場合)。 ### [](#パブリッシュ中にバージョン戦略を設定しない例)パブリッシュ中にバージョン戦略を設定しない例 次のコマンドは、どの値も対応する条件と一致しないため、パブリッシュ中にバージョン戦略を設定しません。記述子ファイルの ​`versionStrategy`​ タグで他の値が設定されていない場合、バージョン戦略はデフォルトの ​`patchIncrease`​ になります。 \> api-catalog publish-asset --host=anypoint.mulesoft.com -d mydescriptor.yaml --organization=1234abc-b34a-7cd3-4s32-12345abc2345 -u myAnyPtAccount -p myPwd@4!myacct ----version-strategy-criteria=branch:abc ----version-strategy-criteria=author:dev ----version-strategy-criteria=branch:xyz ----version-strategy-criteria=branch:pop バージョン戦略とバージョン戦略条件についての詳細は、​[「記述子 YAML スキーマ」](https://docs.mulesoft.com/jp/exchange/apicat-create-descriptor-file-manually)​を参照してください。 ## [](#jenkins-script)Jenkins スクリプトを使用してパブリッシュする この例は、​`api-catalog publish-asset`​ コマンドを実行する Jenkins スクリプトを示しています。 ```java pipeline {     agent any     environment {         ANYPOINT_ORG_ID = '1234abc-b34a-7cd3-4s32-12345abc2345'         CATALOG_DESCRIPTOR = './descriptor.yaml' (1)     }     stages {         stage('git checkout') {             steps {                 git url: 'git@github.com:mygitlocation/api-catalog-cli.git'                 // additional checkout tasks             }         }         stage('Build Artifacts') {             steps {                 // building             }         }         stage('API Cataloging') {             steps {                 withCredentials([                     usernamePassword(credentialsId: 'my-anypoint-creds',                     usernameVariable: 'ANYPOINT_USERNAME',                     passwordVariable: 'ANYPOINT_PASSWORD')                 ]) {                     sh 'api-catalog-cli publish-asset -d $CATALOG_DESCRIPTOR --organization=$ANYPOINT_ORG_ID --host=anypoint.mulesoft.com/ --trigger-criteria=branch:main' (2)                 }             }         }         stage('Deploy') {             steps {                 // Any deployment tasks to be performed, here.             }         }     } ```
1組織と記述子ファイルの値を定義する
2api-catalog publish-asset​ コマンドを実行して、​main​ Github 分岐で検出される API をパブリッシュする
## [](#関連情報)関連情報 - [コマンドおよびフラグの一般的な使用](https://docs.mulesoft.com/jp/exchange/apicat-use-api-catalog-cli) - [CLI を使用した記述子ファイルの作成または更新](https://docs.mulesoft.com/jp/exchange/apicat-create-descriptor-file-cli) - [手動での記述子ファイルの作成または更新](https://docs.mulesoft.com/jp/exchange/apicat-create-descriptor-file-manually) # API のコンシューム Anypoint Exchange は、API を簡単にパブリッシュして組織内外の開発者と共有できる重要な機能を API プロバイダーに提供します。 Exchange は、API コンシューマーが次を使用して API 機能を理解し、機能をテストするために役立ちます。 - API 関数を表示する API Console。このコンソールは、REST API 詳細画面の右に表示されます。 - API ドキュメントを表示し、API 機能をテストするための API Notebook。 - モッキングサービスを使用した API に対するデータのシミュレーション。 - GraphQL スキーマを表示し、クエリを実行する GraphQL コンソール。 ## [](#関連情報)関連情報 - [アセットの REST API 要素を表示する](https://docs.mulesoft.com/jp/exchange/asset-details#view-rest-api-elements-in-an-asset) - [API Notebook で API をテストする](https://docs.mulesoft.com/jp/exchange/asset-details#test-an-api-with-api-notebook) - [REST API のデータのシミュレーション](https://docs.mulesoft.com/jp/exchange/ex2-to-simulate-api-data) - [view-graphql-api-schemas-and-run-queries.adoc](#view-graphql-api-schemas-and-run-queries.adoc) # API のドキュメント化 Anypoint Exchange では、API の各機能を説明し、ユーザーがさまざまな値の API への送信と出力の受信を試すことができるテスト領域を提供する、API Notebook を作成できます。 API Notebook を作成したら、必要に応じてそのノートが非公開か公開かを制御する API インスタンスを作成できます。ノートのインスタンスを非公開に設定することで、組織内の他のユーザーがそのノートを確認できるようになります。準備が整ったら、API Notebook を公開するように API インスタンスを設定できます。 注意: API Notebook は、API インスタンスの使用とは無関係です。 RAML でベース URI を使用しない場合、または API インスタンスを使用しない場合、モッキングサービスを使用してテストデータを生成できます。 トピック: - [API Notebook を使用したアセットのドキュメント化](https://docs.mulesoft.com/jp/exchange/to-use-api-notebook) - [API インスタンスの設定](https://docs.mulesoft.com/jp/exchange/to-configure-api-settings) ## [](#関連情報)関連情報 - [アセットの説明](https://docs.mulesoft.com/jp/exchange/to-describe-an-asset) # 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\] このコマンドは、次のフラグを受け入れます。
フラグ 説明

-d, --file=file

デフォルト: catalog.yaml​

生成されたカタログ記述子ファイルを保存する名前と場所。

--external

記述子ファイルに記述されている API ごとに ​exchange.json​ ファイルを生成し、​projects​ セクションの ​ref​ タグを使用して記述子ファイル内の各 API への参照を追加します。

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\] このコマンドは、次のフラグを受け入れます。
フラグ 説明

-d, --descriptor-file=descriptor-file

デフォルト: catalog.yaml​

更新されたカタログ記述子ファイル情報を保存する名前と場所。

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) # Exchange 1 からのアセットの移行
Exchange 1 のサービス終了日は 2021 年 7 月 18 日です。
Anypoint Exchange 2 では、アセットを使用するための新しい方法が導入されました。Exchange 1 はアセットの保存場所へのリンクのみを提供するリストサービスであるのに対して、Exchange 2 はアセットを保存するパッケージ管理システムです。 Exchange 2 への移行は、アセットタイプによって異なります。
アセットタイプ 移行方法

Example (サンプル)、Template (テンプレート)

OAS REST API

Exchange を使用してパブリッシュ。

RAML REST API

API Designer または Exchange を使用してパブリッシュ。

WSDL SOAP API

Exchange を使用してパブリッシュ。

コネクタ

Node.js connector-uploader プログラムを使用。

## [](#サンプルまたはテンプレートを-exchange-に移行する)サンプルまたはテンプレートを Exchange に移行する 注意: この手順には Maven が必要です。 1. Anypoint Exchange 1 の非公開 Exchange のサンプルまたはテンプレートで、\[Download (ダウンロード)\] をクリックしてアセットをコンピューターにコピーします。 2. Anypoint Studio 6.4.1 以降を開き、\[File (ファイル)\] > \[Import (インポート)\] をクリックします。 3. \[Import (インポート)\] メニューで、\[Anypoint Studio\] > \[Anypoint Studio Generated Deployable Archive (.zip) (Anypoint Studio で生成されたデプロイ可能なアーカイブ (.zip))\] をクリックします。\[Next (次へ)\] をクリックします。zip ファイル名で、​`…​`​ 参照ボタンをクリックし、ダウンロードした zip ファイルの名前をクリックして \[Open (開く)\] をクリックします。 4. \[Finish (完了)\] をクリックします。ランタイムバージョンで \[OK\] をクリックします。 5. 以前に Maven を使用したことがない場合は、Package Explorer でプロジェクト名を右クリックし、\[Mule\] > \[Configure Maven (Maven を設定)\] をクリックして Maven をダウンロードしたフォルダーを見つけます。 Studio で、\[Test Maven Configuration (Maven 設定をテスト)\] をクリックして Maven の使用準備が整っていることを確認し、\[OK\] をクリックします。 Maven の準備が整ったら、Package Explorer でプロジェクト名を右クリックし、\[Mule\] > \[Mavenize (Maven 化)\] をクリックします。 \[Maven Support (Maven サポート)\] プロンプトで、\[Yes (はい)\] をクリックします。 6. \[Action to Perform (実行するアクション)\] メニューで、\[OK\] をクリックします。 7. プロジェクト名を右クリックし、\[Anypoint Platform\] > \[Publish to Exchange (Exchange にパブリッシュ)\] をクリックします。 8. Anypoint Platform のユーザー名とパスワードの入力が促されます。\[Signin (サインイン)\] をクリックします。または、\[Configure (設定)\] をクリックし、OAuth や組織のドメインなどの外部 ID プロバイダーを指定します。 9. \[Publish to Exchange (Exchange にパブリッシュ)\] メニューで、次の操作を実行します。 1. \[Name (名前)\] 項目内にアンダースコアや括弧などの特殊文字がある場合、その文字を削除します。文字、数字、スペース、ドット、およびダッシュのみが許可されています。 2. \[Version (バージョン)\] 項目内に ​`-SNAPSHOT`​ 値がある場合は、その値を削除します。 3. 必要に応じて、\[Project Type (プロジェクトタイプ)\] を \[Example (サンプル)\] または \[Template (テンプレート)\] に設定します。 10. 必要なすべての項目を設定したら、\[FInish (完了)\] をクリックします。\[Proceed Anyway (このまま続行)\] プロンプトで \[Yes (はい)\] をクリックします。 11. 正常にデプロイされたら、Exchange 2 でアセットを参照できるリンクが表示されます。そのリンクをクリックします。 12. Exchange 2 でアセットをクリックし、\[Edit (編集)\] をクリックします。Exchange エディターで、\[Visual (ビジュアル)\] をクリックします。Exchange 1 の説明テキストをコピーし、Exchange 2 エディターでその説明を貼り付けます。必要に応じて書式設定します。\[Save As Draft (ドラフトとして保存)\] をクリックして編集を保存します。\[Publish (パブリッシュ)\] をクリックします。 13. Studio で、\[OK\] をクリックして \[Publish to Exchange (Exchange にパブリッシュ)\] メニューを閉じます。 ## [](#soap-api-wsdl-を移行する)SOAP API WSDL を移行する 1. Exchange 1 に移動し、WSDL ファイルをダウンロードします。 2. Exchange 2 に移動し、\[New (新規)\] をクリックします。 3. タイプドロップダウンで \[API Spec - WSDL (API 仕様 - WSDL)\] を選択します。 4. \[File (ファイル)\] 項目で WSDL ファイルを選択します。 5. 残りの項目に入力します。 6. \[Create (作成)\] をクリックします。 ## [](#rest-api-raml-を移行する)REST API RAML を移行する ​_2017 年 11 月リリースが必要_ 1. API の API Manager ポータルに移動し、API 仕様を zip ファイルとしてエクスポートします。 2. Design Center API Designer に移動し、\[API Specification (API 仕様)\] タイプのプロジェクトを作成します。 3. zip をインポートします。 4. Exchange 2 にパブリッシュします。 ## [](#exchange-1-のコネクタを-exchange-2-に移行する)Exchange 1 のコネクタを Exchange 2 に移行する 1. NPM をダウンロードしてインストールします。 2. 非公開 Exchange にログインし、コネクタをコンピューターにダウンロードします。 3. コネクタの JAR ファイル、pom.xml ファイル、および Studio プラグイン zip ファイルを見つけます。 4. connector-uploader Node.js アプリケーションを取得します。 npm install -g connector-uploader 5. アップロードプログラムを実行します。 connector-uploader 6. 促されたら、コネクタのアップロード先組織の Anypoint Platform ログイン情報を入力します。ビジネスグループを選択してアセット ID とバージョンを入力するように求められます。グループ ID は自動的に生成されます。複数のコネクタをアップロードする場合、アップロードする各ファイルを指定するように求められます。 ## [](#関連情報)関連情報 - [SOAP アセットの移行動画](https://youtu.be/BOAR9glreMw) - [RAML REST アセットの移行](https://youtu.be/WTIJrYydViQ) # Exchange API を使用したアセットのパブリッシュ Exchange API を使用すると、アセットをパブリッシュおよびコンシュームしたり、ドキュメントページを追加したり、カテゴリを追加または編集したり、公開ポータルを管理したりできます。このページには、Exchange API の使用例がいくつか示されています。完全な API ドキュメントは [API ドキュメントポータル](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/exchange-experience-api/)​にあります。 API では、すべての Exchange アセットタイプがサポートされています。 - REST API - SOAP API - HTTP API - AsyncAPI 仕様 - API フラグメント - コネクタ - Mule アプリケーション - 例 - テンプレート - ポリシー - カスタムアセット 新しいアセットは、組織の​[アセット制限](https://docs.mulesoft.com/jp/exchange/to-create-an-asset#asset-limits)​に含まれます。 ## [](#前提条件)前提条件 このドキュメントを活用するには、読者は Exchange、プログラミングの概念、およびコンピューターやサーバーでのコマンドライン操作に精通している必要があります。 アセットをパブリッシュするには、一意のアーティファクト ID と組織 ID が必要です。アーティファクト ID は、グループ ID、アセット ID、バージョンで構成されています。 ## [](#アセットを-exchange-にパブリッシュするために必要なタスク)アセットを Exchange にパブリッシュするために必要なタスク 次のタスクを実行して、アセットを Exchange にパブリッシュし、Exchange API を使用してメタデータを追加します。 1. [組織 ID を見つける](#find-your-organization-id) 2. [認証](#authentication) 1. [アクセストークンを取得する](#obtain-an-access-token) 2. [接続アプリケーション認証を使用する](#use-connected-application-authentication) 3. [アセットをパブリッシュする](#publish-an-asset) 1. [アセットプロパティを指定する](#specify-asset-properties) 2. [同期公開または非同期公開を指定する](#sync-and-async-publication) 3. [可変データの設定](#set-mutable-data) 4. [カテゴリと項目を JSON コレクションとして設定](#set-with-json) 5. [ライフサイクル状態を設定する](#set-lifecycle-state) 6. [アセットアイコンとして使用する画像のアップロード](#upload-asset-icons) 4. [アセットを説明する](#describe-your-assets) 1. [タグを追加する](#add-tags) 2. [カテゴリを追加する](#add-categories) 3. [カスタム項目を追加する](#add-custom-fields) 4. [ライフサイクル状態を昇格する](#promote-lifecycle-state) 5. [アセットメタデータの更新](#update-asset-metadata) 5. [ドキュメントページを追加および更新する](#add-update-doc-pages) 1. [ドラフトモードで新しいページを追加する](#add-new-page-draft) 2. [コンテンツをページに追加する](#add-content-to-page) 3. [ドラフトをパブリッシュする](#publish-draft) 6. [ランタイム情報をアセットに追加する](#add-runtime-info) ## [](#find-your-organization-id)組織 ID を見つける 組織 ID を見つける手順は、次のとおりです。 1. Anypoint Platform にログインし、​**\[Access Management (アクセス管理)\]**​ をクリックします。 2. 最上位組織またはビジネスグループの名前をクリックし、\[organization information (組織情報)\] 画面の組織 ID を参照します。 3. 組織 ID をコピーして、例を試すときに使用します。 ## [](#authentication)認証 Exchange API には、アクセストークンまたは接続アプリケーションによる認証が必要です。 ## [](#obtain-an-access-token)アクセストークンを取得する 1. Anypoint Platform にログインします。 2. cURL コマンドでアクセストークンを取得します。 Postman や別のアプリケーションを使用して HTTP コマンドを送信することもできます。 `ANYPOINT_USERNAME`​ を Anypoint Platform ユーザーアカウント名に置き換えて、​`ANYPOINT_PASSWORD`​ をそのパスワードに置き換えます。 ```console curl --location --request POST 'https://anypoint.mulesoft.com/accounts/login' \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --data-raw '{ "username":"ANYPOINT_USERNAME", "password":"ANYPOINT_PASSWORD" }' | jq -r ".access_token" ``` API コールでこのアクセストークンを使用します。 組織のシステム管理者は、アクセストークンの有効期限を 15 分~ 180 分の値に設定します。検索やより多くの時間を必要とする他の操作を実行する場合、追加のトークンを要求する必要があります。 ## [](#use-connected-application-authentication)接続アプリケーション認証を使用する 接続アプリケーション認証を使用する手順は、次のとおりです。 1. [接続アプリケーションを作成します](https://docs.mulesoft.com/jp/exchange/connected-app-authentication)​。 2. 基本認証を指定し、​`~~~Client~~~`​ としてユーザー名、​`clientID~?~clientSecret`​ としてパスワードを定義します。 1. `clientID`​ をクライアント ID に置き換えます。 2. `clientSecret`​ をクライアントシークレットに置き換えます。 ## [](#publish-an-asset)アセットをパブリッシュする Exchange API バージョン 2 では、マルチパートフォームデータを送信するか、データが含まれる POM ファイルを渡して、アセットを Exchange にパブリッシュできます。 API では、同期または非同期で Exchange にアセットアップロードすることもできます。 API では、サポートされているすべてのアセットタイプ (REST API、SOAP API、HTTP API、AsyncAPI 仕様、API フラグメント、コネクタ、Mule アプリケーション、サンプル、テンプレート、ポリシー、カスタムアセットなど) をアップロードできます。 次の例は、REST API (RAML 仕様) をパブリッシュする方法を示しています。 ### [](#specify-asset-properties)アセットプロパティを指定する アセットを作成する API コールごとに、マルチパートプロパティを指定します。
プロパティ 説明 必須または省略可能

name (名前)

Exchange ポータルページに表示されるアセット名。

必須

description (説明)

アセットの説明。

省略可能

type

作成するアセットタイプ。

ファイル拡張子からタイプを推定できない場合は必須

連動関係

dependencies=GROUP_ID:ASSET_ID:VERSION,GROUP_ID:ASSET_ID:VERSION​ のように定義されるカンマ区切りの連動関係の文字列。

省略可能

keywords (キーワード)

アセットの属性として保存されるカンマ区切り値の文字列 (​keywords=api,raml,auth,jwt,token​ など)。検索クエリでは、アセットをキーワードで検索できます。

省略可能

tags (タグ)

アセットのタグとして送信するカンマ区切り値の文字列 (​tags=tag1,tag2​ など)。タグ項目が要求内に存在しないか空の場合、アセットのタグは変更されません。この文字列は最終バージョンであるため、2 つのタグがあるアセットから 1 つのタグを削除するには、残しておくタグのみを送信します。

省略可能

fields (項目)

プロパティのキーと値が設定されたオブジェクトを項目とする JSON 配列で、カスタム項目を表す。カスタム項目は、組織で設定されている必要があります。カスタムアセットをアップロードする例として、カスタム項目が挙げられます。

省略可能

fields.key

アセットのカスタム項目として送信するカンマ区切り値の文字列。​key​ を、追加または置換するカスタム項目のキーに置き換えます。カスタム項目は、組織で設定されている必要があります。項目要素が要求内に存在しないか空の場合、アセットの項目は変更されません。この文字列は最終バージョンであるため、2 つのカスタム項目があるアセットから 1 つのカスタム項目を削除するには、残しておく項目のみを送信します。

省略可能

categories

プロパティのキーと値が設定されたオブジェクトを項目とする JSON 配列で、カスタム項目を表す。カスタム項目は、組織で設定されている必要があります。カスタムアセットをアップロードする例として、カスタム項目が挙げられます。

省略可能

categories.key

アセットのカテゴリとして送信するカンマ区切り値の文字列。​key​ を、追加または置換するカテゴリのキーに置き換えます。カテゴリは、組織で設定されている必要があります。カテゴリ項目が要求内に存在しないか空の場合、アセットのカテゴリは変更されません。この文字列は最終バージョンであるため、2 つのカテゴリがあるアセットから 1 つのカテゴリを削除するには、残しておくカテゴリのみを送信します。

省略可能

contactName

アセットについて連絡するユーザーの名前。

省略可能

contactEmail

アセットについて連絡するユーザーのメールアドレス。

省略可能

properties

一部のアセットタイプでは、​apiVersion​、​mainFile​、​assetLink​ などのプロパティプレフィックスで追加のプロパティを指定する必要があります (例: properties.apiVersion = v1​)。

一部のプロパティおよびアセットタイプでは必須

次の例では、マルチパートフォームデータを使用して、RAML API 仕様を Exchange にアップロードします。 この例で使用されているファイルは、Exchange API 開発者ポータルの [\[アセット作成](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/exchange-experience-api/minor/2.0/pages/Asset%20Creation/)\]​ ページからダウンロードします。 `/file-path/training-american-flights-api-1.0.0-raml.zip`​ をローカルファイルパスに置き換えます。 ```console curl -v \ -H 'Authorization: bearer ANYPOINT_TOKEN' \ -H 'x-sync-publication: true' \ -F 'name=RAML asset name' \ -F 'description=Description of the asset' \ -F 'keywords=this, is, the, best, raml' \ -F 'dependencies=68ef9520-24e9-4cf2-b2f5-620025690913:training-american-flight-data-type:1.0.1,68ef9520-24e9-4cf2-b2f5-620025690913:training-american-flights-example:1.0.1' \ -F 'properties.mainFile=american-flights-api.raml' \ -F 'properties.apiVersion=v1' \ -F 'files.raml.zip=@/file-path/training-american-flights-api-1.0.0-raml.zip' \ https://anypoint.mulesoft.com/exchange/api/v2/organizations/:organizationId/assets/:groupId/:assetId/:version ``` ### [](#sync-and-async-publication)同期公開または非同期公開を指定する 同期メソッドを使用するには、ヘッダー ​`x-sync-publication:true`​ を追加します。 非同期メソッドを使用するには、ヘッダー ​`x-sync-publication:false`​ を追加するか、​`x-sync-publication`​ ヘッダーなしで要求を送信します。 アセットが非同期でパブリッシュされる場合、次のような応答が返されます。 ```console { "publicationStatusLink":"https://anypoint.mulesoft.com/exchange/api/v2/organizations/67ac7cde-c02c-457f-b826-da2474e63d5a/assets/67ac7cde-c02c-457f-b826-da2474e63d5a/wsdl-asset/1.0.0/publication/status/d47a22a5-90f6-49eb-bfd0-d9fff575e022" } ``` エンドポイント ​`publicationStatusLink`​ では、アセットのパブリッシュ状況が提供されます。 ### [](#set-mutable-data)可変データの設定 この例は、アセットを作成し、同じ要求内でアセットを説明する可変データを設定する方法を示しています。アセットの可変データには、カテゴリ、カスタム項目、タグ、ドキュメントページが含まれます。 アセットのパブリッシュエンドポイントで、新しいアセットが作成されます。アセットがすでに存在する場合、要求はエラー 409 (競合) で失敗します。既存のバージョンの可変データは変更しないでください。代わりに、更新された可変データを使用して新しいパッチバージョンを作成します。たとえば、現在のバージョンが 1.2.3 の場合、バージョン 1.2.4 を作成します。 この例では、キー ​`categoryKey`​ と ​`fieldKey`​ を使用するカテゴリとカスタム項目をパブリッシュします。組織にカテゴリまたはカスタム項目が設定されていない場合、パブリッシュは失敗します。 `files.docs.zip`​ として送信されるドキュメントアーカイブファイルで、アーカイブのルートディレクトリに ​`Getting Started.md`​ などの名前のマークダウンファイルとして各ドキュメントページを含めます。​`Getting Started`​ をページのタイトルに置き換えます。契約条件ページを含めるには、​`terms.md`​ というファイルにコンテンツを配置します。省略可能なサブディレクトリ ​`resources`​ に画像などのリソースを含めます。省略可能なファイル ​`config.json`​ のメインオブジェクトのルートにあるプロパティ ​`pageOrder`​ を使用して、ページの順序を指定します。 ```console { "pageOrder": ["home", "Getting Started", "Examples"] } ``` ```console curl --location --request POST 'https://anypoint.mulesoft.com/exchange/api/v2/organizations/:organizationId/assets/:groupId/:assetId/:version' \ --header 'Authorization: bearer YOUR_TOKEN' \ --header 'x-sync-publication: true' \ --form 'type="custom"' \ --form 'name="Comprehensive Test"' \ --form 'tags="1, 2, 3, 4"' \ --form 'categories.categoryKey="value1, value2"' \ --form 'fields.fieldKey="value1, value2"' \ --form 'contactName="Max Mule"' \ --form 'contactEmail="maxmule@example.com"' \ --form 'files.docs.zip=@"/file-path/docs.zip"' ``` ### [](#set-with-json)カテゴリと項目を JSON コレクションとして設定 マルチパートフォーム内で JSON 形式のカテゴリやカスタム項目を設定または変更するには、プロパティのキーと値を含むオブジェクトの配列を送信します。 組織にカテゴリやカスタム項目が設定されていない場合は要求が失敗します。 カテゴリやカスタム項目をすべて削除するには、空の配列を送信します。 ```none --form 'categories="[]"' --form 'fields="[]"' ``` マルチパートフォームでは JSON 形式のデータが優先されるため、この例では ​`categoryKey2`​ または ​`fieldKey2`​ が設定されません。 例: ```none curl --location --request POST 'https://anypoint.mulesoft.com/exchange/api/v2/organizations/:organizationId/assets/:groupId/:assetId/:version' \ --header 'Authorization: bearer YOUR_TOKEN' \ --header 'x-sync-publication: true' \ --form 'type="custom"' \ --form 'name="Comprehensive Test"' \ --form 'tags="1, 2, 3, 4"' \ --form 'categories="[{"key":"categoryKey", "value":"value1, value2"}]"' \ --form 'categories.categoryKey2="value3"' \ --form 'fields="[{"key":"fieldKey", "value":"value1, value2"}]"' \ --form 'fields.fieldKey2="value3"' \ --form 'files.docs.zip=@"/file-path/docs.zip"' ``` ### [](#set-lifecycle-state)ライフサイクル状態を設定する 新しいアセットバージョンは、​`development`​ 状態またはデフォルトの ​`stable`​ 状態 (​`published`​ とも呼ばれる) のいずれかになります。非推奨にする前のアセットバージョンは stable である必要があります。 Exchange API バージョン 2 を使用してアセットを作成し、そのライフサイクル状態を設定するには、プロパティ ​`status`​ をマルチパート要求に追加します。状態が指定されていない場合、アセットはデフォルトの ​`stable`​ 状態で作成されます。 次の REST API アセットの例は、アセットの作成方法とそのライフサイクル状態の設定方法を示しています。 1. Anypoint Platform にログインし、 [サンプルファイル](https://anypoint.mulesoft.com/exchange/organizations/68ef9520-24e9-4cf2-b2f5-620025690913/assets/68ef9520-24e9-4cf2-b2f5-620025690913/training-american-flights-api/1.0.0/files/fat-raml/zip)​をダウンロードします。 2. `/file-path/training-american-flights-api-1.0.0-raml.zip`​ をダウンロードしたファイルのローカルパスに置き換えます。 3. `ANYPOINT_TOKEN`​、​`:organizationId`​、​`:groupId`​、​`:assetId`​、​`:version`​ を実装に固有の値に置き換えます。 4. プロパティ ​`status`​ を ​`development`​ または ​`published`​ に設定します。 5. Execute (実行): ```console curl -v \ -H 'Authorization: bearer ANYPOINT_TOKEN' \ -H 'x-sync-publication: true' \ -F 'name=RAML asset name' \ -F 'description=Description of the asset' \ -F 'keywords=best, raml' \ -F 'status=development' \ -F 'properties.mainFile=american-flights-api.raml' \ -F 'properties.apiVersion=v1' \ -F 'files.raml.zip=@/file-path/training-american-flights-api-1.0.0-raml.zip' \ https://anypoint.mulesoft.com/exchange/api/v2/organizations/:organizationId/assets/:groupId/:assetId/:version ``` Exchange API バージョン 1 を使用してアセットを作成し、そのライフサイクル状態を設定するには、項目として status プロパティを設定します。 ### [](#upload-asset-icons)アセットアイコンとして使用する画像のアップロード パブリッシュエンドポイントを使用して、アセットアイコンとして使用する画像をアップロードします。Exchange ポータルに表示されるアイコンは、ユーザーがアセットを探すときに役立ちます。アイコンは会社のログやその他の画像にできます。次のファイルの種類がサポートされています。 - GIF - JPG - JPEG - PNG - SVG アセットアイコンは、バージョンに依存しません。これらは、アセットがバージョン設定されても新しいアイコンに置き換わることはありません。 \+ 次の例は、png ファイル画像をアップロードし、アセットアイコンとして使用する方法を示しています。アセットを指定するには、識別子 ​`:groupId`​、​`:assetId`​、​`:version`​ 実装に固有の値に置き換えます。​`files.icon.png`​ が ​`my-asset-icon.png`​ と同じファイルの種類であることを確認します。 ```console curl -v \ -H 'Authorization: bearer ANYPOINT_TOKEN' \ -H 'x-sync-publication: true' \ -F 'name=My asset name' \ -F 'description=Asset with an uploaded icon' \ -F 'files.raml.zip=@/file-path/training-american-flights-api-1.0.0-raml.zip' \ -F 'files.icon.png=@/file-path/my-asset-icon.png' \ https://anypoint.mulesoft.com/exchange/api/v2/organizations/:organizationId/assets/:groupId/:assetId/:version ``` ## [](#describe-your-assets)アセットを説明する アセットをパブリッシュしたら、省略可能な​[タグ](https://docs.mulesoft.com/jp/exchange/to-describe-an-asset#add-asset-tags)​、​[カテゴリ](https://docs.mulesoft.com/jp/exchange/to-manage-categories)​、​[カスタム項目](https://docs.mulesoft.com/jp/exchange/to-manage-custom-fields)​を追加して、メタデータを強化し、アセットを見つけやすくします。 ### [](#add-tags)タグを追加する 次の例は、アセットのタグを挿入または置き換える方法を示しています。各アセットは、グループ ID、アセット ID、バージョンの組み合わせで一意に識別されます。アセットを指定するには、識別子 ​`:groupId`​、​`:assetId`​、​`:version`​ を置き換えます。 次のコマンドでは、アセットの既存のタグが置き換えられます。 ```console curl 'https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/:version/tags' \ -X 'PUT' \ -H 'accept: application/json' \ -H 'authorization: bearer ANYPOINT_TOKEN' \ -H 'content-type: application/json' \ -d '[{"value":"rest-api"}, {"value":"documentation"}]' ``` ### [](#add-categories)カテゴリを追加する カテゴリは、組織のシステム管理者が追加および管理する管理項目です。 次の例では、以前に作成した ​`apiType`​ という名前のカテゴリを使用し、アセットのそのカテゴリの値を ​`System API`​ に設定します。各アセットは、グループ ID、アセット ID、バージョンの組み合わせで一意に識別されます。アセットを指定するには、識別子 ​`:groupId`​、​`:assetId`​、​`:version`​ を置き換えます。 ```console curl -X PUT \ https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/:version/tags/categories/apiType \ -H 'Authorization: bearer ANYPOINT_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "tagValue": ["System API"] }' ``` ### [](#add-custom-fields)カスタム項目を追加する 次の例では、以前に作成した ​`subType`​ という名前のカスタム項目を使用して、アセットのそのカテゴリの値を ​`OAS`​ に設定します。各アセットは、グループ ID、アセット ID、バージョンの組み合わせで一意に識別されます。アセットを指定するには、識別子 ​`:groupId`​、​`:assetId`​、​`:version`​ を置き換えます。 ```console curl -X PUT \ https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/:version/tags/fields/subType \ -H 'Authorization: bearer ANYPOINT_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "tagValue": ["OAS"] }' ``` ### [](#promote-lifecycle-state)ライフサイクル状態を昇格する 考えられる 3 つの​[アセットライフサイクル状態](https://docs.mulesoft.com/jp/exchange/lifecycle)​の昇格を次に示します。 1. `development`​ から ​`stable` 2. `stable`​ から ​`deprecated` 3. `deprecated`​ から ​`stable` `stable`​ 状態は ​`published`​ とも呼ばれます。 この例では、​`ANYPOINT_TOKEN`​、​`:groupId`​、​`:assetId`​、​`:version`​ を実装に固有の値に置き換え、​`:status`​ を ​`development`​、​`published`​、​`deprecated`​ のいずれかに置き換えます。 ```console curl -X https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/:version/status \ -H 'Authorization: bearer ANYPOINT_TOKEN' \ -d '{"status": ":status"}' ``` ### [](#update-asset-metadata)アセットメタデータの更新 この例は、バージョン番号を変更したり、アセットの新しいバージョンを作成したりせずに、既存のアセットを説明する可変メタデータを更新する方法を示しています。この可変データには、カテゴリ、カスタム項目、タグ、ドキュメントページが含まれます。 キー ​`categoryKey`​ はカテゴリをパブリッシュし、キー ​`fieldKey`​ はカスタム項目をパブリッシュします。組織にカテゴリまたはカスタム項目が設定されていない場合、パブリッシュは失敗します。 `files.docs.zip`​ というドキュメントファイルをアップロードすると、アセットのドキュメントが更新されます。アーカイブのルートディレクトリには、​`Getting Started.md`​ などの名前のマークダウンファイルとして各ドキュメントページが含まれています。他の各ページは、ファイル名の ​`Getting Started`​ がページのタイトルに置き換えられます。省略可能な契約条件ページには、ファイル名 ​`terms.md`​ が使用されます。省略可能なサブディレクトリ ​`resources`​ には、画像などのリソースが含まれます。省略可能なファイル ​`config.json`​ のメインオブジェクトのルートにあるプロパティ ​`pageOrder`​ では、ページの順序が指定されます。 ```console { "pageOrder": ["home", "Getting Started", "Examples"] } ``` ```console curl --location --request PATCH 'https://anypoint.mulesoft.com/exchange/api/v2/organizations/:organizationId/assets/:groupId/:assetId/:version/mutabledata' \ --header 'Authorization: bearer YOUR_TOKEN' \ --form 'tags="1, 2, 3, 4"' \ --form 'categories.categoryKey="value1, value2"' \ --form 'fields.fieldKey="value1, value2"' \ --form 'files.docs.zip=@"/file-path/docs.zip"' ``` 可変データは非同期で更新され、要求は次のような応答を返します。 ```console { "mutableDataStatusLink":"https://anypoint.mulesoft.com/exchange/api/v2/organizations/:organizationId/assets/:groupId/:assetId/:version/mutabledata/status/170d1e6f-d567-48e2-a2f4-00b2e3951be6" } ``` `mutableDataStatusLink`​ へのコールで、パブリッシュの状況が表示されます。 ```console curl https://anypoint.mulesoft.com/exchange/api/v2/organizations/:organizationId/assets/:groupId/:assetId/:version/mutabledata/status/170d1e6f-d567-48e2-a2f4-00b2e3951be6 \ --header 'Authorization: bearer YOUR_TOKEN' ``` 要求で認証ヘッダーが提供されない場合、エラー​**「Unauthorized (未認証)」**​で失敗します。 ## [](#add-update-doc-pages)ドキュメントページを追加および更新する 各 Exchange アセットには、アセットに関する概要やその他の情報を提供するドキュメントが関連付けられています。Exchange API でドキュメントを追加または更新するには、「Exchange administrator (Exchange 管理者)」権限またはる「Exchange Contributor (Exchange コントリビューター)」権限が必要です。 Exchange API を使用してドキュメントを追加または更新する手順は、次のとおりです。 1. ドラフトモードで新しいページを追加します。 2. コンテンツをページに追加します。 3. ドラフトをパブリッシュします。 ### [](#add-new-page-draft)ドラフトモードで新しいページを追加する 新しいドキュメントページを追加するには、次のコマンドを使用して ​`:groupId`​、​`:assetId`​、​`:version`​ をアセットの値に置き換えます。 ```console curl https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/:version/portal/draft/pages \ -X POST \ -H 'Authorization: bearer ANYPOINT_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "pagePath": "Security" }' ``` コマンドが成功したら、新しく作成されたページの ​`pageId`​ 値が返されます。 Exchange では、アセットの Exchange ポータルページのデフォルトのホームページに新しいドラフトページが表示されます。このページを編集してドラフトをパブリッシュするには、ポータルユーザーインターフェースまたは Exchange API を使用します。 ### [](#add-content-to-page)コンテンツをページに追加する ドキュメントページは、GitHub マークダウンで作成されます。詳細は、​[「マークダウンに関する注意」](https://docs.mulesoft.com/jp/exchange/to-describe-an-asset#markdown-notes)​を参照してください。 マークダウンコンテンツを追加するには、次のコマンドを使用して、​`:pageId`​ を前に取得したページ ID に置き換えます。 ```console curl https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/:version/portal/draft/pages/:pageId \ -X PUT \ -H 'Authorization: bearer ANYPOINT_TOKEN' \ -H 'Content-Type: text/markdown' \ -d 'markdown *content* for this page' ``` ### [](#publish-draft)ドラフトをパブリッシュする ドラフトをパブリッシュすると、アセットに関連付けられていて現在 \[draft (ドラフト)\] 状況のすべてのページとコンテンツがパブリッシュされます。コンテンツの準備ができたら場合、ページの状況を \[draft (ドラフト)\] から \[published (パブリッシュ済み)\] に変更します。 ```console curl https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/:version/portal \ -X PATCH \ -H 'Authorization: bearer ANYPOINT_TOKEN' ``` ## [](#add-runtime-info)ランタイム情報をアセットに追加する API アセットにコンシューマーが API を検出、学習、理解するために必要なすべての情報が追加されたら、コンシューマーが API を呼び出すことができるようにサーバーまたはインスタンス情報を追加します。​`:groupId`​、​`:assetId`​、​`:versionGroup`​ を API アセットのグループ ID、アセット ID、バージョン ID に置き換えます。 ```console curl https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/versionGroups/:versionGroup/instances/external \ -X POST \ -H 'Authorization: bearer ANYPOINT_TOKEN' \ -d '{ "name": "Production - US", "endpointUri": "http://dog.domain.tld.com/much/doge", "isPublic": false }' ``` ## [](#関連情報)関連情報 - [EU Exchange](https://eu1.anypoint.mulesoft.com/exchange/) - [Exchange API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/exchange-experience-api/) # Exchange Cookie について Anypoint Exchange では、Cookie を使用して、ユーザー設定の保存、ユーザーエクスペリエンスの強化、パフォーマンスの改善が行われます。 通常、Web サイトでは複数の種類の Cookie が使用されます。 - サイトが正常に機能するために必要な Cookie - 特定のサイト機能に必要な機能性 Cookie - どのサイト機能にも必要ない機能性 Cookie - 広告 Cookie Exchange が正常に機能するには、いくつかの Cookie (セッション詳細の Cookie や認証情報の Cookie など) が必要です。 通常、Exchange では機能性 Cookie (サイト分析の Cookie など) が使用されます。ただし、Exchange ではサイト機能の機能性 Cookie は必要ありません。 Exchange ドキュメントのコンテンツでは、広告 Cookie がよく使用されます。Exchange ポータルに埋め込まれた動画が広告 Cookie を使用するサードパーティサイト (YouTube など) でホストされている場合、広告 Cookie を無効にしている Web サイト訪問者に動画は表示されず、そのことを説明するメッセージが表示されます。 ## [](#cookie-同意管理)Cookie 同意管理 Exchange では、マーケティングおよびプライバシーの規制に準拠して、公開ポータル Web サイト訪問者に Cookie 同意管理とすべての Cookie の完全なドキュメントが提供されます。 一部の国では、Web サイト訪問者から明示的な同意を得てからでないと必須でない Cookie を Web サイトで使用できません。 この要件のある国のユーザーが Exchange 公開ポータルを初めてアクセスすると、ブラウザーに保存される Cookie について Exchange から通知があり、ユーザーはデフォルト設定を受け入れるか、Cookie 同意マネージャーを開いて Cookie を設定します。Exchange は、IP アドレスでユーザーの国を判断します。 Exchange の \[cookie preferences (Cookie 設定)\] ボタンにより、すべての国のユーザーは Cookie 同意マネージャーを開いて、いつでも各自の設定を確認または変更できます。 Cookie 同意マネージャーには、必須の Cookie、機能性 Cookie、広告 Cookie の設定と Cookie に関する一般情報が表示されます。 Web サイト訪問者は、Cookie 同意マネージャーを使用して、サイトで使用されている Cookie を表示したり、すべての個々の Cookie の説明を参照したり、これらの Cookie で何が行われているのかを確認したり、機能性 Cookie や広告 Cookie を有効または無効にしたりします。 ## [](#バニティドメイン)バニティドメイン Exchange 公開ポータルのバニティドメインを有効にする場合、​[公開ポータルのバニティドメインの指示](https://docs.mulesoft.com/jp/exchange/portal-vanity-domain)​に従って Cookie 同意管理を有効にします。 ## [](#exchange-で使用される-cookie)Exchange で使用される Cookie
Cookie の名前 Duration (所要時間) Cookie の種類 説明

__cfduid

セッション

必須

お客様の Web サイトへの悪意のある訪問者を Cloudflare で検出しやすくして、正当なユーザーがブロックされることを最小限に抑えます。

​__tld__​

セッション

機能性

複数の Web サイトの訪問者を追跡し、訪問者の設定に関連する広告を表示します。

_csrf

セッション

必須

クロスサイトリクエストフォージェリ攻撃を防ぎやすくして、サイトのセキュリティを確保します。

_ga

730 日

機能性

サイト分析のために訪問者、セッション、キャンペーンデータを計算します。

_gat

セッション

機能性

要求レートを調整して、トラフィックの多いサイトのデータ収集を制限します。

_gid

1 日

機能性

一意の ID を登録して、訪問者がどのように Web サイトを使用するのかに関する統計データを生成します。

ajs%3Acookies

365 日

機能性

Web サイトの使用、サービスパフォーマンス、機能をサポートします。

ajs%3Atest

365 日

機能性

パフォーマンス分析のために参照数を数え、Web サイトトラフィックに関連する他のメトリクスを追跡します。

ajs_anonymous_id

365 日

機能

サイト分析のためにサイトの訪問者数を数えます。

ajs_group_id

365 日

機能性

Web サイト内の訪問者の使用状況とイベントを追跡します。

ajs_user_id

365 日

機能性

訪問者の使用状況、イベント、対象マーケティングを追跡しやすくし、場合によってはアプリケーションのパフォーマンスと安定性も測定します。

amplitude_cookie_test

セッション

機能性

パートナーのデータ同期が機能していて、現在実行されているかどうかを検出します。

amplitude_id_7856322d613393b800727439f0954eb9mulesoft.com

3650 日

機能性

正確な Web 分析のために、振幅を使用して一意のユーザーアクセスを識別します。

amplitude_idundefinedmulesoft.com

セッション

機能性

正確な Web 分析のために、振幅を使用して一意のユーザーアクセスを識別します。

amplitude_testmulesoft.com

セッション

機能性

正確な Web 分析のために、振幅を使用して一意のユーザーアクセスを識別します。

exchange.sess

セッション

必須

Exchange 内のユーザーセッションを維持します。個人情報は Cookie に保存されません。

exchange.sess.sig

セッション

必須

Exchange セッション Cookie の検証に使用される署名を保存します。

exchange.loginCSRFToken

セッション

必須

ログインのクロスサイトリクエストフォージェリ攻撃を阻止します。

IDE

729 日

広告

Doubleclick プラットフォーム (リアルタイム入札広告エクスチェンジ) をサポートします。

JSESSIONID

セッション

機能性

Web およびモバイルアプリケーションのパフォーマンスを監視する New Relic プラットフォームをサポートします。

mulesoft.sess

セッション

必須

Anypoint Platform 内のユーザーセッションを維持します。個人情報は Cookie に保存されません。

mulesoft.sess.sig

セッション

必須

Anypoint Platform セッション Cookie の検証に使用される署名を保存します。

test_cookie

セッション

広告

Doubleclick プラットフォーム (リアルタイム入札広告エクスチェンジ) をサポートします。

XSRF-TOKEN

セッション

必須

クロスサイトリクエストフォージェリ攻撃を防ぎやすくして、サイトのセキュリティを確保します。

zarget_visitor_info

365 日

機能性

分析とカスタマイズをサポートします。

# Exchange プラットフォーム API Anypoint Exchange には、Exchange API を使用したアセットのパブリッシュとコンシューム、Exchange Maven Facade API を使用したアセットのパブリッシュとコンシューム、Exchange Graph API を使用したアセットの検索を行うための API 機能があります。 Maven Facade では、統合アセットをパブリッシュすることもできます。 Exchange API: - [Exchange API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/exchange-experience-api/) - [Exchange Maven Facade API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/exchange-maven-facade-api-http/) - [Exchange Graph API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/exchange-graph-http/) トピック: - [Exchange API を使用した Exchange アセットのパブリッシュとデプロイ](https://docs.mulesoft.com/jp/exchange/exchange-api) - [Maven を使用した Exchange アセットのパブリッシュとデプロイ](https://docs.mulesoft.com/jp/exchange/to-publish-assets-maven) - [Graph API を使用した検索](https://docs.mulesoft.com/jp/exchange/to-search-with-graph-api) ## [](#関連情報)関連情報 - [Anypoint Platform API - 開発者ポータル](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/) - [API のコンシューム](https://docs.mulesoft.com/jp/exchange/about-api-use) - [API インスタンスの設定](https://docs.mulesoft.com/jp/exchange/to-configure-api-settings) # Exchange 公開ポータル Exchange 公開ポータルは、インターネットを使用して誰でもアクセスできるため、組織外の開発者でも、その組織の REST、SOAP、HTTP API にアクセスできます。ログインしていないユーザーは、公開ポータルからアセットをダウンロードできます。 Exchange 公開ポータルは、以前の​_開発者ポータル_​の代わりに使用されます。 ポータルの外観とコンテンツは、ロゴ、バナー画像、テキスト、およびブラウザータブのお気に入りを追加してカスタマイズできます。 ## [](#アセットの共有やアセットの説明の更新を行う)アセットの共有やアセットの説明の更新を行う Exchange 管理者は、組織外のユーザーが識別できるように組織のアセットの説明を編集し、アセットを公開ポータルにパブリッシュして共有できます。 1. 組織の Exchange インスタンスでアセットを見つけます。 2. アセットの説明を編集し、アセットをパブリッシュします。 3. 公開ポータルに戻ってアセットをクリックし、変更を確認します。 ## [](#他の組織のユーザーがポータルにアクセスする方法)他の組織のユーザーがポータルにアクセスする方法 公開ポータルは、誰でもログインすることなく表示できます。 Anypoint ユーザーは、任意のページで ​**\[Login (ログイン)\]**​ ボタンをクリックして、アセットの確認、アセットのダウンロード、API アクセスを要求するクライアントアプリケーションの作成、API のアクセスなどの機能を使用できます。 お客様の組織ではなく他の Anypoint 組織に属している Anypoint ユーザーは、お客様の組織のポータルの​_外部ユーザー_​になります。 組織のシステム管理者は、外部ユーザーの基本プロファイルのみを表示できます。 基本プロファイルには、次の項目のみがあります。 - **Name (名前)**​ - **Username (ユーザー名)**​ - **Email (メール)**​ - **Primary Organization (プライマリ組織)** 外部ユーザーは、初めて公開ポータルにログインしようとするときに、この基本プロファイルへの参照のみアクセスを許可するように求められます。この要求を承認すると、ユーザーは公開ポータルにログインし、これらの情報が ​**\[External Users (外部ユーザー)\]**​ タブに追加されます。Anypoint Platform でこのタブを表示するには、​**\[Access Management (アクセス管理)\]**​ > ​**\[Users (ユーザー)\]**​ > ​**\[External Users (外部ユーザー)\]**​ をクリックします。 組織のシステム管理者は、そのタブで各外部ユーザーを有効または無効にできます。ユーザーはデフォルトで有効になります。無効にすると、公開ポータルにアクセスできなくなります。 組織内のユーザーは、外部ユーザーがアクセスできない機能 (アプリケーションのデプロイなど) にアクセスできます。組織に参加するように外部ユーザーを招待できます。招待されたユーザーは、これらの機能を使用できます。 ## [](#関連情報)関連情報 - [Exchange 公開ポータルのカスタマイズ](https://docs.mulesoft.com/jp/exchange/to-customize-portal) - [公開ポータルのバニティドメイン](https://docs.mulesoft.com/jp/exchange/portal-vanity-domain) # Exchange 公開ポータルのカスタマイズ Exchange 管理者または組織のオーナーアクセス権がある場合、Exchange 公開ポータルの外観をカスタマイズできます。 公開ポータルにアクセスし、ナビゲーションバーの右にある ​**\[Customize (カスタマイズ)\]**​ をクリックします。 ## [](#ポータルデフォルト設定)ポータルデフォルト設定 ポータルのカスタマイズをデフォルト設定に戻す必要がある場合、次の値を使用します。 - 背景色: #262728 - テキストの色: #FFFFFF - テキストの色 (有効): #00A2DF - [\[Welcome (ようこそ)](https://cdn.anypoint.mulesoft.com/artifacts/exchange-ui/images/hero-image-default.png) セクションのヒーロー画像\] **注意:**​ ブラウザーで画像を開き、右クリックして画像をコンピューターに保存します。Exchange で、画像をアップロードし、 ポータルの画像をコンピューターの画像に置き換えることができます。 - \[Welcome (ようこそ)\] セクションのテキストの色: #FFFFFF ## [](#バナーテキスト)バナーテキスト **\[Customize (カスタマイズ)\]**​ をクリックした後に、バナーテキストをクリックします。変更するテキストを削除し、新しいテキストを追加します。 ## [](#上部バーのカスタマイズ)上部バーのカスタマイズ 上部ナビゲーションバーの外観を変更できます。 ### [](#ロゴ画像)ロゴ画像 ロゴ画像ファイルを選択します。ファイル内の画像の高さが 60 ピクセルを超える場合、Exchange では画像が 60 ピクセルの高さにサイズ変更されます。画像は縦横比を保ったままサイズ変更されます。たとえば、500 x 500 ピクセルの画像は 60 x 60 ピクセルにサイズ変更されます。 画像ファイルには、​`bmp`​、​`gif`​、​`ico`​、​`jpe`​、​`jpeg`​、​`jpg`​、​`png`​、​`svg`​、​`tif`​、​`tiff`​、または ​`webp`​ 形式を使用できます。 SVG ファイルは 100 KB 以下に制限されます。 ### [](#ブラウザータブのお気に入りアイコン)ブラウザータブのお気に入りアイコン 公開ポータルのブラウザータブに表示されるお気に入りアイコン画像を選択します。画像の最大サイズは、ブラウザーの要件によって 異なります。お気に入りアイコンファイルには、最大 5 個のサイズ (16 x 16、32 x 32、64 x 64、128 x 128、512 x 512 など) を含めることができます。 ### [](#背景色)背景色 上部タスクバーの色に赤 - 緑 - 青 (RGB) の 16 進数値を選択します。 ### [](#テキストの色)テキストの色 上部バーテキストに 16 進数の RGB 色を指定します。色は、白の #FFFFFF から黒の #000000 までの範囲です。少なくとも 3 つの 16 進文字を指定する必要があります。たとえば、#F42 を指定すると、#FF4422 の値が生成されます。この項目は大文字と小文字を区別しません。 ### [](#有効なテキストの色)有効なテキストの色 テキストにマウスポインターが置かれているときの上部バーテキストの 16 進数の RGB 色を指定します。色は、白の #FFFFFF から黒の #000000 までの範囲です。少なくとも 3 つの 16 進文字を指定する必要があります。たとえば、#F42 を指定すると、#FF4422 の値が生成されます。この項目は大文字と小文字を区別しません。 ## [](#ヒーロー画像バナー)ヒーロー画像バナー 公開ポータルのバナーの画像を選択します。ヒーロー画像ファイルには、​`bmp`​、​`gif`​、​`ico`​、​`jpe`​、​`jpeg`​、​`jpg`​、​`png`​、​`svg`​、​`tif`​、​`tiff`​、または ​`webp`​ 形式を使用できます。 バナー画像の最大ファイルサイズは 2 MB です。バナー画像をアニメーション GIF ファイルにすることもできます。 指定した画像は、ブラウザーのウィンドウサイズによって決定されるウィンドウサイズに合わせて伸縮されます。高さは 220 ピクセルに固定されています。 SVG ファイルは 100 KB 以下に制限されます。 ### [](#バナーテキストの色)バナーテキストの色 バナーテキストの 16 進数の赤 - 緑 - 青の色を指定します。色は、白の #FFFFFF から黒の #000000 までの範囲です。少なくとも 3 つの 16 進文字を指定する必要があります。たとえば、#F42 を指定すると、#FF4422 の値が生成されます。この項目は大文字と小文字を区別しません。 ## [](#カスタムページ)カスタムページ カスタムページは、公開ポータルの上部にタブとして表示されます。Exchange のビジュアルエディターまたはマークダウンエディターを使用して、テキスト、画像、または動画をページに追加します。 カスタムページを削除するには、​**\[Delete Page (ページを削除)\]**​ をクリックします。このボタンが見つからない場合は、公開ポータルブラウザーウィンドウのサイズを変更して ​**\[Delete Page (ページを削除)\]**​ ボタンを表示します。 カスタムページタブの順序を変更するには、​**\[Custom pages (カスタムページ)\]**​ リスト内のエントリを目的の順序にドラッグします。 ## [](#login-page-ログインページ)Login Page (ログインページ) ユーザーは、いつでも Anypoint Platform ログインを使用して組織の Exchange 公開ポータルにアクセスできます。 Anypoint Platform ​[ID 管理](https://docs.mulesoft.com/jp/access-management/external-identity)​を使用して、Okta などのサードパーティ ID プロバイダー (IdP) を使用するオプションをログインページに追加できます。 多くの組織では、内部ユーザーにはサードパーティ IdP を使用するシングルサインオン (SSO)、外部ユーザーには Anypoint Platform ログインを提供します。 外部ユーザーは、オンボーディング、クライアント ID とクライアントシークレットの取得、コメントの入力、API の評価を行うためにログインします。 公開ポータルの組織のブランディングのカスタマイズ (背景色、テキストの色、アクティブなテキストの色、ロゴなど) は、ログインページに適用されます。 ## [](#関連情報)関連情報 - [公開ポータルのバニティドメイン](https://docs.mulesoft.com/jp/exchange/portal-vanity-domain) - [アセットの説明](https://docs.mulesoft.com/jp/exchange/to-describe-an-asset) - [Stack Overflow のお気に入りアイコンに関するディスカッション](https://stackoverflow.com/questions/4014823/does-a-favicon-have-to-be-32x32-or-16x16) # FAQ このトピックでは、よくある質問とその回答をまとめました。 ## [](#ドラフトのレビューとパブリッシュに期待されるワークフローは)ドラフトのレビューとパブリッシュに期待されるワークフローは? Exchange にはドラフト機能があります。ドラフト状態のコンテンツは、ドラフトがパブリッシュされるまで非表示になります。 ユーザーはドラフトを作成して 2 番目のユーザーと URL を共有できます。2 番目のユーザーはこれらのページをレビューし、パブリッシュすることができます。 すべてのコントリビューターは、ドラフトをパブリッシュする権限を含め、同じ権限を持っています。職務の分離は Exchange によって適用されず、ユーザーが順守する必要があります。 ユーザーはドラフトを削除できます。それにより、ドラフトに加えられたすべての変更は破棄されます。 ## [](#開発者ポータルの最新のバージョンの場所は)開発者ポータルの最新のバージョンの場所は? MuleSoft 開発者ポータルは [https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/) にあります。 ## [](#api-portal-を作成する方法は)API Portal を作成する方法は? Anypoint Platform の組織のシステム管理者または Exchange 管理者が Exchange に初めてログインしたときに、 公開ポータルが自動的に作成されます。ポータルへのリンクは左の ナビゲーションバーに表示されます。API アセットをポータルに追加したら、インターネットで 表示されるようになります。ポータルにアセットを追加する方法については、​[「アセットが公開ポータルに表示されない理由は?」](#whynoinpp)​を参照してください。 ポータルの URL の形式は ​`https://anypoint.mulesoft.com/exchange/portals/YOUR_LOGIN_NAME/`​ です。 ## [](#whynoinpp)アセットが公開ポータルに表示されない理由は? \[Share (共有)\] ボタンをクリックして \[Add to the Public Portal (公開ポータルに追加)\] をクリックし、SOAP API、HTTP API、AsyncAPI、OAS または RAML REST API アセットを公開ポータルに追加できます。アセットを公開ポータルと共有すると、そのアセットが公開され、公開ポータルの URL でインターネット上の全員に表示されます。 ## [](#公開ポータルからアセットを削除する方法は)公開ポータルからアセットを削除する方法は? Exchange でアセットをクリックして \[Share (共有)\] をクリックします。\[Add to the Public Portal (公開ポータルに追加)\] をクリックします。\[API version (API バージョン)\] チェックボックス項目をクリックしてオフにします。\[Share (共有)\] をクリックします。Exchange で ブラウザーの画面を更新すると、アセットの \[Overview (概要)\] の \[Visibility (表示)\] 設定が \[Private (非公開)\] に変更されています。 ## [](#アセットの名前を変更しても-exchange-で古い名前が使用される理由は)アセットの名前を変更しても Exchange で古い名前が使用される理由は? アセットの名前を変更したら、キーボードの Return (または Enter) キーを押します。Return キーを 押さないと、Exchange でのアセット名は変更前の名前に戻されます。 ## [](#json-スニペットを-exchange-に追加し別の-json-スキーマからそのスニペットを参照できますか)JSON スニペットを Exchange に追加し、別の JSON スキーマからそのスニペットを参照できますか? RAML データ型は使用できますが、別の JSON スキーマによって参照される JSON は使用できません。 ## [](#studio-6-を使用する-windows-7-の-exchange-アセットに-css-がない理由は)Studio 6 を使用する Windows 7 の Exchange アセットに CSS がない理由は? Exchange は、Windows の最新バージョンの Chrome、Firefox、および Internet Explorer 11 でのみ機能します。IE 9 はサポートされていないため、Exchange は正しく表示されません。 ## [](#maven-を介して-exchange-にカスタムコネクタを転送するときにカスタムアイコンを定義する方法は)Maven を介して Exchange にカスタムコネクタを転送するときに、カスタムアイコンを定義する方法は? PUT を使用して、アイコン分類子と共に SVG アイコンを Exchange REST API にアップロードできます。Exchange ではそのアイコンの周囲に丸い境界線が追加されます。認証ヘッダーにベアラーとアクセストークンを渡す必要があります。 たとえば、アイコンファイルを HTTP 本文に追加し、次のような PUT を使用します。 https://maven.anypoint.mulesoft.com/api/v1/organizations/:organizationId/maven/:groupId/:assetId/:version/:assetId-:version-icon.svg ## [](#ci-および-cd-パイプラインの一部として-exchange-へのアセットの公開を統合できますか)CI および CD パイプラインの一部として Exchange へのアセットの公開を統合できますか? [Exchange Experience API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/exchange-experience-api/)​ を使用して、違いがある場合はそれを検出できるため、変更がない場合は Exchange に再パブリッシュしないようにします。 ## [](#exchange-から-raml-ファイルをダウンロードする-api-はありますか)Exchange から RAML ファイルをダウンロードする API はありますか? [Graph API (推奨)](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/exchange-graph-http/)​ または [Exchange Experience API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/exchange-experience-api/)​ を使用できます。 ## [](#api-のオーナーを変更する方法は)API のオーナーを変更する方法は? 次の REST API コマンドを使用できます。 ```console curl -X POST \ https://anypoint.mulesoft.com/apiplatform/repository/v2/organizations//apis//permissions \ -H 'authorization: Bearer ' \ -H 'content-type: application/json' \ -d '{"userId":""}' ``` # Graph API を使用した検索 Exchange Graph API を使用して、Exchange アセットで文字列値を検索します。各検索で返される値を指定できます。 Exchange Graph API は Anypoint Exchange および Anypoint Platform にアクセスします。検索には、非公開 Exchange のアセットにアクセスするための認証が必要です。MuleSoft 公開アセットのみを検索する場合、認証は必要ありません。 Exchange Graph API は、Anypoint Platform アカウントなしで使用し、MuleSoft によって一般公開されているアセットを検索できます。API を介して非公開コンテンツにアクセスするには、Anypoint Platform アカウントが必要です。 ## [](#認証)認証 認証には、アクセストークンまたは接続アプリケーションのいずれかを使用します。 認証は、MuleSoft によって作成されていないアセットを検索する場合にのみ必要です。 トークン認証を使用する手順は、次のとおりです。 1. Anypoint Platform にログインします。 2. cURL コマンドでアクセストークンを取得します。 Postman や別のアプリケーションを使用して HTTP コマンドを送信することもできます。 `ANYPOINT_USERNAME`​ を Anypoint Platform ユーザーアカウント名に置き換えて、​`ANYPOINT_PASSWORD`​ をそのパスワードに置き換えます。 ```console curl --location --request POST 'https://anypoint.mulesoft.com/accounts/login' \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --data-raw '{ "username":"ANYPOINT_USERNAME", "password":"ANYPOINT_PASSWORD" }' | jq -r ".access_token" ``` API コールでこのアクセストークンを使用します。 組織のシステム管理者は、アクセストークンの有効期限を 15 分~ 180 分の値に設定します。検索やより多くの時間を必要とする他の操作を実行する場合、追加のトークンを要求する必要があります。 [Access Management API の「Authentication (認証)」](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/access-management-api/api/v1/pages/Authentication/)​も参照してください。 接続アプリケーション認証を使用する手順は、次のとおりです。 1. [接続アプリケーションを作成](https://docs.mulesoft.com/jp/exchange/connected-app-authentication)​します。 2. 基本認証を使用するか、クエリ変数認証を使用するかを選択します。 基本認証とクエリ変数認証の両方が設定されている場合、API は基本認証を使用し、クエリ変数認証を無視します。 3. 基本認証を使用するには、基本認証を指定し、​`~~~Client~~~`​ としてユーザー名、​`clientID~?~clientSecret`​ としてパスワードを定義します。 1. `clientID`​ をクライアント ID に置き換えます。 2. `clientSecret`​ をクライアントシークレットに置き換えます。 4. クエリ変数認証を使用するには、クエリ変数の認証項目として接続アプリケーション認証を定義します。 ```json { "authorization": "Basic ABC123" } ``` `ABC123`​ を、連結されたクライアント ID とクライアントシークレットの base64 エンコード ​`~~~Client~~~:clientID~?~clientSecret`​ に置き換えます。 ## [](#graph-api-のアクセス-url)Graph API のアクセス URL Graph API には ​`https://anypoint.mulesoft.com/graph/api/v1/graphql`​ URL でアクセスできます。API を使用して 検索するには、検索文字列を含む POST コマンドを送信します。 例: ```json curl -X POST \ https://anypoint.mulesoft.com/graph/api/v1/graphql \ -H 'content-type: application/json' \ -d '{"query": "{ assets(query: { searchTerm: \"searchTerm\" }) { groupId, assetId, version } }"}' ``` クエリ項目には、より多くのアセット項目を取得できる GraphQL クエリが含まれています。 ```json { assets(asset: {groupId: "some-group-id", assetId: "some-asset-id", version: "some-version-1.2.3"}) { # Possible fields to retrieve groupId assetId version description name type contactName contactEmail tags { value key } createdBy { id userName firstName lastName } files { classifier packaging externalLink md5 } rating numberOfRates createdAt organizationId assetLink runtimeVersion productAPIVersion dependencies { groupId assetId version name type } related(relationshipType: OtherVersions) { groupId assetId version name type runtimeVersion productAPIVersion } } } ``` 次の例では、Mule 4.x アセットのグループ ID、アセット ID、およびバージョンを取得できます。 ```json curl -X POST \ https://anypoint.mulesoft.com/graph/api/v1/graphql \ -H 'content-type: application/json' \ -d '{"query":"{assets(query: {tags: {key: \"min-mule-version\", value: \"4.0.0\"}}) {groupId assetId version}}"}' ``` ## [](#非公開-exchange-のみを検索する)非公開 Exchange のみを検索する 1. 非公開 Exchange でアセットをクリックして、非公開 Exchange の組織 ID を取得します。 URL の例を次に示します。 https://anypoint.mulesoft.com/exchange/42424242/product-api/1.0.0/ `42424242`​ が組織 ID です。 2. organizationIds 項目を使用して、組織 ID を追加します。 単一の組織 ID は次のようになります。 `organizationIds: ["42424242"]` ```json { assets( query: { searchTerm: "product", organizationIds: ["4141141", "32322", "2342345"] }, latestVersionsOnly: true ) { assetId, description } } ``` この例の出力は次のようになります。 ```json { "data": { "assets": [ { "assetId": "product-datatype", "description": "Product Datatype Asset" }, { "assetId": "product-api", "description": "Product API Asset" } ] } } ``` ## [](#アセットライフサイクル状態)アセットライフサイクル状態 アセットとそのライフサイクル状態をコンシュームするには、​`ANYPOINT_TOKEN`​、​`:groupId`​、​`:assetId`​、​`:version`​ を対象の情報に置き換えて、次のコマンドを実行します。 ```console curl -X POST \ https://anypoint.mulesoft.com/graph/api/v2/graphql \ -H 'Authorization: bearer ANYPOINT_TOKEN' \ -H 'content-type: application/json' \ -d '{"query":"{asset(groupId: \":groupId\",assetId: \":assetId\",version: \":version\"){groupId assetId version status}}"}' ``` ライフサイクル状態でアセットを検索するには、​`ANYPOINT_TOKEN`​ を対象の情報に置き換えて、​`[development, published, deprecated]`​ を目的のライフサイクル状態のリストに置き換えて、次のコマンドを実行します。 ```console curl -X POST \ https://anypoint.mulesoft.com/graph/api/v2/graphql \ -H 'Authorization: bearer ANYPOINT_TOKEN' \ -H 'content-type: application/json' \ -d '{"query":"{assets(status:[development, published, deprecated]){groupId assetId version status}}"}' ``` ## [](#リファレンス-クエリ検索条件パラメーター)リファレンス: クエリ検索条件パラメーター 各アセットに関する追加情報を表示する検索条件を指定できます。 次の検索条件で、クエリ出力を絞り込むことができます。
パラメーター 説明

assetId

各アセットのアセット ID。

createdAt

アセットの作成日時 (例: 2018-08-11T04:48:20.585Z)。

createdBy { id, userName, firstName, lastName }

アセットの作成者を表示します。

dependencies { groupId, assetId, version, name, type }

リストされたアセットが依存するアセットを返します。

files { classifier, packaging, externalLink, md5 }

ファイル情報。

name

アセット名。

contactName

アセットについて連絡するユーザーの名前。

contactEmail

アセットについて連絡するユーザーのメールアドレス。

numberOfRates

アセットの星による評価の数。

organizationId

アセットの組織 ID。

rating

アセットの星による評価の値。

runtimeVersion

Mule Runtime バージョン。

tags { value, key, mutable }

アセットタグ。ユーザーインターフェースでパブリッシュ時に作成されたタグは、​value​ タグのみになります (キーはありません)。ユーザーインターフェースで作成されたタグは変更可能で、その他のタグは変更できません。キーと値のあるタグは、アセットを説明するために Exchange によって作成された特別なタグです。

type

Exchange の [All Types (すべてのタイプ)] メニューに対応する小文字の connector、template、example、rest-api、soap-api、raml-fragment、custom の値。

version

アセットのバージョン。

groupId

アセットのグループ ID。

## [](#関連情報)関連情報 - [Exchange Graph API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/exchange-graph-http/) - [Anypoint Exchange](https://anypoint.mulesoft.com/exchange/) - [Exchange ドキュメント](https://docs.mulesoft.com/jp/exchange/) # HTTP API アセットのパブリッシュ HTTP API では、Exchange ユーザーがエンドポイントのプレースホルダーを指定できます。HTTP API エンドポイントを作成したら、必要に応じて API Manager を使用してエンドポイントを管理できます。 HTTP API アセットにより、API エンドポイントの機能、およびユーザーが API をプログラムに接続する方法が説明されます。 API Manager で、ユーザーは Exchange から API をインポートし、プロキシを関連付けてその API のポリシーと SLA を管理できます。 1. Exchange で、​**\[Publish new asset (新規アセットをパブリッシュ)\]**​ をクリックします。 2. API の名前を入力します。 3. **\[Asset types (アセットタイプ)\]**​ ドロップダウンメニューから ​**\[HTTP API\]**​ を選択し、​**\[Publish (パブリッシュ)\]**​ をクリックします。 4. アセットビューで、鉛筆アイコンをクリックして説明を入力し、チェックアイコンをクリックします。 5. API のドキュメントを追加するには、​**\[Edit documentation (ドキュメントを編集)\]**​ をクリックします。 6. **\[Publish (パブリッシュ)\]**​ をクリックします。 # Maven を使用したアセットのパブリッシュ

可能な場合は、Equality の会社の値に一致するように、含めない用語を変更しました。顧客の実装に対する影響を回避するために、一部の用語は変更されていません。

Anypoint Exchange の [Maven Facade API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/exchange-maven-facade-api-http/)​ を使用すると、Apache Maven クライアントでは次のアセットタイプを含め Exchange アセットをパブリッシュおよびコンシュームできます。 - コネクタ - Mule アプリケーション - 例 - テンプレート - ポリシー - カスタムアセット Exchange の Maven Facade API では、アセットの削除はサポートされません。アセットを削除するには、Exchange ユーザーインターフェースまたは Exchange API を使用します。 Exchange の Maven Facade API では、​``​ と ​``​ 以外の項目で動的パラメーターはサポートされません。更新されたアセットに親が定義されている場合、動的パラメーターが適切な解釈されるには、親が有効で Exchange アセットがすでにアップロードされている必要があります。 新しいアセットは、組織の​[アセット制限](https://docs.mulesoft.com/jp/exchange/asset-versions#asset-limits)​に含まれます。 ## [](#前提条件)前提条件 このドキュメントを活用するには、読者は Maven、プログラミングの概念、およびコンピューターやサーバーでのコマンドライン操作に精通している必要があります。 POM ファイルに必要なプラグイン ​`org.mule.tools.maven.mule-maven-plugin`​ を含めてください。POM ファイルまたは設定ファイルにプラグイン ​`org.apache.maven.plugins.maven-deploy-plugin`​ を含めないでください。必要なプラグインとの互換性がありません。 Anypoint Exchange の Maven Facade API バージョン 3 を使用してアセットを Exchange にパブリッシュする場合、Mule Maven プラグインバージョン 3.5.0 以降が必要です。 アセットをパブリッシュするには、一意のアーティファクト名と組織 ID が必要です。 US クラウドおよび EU クラウドでは、例のように少し異なる URL が使用されます。 ## [](#組織-id-を参照する)組織 ID を参照する Maven POM ファイルの要素を作成するには、組織 ID を判断する必要があります。 1. Anypoint Platform にログインし、​**\[Access Management (アクセス管理)\]**​ をクリックします。 2. 最上位組織またはビジネスグループの名前をクリックし、\[organization information (組織情報)\] 画面の組織 ID を参照します。 3. 組織 ID をコピーして、次の例でプロジェクトの POM ファイルに組織 ID を追加できるようにします。 ## [](#maven-を使用して-exchange-にアセットをパブリッシュする)Maven を使用して Exchange にアセットをパブリッシュする `[https://github.com/mulesoft-labs/exchange-documentation-samples](https://github.com/mulesoft-labs/exchange-documentation-samples)`​ にあるリポジトリで、Maven を使用して各アセットタイプをパブリッシュする例を参照してください。 Maven を使用してアセットをパブリッシュする手順はアセットタイプごとに少し異なります。アセットごとに異なる Maven プラグインが使用されるため、リポジトリ内の例を参照して、使用するアセットタイプに一致する例を探してください。たとえば、​`exchange-mule-maven-plugin`​ を使用してカスタムアセットをパブリッシュし、​`mule-maven-plugin`​ を使用して拡張機能をパブリッシュします。 次の例は、アプリケーション、例、テンプレートなど、Mule 4 アセットをパブリッシュする方法を示しています。 1. プロジェクトの POM ファイルで ​`groupId`​ を組織 ID に設定します。 ```xml ... ORGANIZATION_ID ... ``` アセットをルート組織にパブリッシュする場合、グループ ID は組織 ID と同じです。 次の URL 形式を使用します。 `https://maven.anypoint.mulesoft.com/api/v3/organizations/ORGANIZATION_ID/maven` EU では、次の形式を使用します。 `https://maven.eu1.anypoint.mulesoft.com/api/v3/organizations/ORGANIZATION_ID/maven` カナダクラウドでは、次の形式を使用します。 `https://maven.ca1.platform.mulesoft.com/api/v3/maven` 日本クラウドでは、次の形式を使用します。 `https://maven.jp1.platform.mulesoft.com/api/v3/maven` MuleSoft Government Cloud を使用している場合、次の形式を使用します。 `https://maven.gov.anypoint.mulesoft.com/api/v2/organizations/ORGANIZATION_ID/maven` アセットをビジネスグループにパブリッシュする場合、グループ ID はビジネスグループ ID と同じです。 次の URL 形式を使用します。 `https://maven.anypoint.mulesoft.com/api/v3/organizations/BUSINESS_GROUP_ID/maven` EU では、次の形式を使用します。 `https://maven.eu1.anypoint.mulesoft.com/api/v3/organizations/BUSINESS_GROUP_ID/maven` MuleSoft Government Cloud を使用している場合、次の形式を使用します。 `https://maven.gov.anypoint.mulesoft.com/api/v2/organizations/BUSINESS_GROUP_ID/maven` 2. プロジェクトの POM ファイルで、​`mule-maven-plugin`​ を含めて、正しい分類子 (この例では ​`mule-application-example`​) を設定します。 この例では、アセットタイプは分類子から推定されるため設定する必要はありません。 ```xml ... Hello World Application Example A mule application example uploaded using Exchange Maven Facade v3 org.mule.tools.maven mule-maven-plugin 3.5.0 true mule-application ... ``` ``​ 要素を設定して、アセットを Exchange で表示できるようにする必要があります。 `name`​ プロパティは必須です。これは、アセットの表示可能名を表します。GA (GroupId と AssetId の組み合わせ) の最初のバージョンをパブリッシュしている場合、アセット名は POM ファイルから取得されます。GA のバージョンがすでに 1 つ以上ある場合、​`name`​ プロパティは無視されます。この名前はアセットポータルで変更できます。詳細は、​[「アセットの説明」](https://docs.mulesoft.com/jp/exchange/to-describe-an-asset)​を参照してください。 `description`​ プロパティは省略可能です。これは、アセットの説明を表します。GA (GroupId と AssetId の組み合わせ) の最初のバージョンをパブリッシュしている場合、アセットの説明は POM ファイルから取得されます。GA のバージョンがすでに 1 つ以上ある場合、​`description`​ プロパティは無視されます。この説明はアセットポータルで変更できます。詳細は、​[「アセットの説明」](https://docs.mulesoft.com/jp/exchange/to-describe-an-asset)​を参照してください。 `mule-maven-plugin`​ が使用されている場合、​`mule-maven-plugin`​ 設定でプロパティ ​``​ を ​`app`​ に設定し、​``​ を ​`mule-application`​ に設定して Mule 3 アプリケーションをデプロイします。 Anypoint Studio 6.3 以降を使用して、Mule 3 の ​`templates`​ と ​`examples`​ をデプロイします。 Mule 4 アプリケーション場合、​``​ 要素を指定しないでください。​`mule-maven-plugin`​ 設定で、​``​ を ​`mule-application`​ (デフォルト)、​`mule-application-template`​、​`mule-application-example`​、または ​`mule-policy`​ に設定します。 Mule 3 および Mule 4 アプリケーションは、Exchange アセットリストに表示されません。 3. プロジェクトの POM ファイルの配布管理セクションにリポジトリとして Maven ファサードを追加します。 ```xml ... Repository Corporate Repository https://maven.anypoint.mulesoft.com/api/v3/organizations/ORGANIZATION_ID/maven default ... ``` EU では、次の形式を使用します。 ```xml ... Repository Corporate Repository https://maven.eu1.anypoint.mulesoft.com/api/v3/organizations/ORGANIZATION_ID/maven default ... ``` MuleSoft Government Cloud を使用している場合、次の形式を使用します。 ```xml ... Repository Corporate Repository https://maven.gov.anypoint.mulesoft.com/api/v2/organizations/ORGANIZATION_ID/maven default ... ``` ``​ および ​``​ 要素は、リポジトリやその他の組織識別子を識別するために作成する任意の名前です。​``​ の値は ​`pom.xml`​ ファイル内と ​`~/.m2/settings.xml`​ ファイル内で同じである必要があります。​``​ の値により、​`pom.xml`​ ファイルが組織の URL にログインするための情報と関連付けられます。 4. Maven の ​`.m2`​ ディレクトリにある ​`settings.xml`​ ファイルを更新します。 Maven をインストールしたら、​`mvn clean`​ コマンドで ​`.m2`​ ディレクトリを作成します。ディレクトリは、macOS または Linux では ​`~/.m2`​、Windows では ​`\Users\YOUR_USER_NAME\.m2`​ です。これには Anypoint Platform ログイン情報が含まれます。Maven が実行されると、Maven クライアントは設定ファイルを読み取ります。 `settings.xml`​ ファイルの例: ```xml Repository myusername mypassword ``` 5. 次の Maven コマンドを使用して、アセットを Exchange にパブリッシュします。 ```console mvn deploy ``` 6. Exchange でアセット ID を検索し、アセットを見つけます。 ## [](#可変データを使用したアセットのパブリッシュ)可変データを使用したアセットのパブリッシュ Maven Facade API では、アセットを作成し、同じ要求内でアセットを説明する可変データを設定できます。アセットの可変データには、タグ、カスタム項目、カテゴリ、ドキュメントページが含まれます。 Exchange ドキュメントサンプルの GitHub リポジトリには、 [ドキュメントとタグを使用した Mule アプリケーションテンプレート](https://github.com/mulesoft-labs/exchange-documentation-samples/tree/master/template-with-mutable-data)​の完全な作成例が含まれています。 XML プロパティ ​`key`​ をカスタム項目またはカテゴリのキーに設定して、​`pom.xml`​ ファイルのプロパティセクションでタグ、カスタム項目、およびカテゴリを宣言します。 ```xml ... someValue someValue tag1,tag2,tag3 ... ``` ドキュメントページを設定するには、​`src/main/resources`​ にドキュメントディレクトリを作成します。ドキュメントディレクトリに、各ページを ​`Getting Started.md`​ などの名前のマークダウンファイルとして含めます。​`Getting Started`​ をページのタイトルに置き換えます。契約条件ページを含めるには、​`terms.md`​ というファイルにコンテンツを配置します。省略可能なサブディレクトリ ​`resources`​ に画像などのリソースを含めます。省略可能なファイル ​`config.json`​ のメインオブジェクトのルートにあるプロパティ ​`pageOrder`​ を使用して、ページの順序を指定します。 ```console { "pageOrder": ["home", "Getting Started", "Examples"] } ``` `pom.xml`​ プラグインセクションに Maven アセンブリプラグインを追加してドキュメントフォルダーをパッケージ化し、次のような Maven アセンブリプラグイン設定ファイルを作成します。 ```xml org.apache.maven.plugins maven-assembly-plugin 2.6 true create-distribution package single /src/main/resources/docs-assembly/assembly.xml ``` `src/main/resources/docs-assembly`​ に ​`assembly.xml`​ ファイルを作成します。 ```xml docs zip false ${project.basedir}/src/main/resources/docs / true ``` ## [](#アセットライフサイクル状態)アセットライフサイクル状態 新しいアセットバージョンの状態は ​`development`​ またはデフォルトの ​`stable`​ です。 `stable`​ 状態のアセットバージョンを作成するには、通常どおりに Maven を使用します。 `development`​ 状態のアセットバージョンを作成するには、Anypoint Exchange Maven Facade API バージョン 3 を使用して、アセットのバージョンを ​`SNAPSHOT`​ に設定します。この方法では、従来の API との後方互換性が確保されます。 `SNAPSHOT`​ アセットは永続的に ​`development`​ 状態であり、他の状態に昇格することはできません。 Anypoint Exchange Maven Facade API バージョン 1 またはバージョン 2 でパブリッシュされたバージョン ​`SNAPSHOT`​ のアセットの状態は ​`stable`​ です。 `development`​ 状態の ​`SNAPSHOT`​ テンプレートアセットのアップロードの例を次に示します。 ターミナルで次の操作を実行します。 1. Execute (実行): `git clone [https://github.com/mulesoft-labs/exchange-documentation-samples.git](https://github.com/mulesoft-labs/exchange-documentation-samples.git)` 2. Execute (実行): `cd exchange-documentation-samples/template-snapshot` 3. ファイル ​`pom.xml`​ を編集し、値 ​`YOUR_ORG_ID`​、​`YOUR_GROUP_ID`​、​`YOUR_ASSET_ID`​ をアセットの organizationId、groupId、assetId に置き換えます。 4. Execute (実行): `mvn clean deploy` 5. Exchange ホームページを開き、​`development`​ 状態のテンプレートを表示します。 `mvn clean deploy`​ を複数回実行すると、アセットはエラーなしで上書きされます。 注意: development 状態のアセットのうち SNAPSHOT バージョンでないアセットは Maven を介してコンシュームできません。 ## [](#カスタムアセットのパブリッシュ)カスタムアセットのパブリッシュ `exchange-mule-maven-plugin`​ プラグインを使用して、カスタムアセットをパブリッシュします。このプラグインの最新バージョンは 0.0.23 です。 この例は、​`pom.xml`​ の ​`build`​ セクションを示しています。 ```xml org.mule.tools.maven exchange-mule-maven-plugin 0.0.23 validate validate exchange-pre-deploy deploy deploy exchange-deploy ``` ## [](#exchange-への親-pom-プロジェクトと親-pom-連動プロジェクトのパブリッシュ)Exchange への親 POM プロジェクトと親 POM 連動プロジェクトのパブリッシュ 親 POM は Exchange にカスタムアセットとしてパブリッシュされます。カスタムアセットをパブリッシュするには、前のセクションを参照してください。 Mule Maven プラグインを使用して Mule アプリケーションなどの Maven プロジェクトをパブリッシュする必要があり、Maven プロジェクトが、exchange-mule-maven-plugin がすでに含まれている親 Pom に連動している場合、 [継承を回避](https://maven.apache.org/guides/mini/guide-configuring-plugins.html#Using_the_.3Cinherited.3E_Tag_In_Build_Plugins)​する必要があります。 ```xml org.mule.tools.maven exchange-mule-maven-plugin 0.0.23 false validate validate exchange-pre-deploy deploy deploy exchange-deploy ``` ### [](#トラブルシューティング)トラブルシューティング ビルドがデプロイメントフェーズで状況コード 412 (前提条件失敗) で失敗した場合、​`exchange-pre-deploy`​ は実行されていません。このエラーを修正するには、目標がプラグインの実行セクション内で設定されていることを確認します。 エラーは次のようになります。 ```console [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2.871 s [INFO] Finished at: 2020-11-09T12:11:54-03:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project hello-world-pom: Failed to deploy artifacts: Could not transfer artifact 1da12ec1-7614-43a3-bf24-ff754cab8ddf:hello-world-pom:pom:1.0.3 from/to repository-id ([https://maven.anypoint.mulesoft.com/api/v3/organizations/orgId/maven/](http://localhost:8088/api/v3/organizations/1da12ec1-7614-43a3-bf24-ff754cab8ddf/maven/)): Transfer failed for [https://maven.anypoint.mulesoft.com](http://localhost:8088/api/v3/organizations/1da12ec1-7614-43a3-bf24-ff754cab8ddf/maven/)[/api/v3/organizations/](http://localhost:8088/api/v3/organizations/1da12ec1-7614-43a3-bf24-ff754cab8ddf/maven/1da12ec1-7614-43a3-bf24-ff754cab8ddf/hello-world-pom/1.0.3/hello-world-pom-1.0.3.pom)[orgId](http://localhost:8088/api/v3/organizations/1da12ec1-7614-43a3-bf24-ff754cab8ddf/maven/)[/maven/groupId/assetId/version/filename](http://localhost:8088/api/v3/organizations/1da12ec1-7614-43a3-bf24-ff754cab8ddf/maven/1da12ec1-7614-43a3-bf24-ff754cab8ddf/hello-world-pom/1.0.3/hello-world-pom-1.0.3.pom) 412 -> [Help 1] ``` ## [](#統合アセットをパブリッシュおよびコンシュームする)統合アセットをパブリッシュおよびコンシュームする 統合アセットのパブリッシュとコンシュームには、トークン認証または接続アプリケーション認証が必要です。 トークン認証を使用する手順は、次のとおりです。 1. [SAML アサーションを使用して API ベアラートークンを取得します](https://docs.mulesoft.com/jp/access-management/saml-bearer-token)​。 これが自分のアクセストークンになります。 2. `C:\Users\YOUR_USER_NAME\.m2\settings.xml`​ (Windows) または ​`~/.m2/settings.xml`​ (macOS または Linux) で ​`settings.xml`​ ファイルを開きます。 3. ``​ の値は変更しないでください。 この値はプラットフォームにトークンを使用していることを伝えます。 4. ``​ の値を自分のアクセストークンに設定します。 ```xml Repository ~~~Token~~~ 01234567-89ab-cdef-0123-456789abcdef ``` 5. `settings.xml`​ ファイルを保存します。 接続アプリケーション認証を使用する手順は、次のとおりです。 1. [接続アプリケーションを作成](https://docs.mulesoft.com/jp/exchange/connected-app-authentication)​します。 2. 基本認証を指定し、​`~~~Client~~~`​ としてユーザー名、​`clientID~?~clientSecret`​ としてパスワードを定義します。 1. `clientID`​ をクライアント ID に置き換えます。 2. `clientSecret`​ をクライアントシークレットに置き換えます。 接続アプリケーションをリポジトリのファイル ​`settings.xml`​ に含めます。 ```none ... Repository ~~~Client~~~ clientID~?~clientSecret ``` ## [](#exchange-外部の連動関係)Exchange 外部の連動関係 Java ライブラリと POM ファイルを Exchange カスタムアセットとしてパブリッシュします。 Maven Central または MuleSoft Maven リポジトリに存在しない連動関係を宣言する Mule 4 拡張機能は現在サポートされていません。 ## [](#exchange-アセットを文書化する)Exchange アセットを文書化する Maven Facade を使用して、アセットを Exchange にパブリッシュすると、Exchange にドキュメントポータルが自動的に作成され、​[通常どおりにアセットを文書化](https://docs.mulesoft.com/jp/exchange/to-describe-an-asset)​できます。 ## [](#maven-を使用して-exchange-アセットをコンシュームする)Maven を使用して Exchange アセットをコンシュームする Maven Facade を使用して、コネクタ、Mule アプリケーション、REST API を含め、Exchange にパブリッシュされたアセットをコンシュームできます。Exchange アセットをコンシュームするには、アセットのグループ ID、アーティファクト ID、およびバージョンをプロジェクトの ​`pom.xml`​ ファイルの ​`dependencies`​ セクションに追加し、Maven ファサードをリポジトリとして ​`repositories`​ セクションに追加します。 ```xml ... org.mule.modules mule-module-metoo 1.0.0 ... Repository Corporate Repository https://maven.anypoint.mulesoft.com/api/v3/organizations/ORGANIZATION_ID/maven default ... ``` `ORGANIZATION_ID`​ を組織 ID に置き換えます。 `https://maven.anypoint.mulesoft.com/api/v3/maven`​ はルート組織にパブリッシュするデフォルトであるため、​``​ 値で有効な URL として使用できます。EU では、URL として ​`https://maven.eu1.anypoint.mulesoft.com/api/v3/maven`​ を使用します。MuleSoft Government Cloud を使用している場合、URL として ​`https://maven.gov.anypoint.mulesoft.com/api/v2/maven`​ を使用します。 EU では、​``​ セクションは次のようになります。 ```xml Repository Corporate Repository https://maven.eu1.anypoint.mulesoft.com/api/v3/organizations/ORGANIZATION_ID/maven default ``` MuleSoft Government Cloud を使用している場合、​``​ セクションは次のようになります。 ```xml Repository Corporate Repository https://maven.gov.anypoint.mulesoft.com/api/v2/organizations/ORGANIZATION_ID/maven default ``` ## [](#関連情報)関連情報 - [EU Exchange](https://eu1.anypoint.mulesoft.com/exchange/) - [Maven Facade API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/exchange-maven-facade-api-http/) - [Apache Maven](https://maven.apache.org/) # My Applications (マイアプリケーション) アセットの Exchange 詳細ビューの ​**\[My Applications (マイアプリケーション)\]**​ 領域には、API または API グループとのコントラクトを保持するアプリケーションがリストされます。 ![ex2 my applications](/mulesoft/current/ja-jp/exchange/_images/ex2-my-applications.png) 各クライアントアプリケーションには、クライアント ID、クライアントシークレット、説明、URL、リダイレクト URI、許可種別、および使用状況ダッシュボードがあります。 使用状況の情報により、検証期間を設定できます。指定しない場合、範囲は過去 8 日間になります。使用状況には、API への合計要求数、平均レイテンシー、およびエラー率がリストされるほか、合計要求数、HTTP 状況コード別の要求数、およびエラー率のグラフが表示されます。 **\[My Applications (マイアプリケーション)\]**​ 内のアプリケーションは、Anypoint Platform の API Manager を使用して登録されます。 クライアントアプリケーションを既存の API または API グループに登録するには、まずクライアントアプリケーションでアクセス権を要求する必要があります。要求が API または API グループオーナーにより承認されると、クライアントアプリケーションと API または API グループ間のコントラクトが作成され、クライアントアプリケーションが登録されます。 API または API グループにリンクするアプリケーションがない場合、​**\[Request Access (アクセス権の要求)\]**​ メニューでアプリケーションを作成できます。これで、​**\[Request Access (アクセス権の要求)\]**​ をクリックして、アプリケーションと API または API グループを接続できます。API および API グループによっては、サービスレベル契約 (SLA) を選択する必要があったり、契約条件に同意する必要があったりします。 API クライアント ID 適用ポリシーによって保護されている API および API グループでは、クライアントアプリケーションはクライアント ID とクライアントシークレット (省略可能) を提供する必要があります。クライアントアプリケーションが登録されると、クライアント ID とクライアントシークレットのログイン情報が自動的に作成されます。 API オーナーは、API Manager を使用して、API および API グループインスタンス用にこれまで作成されたすべての API コントラクトを表示できます。API コンシューマーは、Exchange の ​**\[My Applications (私のアプリケーション)\]**​ ページを使用して、API インスタンスまたは API グループインスタンスとそのコンシューマーのクライアントアプリケーション間で作成されたコントラクトを表示できます。 ## [](#関連情報)関連情報 - [アクセス権の要求](https://docs.mulesoft.com/jp/exchange/to-request-access) # REST API のデータのシミュレーション Exchange では、OAS または RAML REST API をテストするためのシミュレーションデータを提供できます。シミュレーションデータは、モッキングサービス機能で提供されます。 次の例は、モッキングサービスが REST API のデータをどのようにシミュレーションするのかを示しています。 - アセット詳細画面の右側に表示される API Console 内。モッキングサービスでは、シミュレーションデータを API 関数に追加し、そのデータを使用して API をテストできます。 ![API Console 内のモッキング](/mulesoft/current/ja-jp/exchange/_images/exchange-rest-api-mocking-service.png) このページには 2 つの URL が表示されます。左の URL は Design Center でも使用され、公開されています。右の URL は Exchange のみで使用され、認証が必要です。 - API の各バージョンのインスタンスとしてリストされる。 ![バージョン内のモッキングインスタンス](/mulesoft/current/ja-jp/exchange/_images/exchange-patch-version-mocking.png) - モッキングサービス URL がリストされる ​**\[API instances (API インスタンス)\]**​ ページにリストされる。 ![\[API Instances (API インスタンス)\] のモッキングサービス URL](_images/ex2-api-instances.png) ## [](#api-でシミュレーションデータを受け入れる)API でシミュレーションデータを受け入れる 1. \[Design Center\] > \[API Specification (API 仕様)\] から、実装で返されるサンプルデータを指定します。または、テキストエディターで OAS (Swagger) 仕様を作成し、そこにサンプルデータを追加することもできます。 2. REST 仕様で、成功した API コールの HTTP 状況コードを指定します。 ## [](#シミュレーションデータで-rest-api-をテストする)シミュレーションデータで REST API をテストする 1. Exchange で、REST API をクリックします。 2. **\[GET\]**​ などの関数をクリックします。 3. 画面の右側の API Console で、​**\[Send (送信)\]**​ をクリックしてシミュレーションデータを API に送信します。 Exchange によってデータが送信され、応答がリストされます。この例では、成功を示す HTTP 200 OK の状況が返され、シミュレーションデータを使用して API から送信されたデータがリストされます。 ## [](#関連情報)関連情報 - [REST API バージョンの変更](https://docs.mulesoft.com/jp/exchange/to-change-raml-version)​。 - [API コールのシミュレーション](https://docs.mulesoft.com/design-center/design-mocking-service)​。 # REST Connect Connector ジェネレーター Exchange バックエンドは REST Connect を使用して、REST API 仕様を Mule 3 または Mule 4 Connector に透過的に変換します。Anypoint Studio でこのコネクタを他のコネクタと同様に使用できます。 ## [](#access-generated-connectors)生成されたコネクタへのアクセス Exchange の ​**\[Download (ダウンロード)\]**​ メニューから、生成されたコネクタをダウンロードます。
Exchange に REST アセットをデプロイしたら、画面を更新してすべてのダウンロードオプションが使用可能であることを確認してください。
Mule 3 Connector は ZIP ファイルとしてダウンロードされ、Mule 4 Connector は JAR ファイルとしてダウンロードされます。 ## [](#api-spec-support)API 仕様形式のサポート REST Connect では、次の API 仕様形式がサポートされています。 - OAS 3 - JSON - OAS 3 - YAML - OAS 2 - JSON - OAS 2 - YAML - RAML 1.0 ## [](#security-scheme-support)セキュリティスキームのサポート REST Connect では、次のセキュリティスキームがサポートされています。 - 基本認証 - OAuth 2.0 クライアントログイン情報 - OAuth 2.0 認証コード - パススルー - ダイジェスト認証 サポートされていない認証種別を使用して API 仕様をパブリッシュすると、アラートメールを受け取ります。これが発生した場合、サポートされているセキュリティスキームのいずれかを使用するように API 仕様を更新します。 API 仕様で定義されている操作で複数のセキュリティスキームがサポートされている場合、サポートされているスキームのリストの最初のスキームが使用されます。 ### [](#基本認証の例)基本認証の例 ```text #%RAML 1.0 title: Dropbox API version: 1 baseUri: https://api.dropbox.com/{version} securitySchemes: basic: description: | This API supports Basic Authentication. type: Basic Authentication ``` ### [](#oauth-2-0-クライアントログイン情報の例)OAuth 2.0 クライアントログイン情報の例 ```text #%RAML 1.0 version: v1 title: Deadlines API baseUri: http://localhost/deadlines securitySchemes: oauth_2_0: description: Deadlines API supports OAuth 2.0 for authenticating all API requests. type: OAuth 2.0 describedBy: headers: Authorization: description: Sends a valid OAuth 2 access token. type: string responses: 401: description: Bad or expired token. 403: description: Bad OAuth request. settings: accessTokenUri: https://api.example.com/1/oauth2/token authorizationGrants: [ client_credentials ] /deadlines: get: securedBy: [oauth_2_0] displayName: Get deadlines. description: Get a list of all registered deadlines. responses: 200: body: application/json: example: '[ { "rest-connect": "2017-03-13" } ]' ``` ### [](#oauth-2-0-認証コードの例)OAuth 2.0 認証コードの例 ```text #%RAML 1.0 version: v1 title: Github API baseUri: https://api.github.com securitySchemes: oauth_2_0: description: | OAuth2 is a protocol that lets external apps request authorization to private details in a user's GitHub account without getting their password. This is preferred over Basic Authentication because tokens can be limited to specific types of data, and can be revoked by users at any time. type: OAuth 2.0 describedBy: headers: Authorization: description: | Used to send a valid OAuth 2 access token. responses: 404: description: Unauthorized settings: authorizationUri: https://github.com/login/oauth/authorize accessTokenUri: https://github.com/login/oauth/access_token authorizationGrants: [ authorization_code ] scopes: - "user" - "user:email" - "user:follow" - "public_repo" - "repo" - "repo_deployment" - "repo:status" - "delete_repo" - "notifications" - "gist" - "read:repo_hook" - "write:repo_hook" - "admin:repo_hook" - "admin:org_hook" - "read:org" - "write:org" - "admin:org" - "read:public_key" - "write:public_key" - "admin:public_key" ``` ### [](#パススルーの例)パススルーの例 ```text #%RAML 1.0 title: Customer API version: 1 baseUri: https://api.customer.com/v2 securitySchemes: passthrough: description: | This API supports Pass Through Authentication. type: Pass Through describedBy: headers: api_key: type: string ``` ## [](#change-connector-name)自動生成されたコネクタの名前の変更 REST Connect は、​`operationName`​、​`displayName`​、​`endpoint`​ 属性に基づいてこの順序で操作名を生成します。 生成されたコネクタ名を変更するには、​`displayName`​ のテキストを変更します。次に例を示します。 ```text #%RAML 1.0 title: Sample API baseUri: https://jsonplaceholder.typicode.com version: 0.1 mediaType: application/json ... /{postId}: uriParameters: postId: integer get: displayName: Get a post by ID. responses: 200: body: type: Post ``` また、REST Connect ライブラリを参照し、GET、POST、DELETE などのメソッドから ​`operationName`​ アノテーションを使用して、生成されたコネクタ名を変更することもできます。次に例を示します。 ```text #%RAML 1.0 title: Sample API baseUri: https://jsonplaceholder.typicode.com version: 0.1 mediaType: application/json uses: rest-connect: exchange_modules/org.mule.connectivity/rest-connect-library/1.0.0/rest-connect-library.raml ... /{postId}: uriParameters: postId: integer get: (rest-connect.operationName): Retrieve a post by id displayName: Get a post by ID. responses: 200: body: type: Post ``` ## [](#metadata-limitations)メタデータの制限 REST Connect は、要求内のスキーマ定義および RAML 内の各メソッドの応答に基づいて各操作のメタデータを生成します。REST Connect は RAML の例に基づいてメタデータを生成することはできません。 REST Connect では、1 つの入力/出力種別のみがサポートされ、API 仕様で宣言された最初の種別が使用されます。この動作は、REST Connect ライブラリの ​`default`​ プロパティを使用して変更できます。 次の例では REST Connect ライブラリを使用します。 ```text #%RAML 1.0 title: Sample API baseUri: https://jsonplaceholder.typicode.com version: 0.1 mediaType: application/json uses: rest-connect: exchange_modules/org.mule.connectivity/rest-connect-library/1.0.0/rest-connect-library.raml ... /{postId}: uriParameters: postId: integer get: displayName: Get a post by ID. responses: 200: body: application/json: type: string application/xml: (rest-connect.default): //this sets application/xml response by default type: string ``` ## [](#reserved-keywords)予約済みのキーワード REST Connect の有効な識別子には、予約済みの Java または Mule キーワードを使用できません。 REST Connect の有効な識別子に名前を付ける際に避けるべき予約済みの Java キーワードは次のとおりです。 - `abstract` - `assert` - `boolean` - `break` - `byte` - `case` - `catch` - `char` - `class` - `const` - `continue` - `default` - `do` - `double` - `else` - `extends` - `false` - `final` - `finally` - `float` - `for` - `goto` - `if` - `implements` - `import` - `instanceof` - `int` - `interface` - `long` - `native` - `new` - `null` - `package` - `private` - `protected` - `public` - `return` - `short` - `static` - `strictfp` - `super` - `switch` - `synchronized` - `this` - `throw` - `throws` - `transient` - `true` - `try` - `void` - `volatile` - `while` REST Connect の有効な識別子に名前を付ける際に避けるべき予約済みの Mule キーワードは次のとおりです。 - `friendlyName` - `name` - `operationName` - `target` - `targetValue` ## [](#tls-support)TLS サポートのあるコネクタの生成 Mule 4 (SmartConnector) Connector では、Transport Layer Security (TLS) がサポートされています。 TLS サポートを有効にして、コネクタを生成すると、次のようになります。 - コネクタは Mule Runtime 4.6 で動作するようにアップグレードされます。 - TLS が有効になります。これにより、Anypoint Studio には、コネクタの必須の TLS 接続設定情報を収集するフォームが表示されます。接続設定プロパティを表示するには、​**\[Tls context (TLS コンテキスト)\]**​ 項目から ​**\[Edit inline (インライン編集)\]**​ または ​**\[Global reference (グローバル参照)\]**​ を選択します。 ![TLS 接続設定情報のフォーム](/mulesoft/current/ja-jp/exchange/_images/rest-connect-tls-configuration.png) TLS を有効にするには、アプリケーションの Design Center API プロジェクトのルートディレクトリに ​`properties.json`​ ファイルを追加します。 1. Design Center で、​**\[Files + (ファイル +)\]**​ > ​**\[New file (新規ファイル)\]**​ を選択します。 2. **\[Add new file (新規ファイルを追加)\]**​ ウィンドウで、​**\[API format (API 形式)\] > \[other (その他)\]**​ を選択し、ファイルに ​`properties.json`​ という名前を付けて、​**\[Create (作成)\]**​ をクリックします。 3. 新しいファイルに ​`"tlsEnabled": true`​ を追加します。
TLS サポートを有効にするか、TLS サポートを明示的にオプトアウトする場合のみ、​properties.json​ ファイルを追加します。​properties.json​ ファイルを API プロジェクトに追加しない場合、REST Connect サービスにより、TLS サポートのない標準コネクタアーティファクトが生成されます。
`properties.json`​ ファイルを追加して TLS を有効にしたら、Anypoint Studio にコネクタの TLS 設定フォームが表示されます。 `properties.json`​ ファイルをプロジェクトに追加する場合、​`tlsEnabled`​ プロパティが有効なブール値 (TLS を有効にするには ​`true`​、TLS を明示的に無効にするには ​`false`​) で正しく設定されていることを確認します。​`properties.json`​ ファイルが無効か、プロパティが正しく設定されていない場合、コネクタの生成は中止されます。 ## [](#mule-runtime-バージョンおよび互換性のある-java-バージョンの表示)Mule Runtime バージョンおよび互換性のある Java バージョンの表示 コネクタのパッチバージョンに対応する最小 Mule Runtime バージョンまたは互換性のある Java バージョンを表示する手順は、次のとおりです。 1. Exchange でコネクタを選択します。 2. アセットの詳細ページで、​**\[View versions (バージョンを表示)\]**​ をクリックします。 ![最小ランタイムバージョンおよび互換性のある Java バージョンを表示しているアセットバージョン](/mulesoft/current/ja-jp/exchange/_images/ex-connector-java-compatibility.png) ## [](#upgrade-rest-connector)REST Connect で生成されたコネクタのアップグレード Mule Runtime の最新バージョンを使用し、Java 17 との互換性を確保するように、REST Connect で生成されたコネクタを更新する手順は、次のとおりです。 1. Design Center で API プロジェクトを開きます。 2. **\[Publish (パブリッシュ)\]**​ をクリックします。 コネクタが再生成されます。 [TLS サポート](#tls-support)​をアプリケーションに追加する必要がある場合は、コネクタを再生成する前に追加します。これにより、アプリケーションのテストが 1 回のみで済みます。 ## [](#既知の制限)既知の制限 - Anypoint Platform (REST Connect を含む) では、OAS の API フラグメントはサポートされていません。 - TLS サポートは Mule 4 (SmartConnector) Connector でのみ有効にできます。この機能は、Mule 3 (DevKit) ではサポートされていません。 - 中国語文字は API 仕様または連動関係ではサポートされていません。日本語文字は ​`description`​ タグと ​`example`​ タグでサポートされています。 # アクセス権の要求 クライアントアプリケーションを既存の API インスタンスまたは API グループインスタンスに登録するには、クライアントアプリケーションでアクセス権を要求します。インスタンスのオーナーが要求を承認すると、クライアントアプリケーションとインスタンス間のコントラクトが作成され、クライアントアプリケーションが登録されます。 クライアント ID 適用ポリシーによって保護されているインスタンスでは、クライアントアプリケーションはクライアント ID とクライアントシークレット (省略可能) を提供する必要があります。クライアントアプリケーションが登録されると、クライアント ID とクライアントシークレットのログイン情報が自動的に作成されます。 インスタンスオーナーは、API Manager を使用して、API インスタンスまたは API グループインスタンス用にこれまで作成されたすべての API コントラクトを表示できます。API または API グループコンシューマーは、Exchange の ​**\[My Applications (私のアプリケーション)\]**​ ページを使用して、API インスタンスまたは API グループインスタンスとそのコンシューマーのクライアントアプリケーション間で作成されたコントラクトを表示できます。 API プロバイダーは、​[「API Manager における API インスタンスコントラクトの管理」](https://docs.mulesoft.com/jp/api-manager/latest/manage-client-apps-latest-task)​の手順に従って、このコントラクトを参照、管理、失効できます。 API インスタンスのオーナーと特定のクライアントアプリケーションのオーナーはどちらも、そのクライアントアプリケーションへのアクセス権を要求できます。他のすべてのユーザーは、このいずれかのオーナーにアクセス権を依頼する必要があります。 別のユーザーが作成したクライアントアプリケーションへのアクセス権については、クライアントアプリケーションのオーナーまたは API インスタンスのオーナーのいずれかに、Anypoint API Manager のアプリケーションオーナーリストにユーザーアカウントを追加してもらうという方法でアクセス権の付与を依頼します。 アセットに契約条件が設定されている場合、アクセス権が付与される前に契約条件に同意するように求められます。作成されたコントラクトにはこの契約条件が含まれます。 1. API または API グループアセットをクリックして詳細を表示します。 2. **\[Request access (アクセス権の要求)\]**​ をクリックします。 3. リストからインスタンスを選択します。 4. 既存のアプリケーションを使用する場合、アプリケーションのリストから選択します。 アプリケーションとそのインスタンスは同じクライアントプロバイダーを使用します。組織のシステム管理者が Anypoint API Manager で​[複数のクライアントプロバイダー](https://docs.mulesoft.com/jp/api-manager/latest/configure-multiple-credential-providers)​を設定してある場合、アプリケーションのリストには、選択したインスタンスと同じクライアントプロバイダーを使用しているアプリケーションのみが表示されます。 5. アクセス権を付与するアプリケーションがない場合は、​**\[Select application (アプリケーションを選択)\] > \[Create a new application (新規アプリケーションを作成)\]**​ をクリックします。 詳細は、「新規アプリケーションを作成する」セクションを参照してください。 6. アプリケーションのサービスレベル契約 (SLA) の値を選択します。 7. **\[Request access (アクセス権の要求)\]**​ をクリックします。 **\[Request API Access (API アクセス権の要求)\]**​ メニューが開き、アクセス権が自動的に付与されたか、確認のために送信されたことが示されます。この画面には、このアクセスインスタンスのクライアント ID とクライアントシークレットがリストされます。 ## [](#新規アプリケーションを作成する)新規アプリケーションを作成する 以下の画面で何を提供するかを選択します。 - 組織が OAuth 認証を使用している場合、次の画面が表示されます ![スクリーンショット - 新規アプリケーションを作成](/mulesoft/current/ja-jp/exchange/_images/ex2-edit-app2.png) 次の値を指定します。 - アプリケーション名。 - アプリケーションの省略可能な説明。 - アプリケーションが存在する場所の省略可能なアプリケーション URL。指定しない場合、アプリケーションは Runtime Manager 内にあるとみなされます。 - OAuth 2 コールバックの省略可能な URL。 - 組織が外部認証を使用している場合、次の画面が表示されます ![スクリーンショット - 外部認証](/mulesoft/current/ja-jp/exchange/_images/ex2-edit-app.png) 上記と同じ値に加えて、次の値を指定します。 OAuth 2 許可種別: - Implicit Grant (暗黙的許可) - Authorization Code Grant (認証コード許可) - Refresh Token (更新トークン) ## [](#api-グループアクセス)API グループアクセス Exchange の各 API グループは、ポータルが設定されたアセットです。ポータルの ​**\[Group instances (グループインスタンス)\]**​ ページには、API グループのすべてのインスタンスがリストされます。 開発者がクライアントアプリケーションによる API グループへのアクセスを要求する場合、API グループインスタンスを選択して、クライアントアプリケーションを選択または作成し、必要に応じてサービスレベル契約 (SLA) を選択します。 クライアントアプリケーションは、その API のみとのコントラクトまたは API が含まれる 1 つ以上の API グループとのコントラクトで API にアクセスできます。後者の場合は、API で使用できる最も制限の少ないコントラクトが適用されます。 ## [](#関連情報)関連情報 - [許可種別を検索して比較](https://www.google.com/search?q=oauth2+implicit+grant+vs+authorization+code+grant+refresh+token&oq=oauth2+implicit+grant+vs+authorization+code+grant+refresh+token) # アセットタイプ Exchange では、次のアセットタイプがサポートされています。 - API グループ 1 つのアセットにバンドルされる API のセット。 - API 仕様フラグメント 完全な API 仕様を作成するために再利用される API 仕様の部分。 - AsyncAPI 仕様 イベント駆動型 API を指定する AsyncAPI 仕様ファイル。Exchange では、AsyncAPI 2.0 および 2.6 がサポートされています。AsyncAPI 2.6 では、Avro スキーマを使用する仕様がサポートされています。Avro スキーマを使用する AsyncAPI のファイル種別は AVSC です。 - コネクタ サードパーティの API と標準のインテグレーションプロトコルを使用する Anypoint Platform エンドポイントに対するパッケージ化された接続。 アプリケーションのフロー内でコネクタを使用して、プロトコルまたは特定の API を介してデータを送受信します。Anypoint Studio には多数のコネクタが付属していますが、Exchange にはさらに多くのコネクタがあります。 - Custom (カスタム) システムの側面を説明したり、手順動画を提供したり、商品または組織のドキュメントを説明したりするための説明とファイル (省略可能)。 - DataWeave ライブラリ アプリケーション間で共有して再利用するためのパッケージ化されたモジュールおよびマッピング。 - 例 Anypoint Studio で実行する準備が整っていてユースケースまたはソリューションを実証するアプリケーション。 - GraphQL API GraphQL 仕様を通じて API を操作するために使用されるオブジェクト種別および定義が含まれるスキーマ定義。GraphQL を使用すると、REST よりもはるかに柔軟にこの言語をサポートする API を照会できます。 - HTTP API API Manager でエンドポイントを管理する非公開 Exchange ユーザーが使用するためのエンドポイントのプレースホルダー。 開発者は、ユースケースを満たすために複数の API へのアクセスを要求する代わりに、1 ステップでグループにアクセスできます。 - Mule アプリケーション システムインテグレーションを実行するアプリケーション。このアプリケーションは API を使用してパブリッシュおよびコンシュームされ、Exchange UI には表示されません。Exchange Maven Facade API または REST API を使用して、Mule アプリケーションアセットをパブリッシュおよび管理します。 詳細は、以下を参照してください。 - [Exchange プラットフォーム API](https://docs.mulesoft.com/jp/exchange/about-platform-apis) - [Exchange API を使用したアセットのパブリッシュ](https://docs.mulesoft.com/jp/exchange/exchange-api) - [Maven を使用したアセットのパブリッシュ](https://docs.mulesoft.com/jp/exchange/to-publish-assets-maven) - ポリシー API の機能を拡張し、セキュリティなど機能を適用する設定モジュール。 - REST API メタデータを Anypoint Studio に公開するために HTTP Request Connector で参照される API を指定する RAML または OAS ファイル。 - RPA テンプレート - RPA アクティビティテンプレート アクティビティテンプレートは RPA 内で再利用可能なコードであり、最もよく使用されるアクティビティステップを標準化して組織内の他の開発者が使用できるようにします。ファイル種別は ​`.calw`​ です。 - RPA プロセステンプレート プロジェクトとして RPA Builder にインポートし、RPA ボットにデプロイする前にカスタマイズできる RPA プロセスのテンプレート。プロセステンプレートは自動化を迅速に構築できるように RPA の一般的なパターンに基づいて作成されます。ファイル種別は ​`.crpa`​ です。 - ルールセット ルールセットを記述する YAML ファイル。 - SOAP API API を指定する WSDL ファイル。 - テンプレート 一般的なユースケースに対応するベストプラクティスに基づいて構築されパッケージ化されたインテグレーションパターン。 各自の情報を入力し、必要に応じてテンプレートをカスタマイズまたは拡張して、テンプレートのユースケースやソリューションを完成させます。 ## [](#関連情報)関連情報 - [アセットの詳細](https://docs.mulesoft.com/jp/exchange/asset-details) # アセットのダウンロード ダウンロードでは、アセットのコピー、またはカスタムアセットの場合は作成時にアセットに添付された省略可能なファイルをダウンロードできます。 REST アセットを作成したら、Exchange によって Mule 3 Connector と Mule 4 Connector が生成されます。Exchange では、RAML アセットの OAS 2.0 バージョンと、OAS 2.0 および OAS 3.0 アセットの RAML バージョンも生成されます。新しい REST アセットを作成してからそれらのアセットが \[Download (ダウンロード)\] メニューに表示されるまで、数分かかることがあります。 REST アセットの名前、説明、表示ラベル、またはカテゴリを変更すると、Exchange は生成されたコネクタでこれらの属性を更新します。 [2019 年 1 月 12 日](https://docs.mulesoft.com/jp/release-notes/exchange/anypoint-exchange-release-notes#january-2019)​以降にパブリッシュされたすべての OAS アセットの RAML バージョンと、その日付以降にパブリッシュされたすべての RAML アセットの OAS 2.0 バージョンは自動的に生成されています。これらのいずれかのバージョンが含まれていない古いアセットがある場合、アセットをダウンロードしてから再度アップロードすれば、すべてのバージョンを生成できます。 アセットの詳細ペインから ​**\[Download (ダウンロード)\]**​ をクリックします。 結果はファイルの種類によって異なります。 - REST API RAML \[As RAML (RAML として)\] を選択した場合、元の RAML ファイルが zip ファイルとしてダウンロードされます。\[As OAS (OAS として)\] を選択した場合、API 仕様が OAS 2.0 形式の仕様の JSON ファイルを含む zip ファイルとしてダウンロードされます。\[As Mule 4 connector (Mule 4 Connector として)\] を選択した場合、Studio 7 Mule プロジェクトに追加できる jar ファイルとしてダウンロードされます。\[As Mule 3 connector (Mule 3 Connector として)\] を選択した場合、Studio 6 Mule プロジェクトに追加できる zip ファイルとしてダウンロードされます。 - REST API OAS \[As RAML (RAML として)\] を選択した場合、API 仕様がその仕様の RAML ファイルを含む zip ファイルとしてダウンロードされます。\[As OAS (OAS として)\] を選択した場合、元の JSON 形式または YAML 形式のファイルを含む zip ファイルとしてダウンロードされます。\[As Mule 4 connector (Mule 4 Connector として)\] を選択した場合、Studio 7 Mule プロジェクトに追加できる jar ファイルとしてダウンロードされます。\[As Mule 3 connector (Mule 3 Connector として)\] を選択した場合、Studio 6 Mule プロジェクトに追加できる zip ファイルとしてダウンロードされます。 - SOAP API WSDL WSDL ファイルとしてダウンロードされます。 - Connector (コネクタ) jar ファイルとしてダウンロードされます。 - Template (テンプレート) jar または zip ファイルとしてダウンロードされます。 - 例 zip ファイルとしてダウンロードされます。 - ポリシー **\[As Mule policy (Mule ポリシーとして)\]**​ を選択した場合、Exchange でポリシーが JAR ファイルとしてダウンロードされます。​**\[As Policy definition (ポリシー定義として)\]**​ を選択した場合、Exchange で定義 YAML ファイルがダウンロードされます。 - Custom (カスタム) (ファイルあり) アップロードしたファイルと同じ形式のファイルがアプリケーション名に基づくファイル名でダウンロードされます。 たとえば、Inventory Distribution (在庫物流) プロジェクトのテキストファイルをアップロードした場合、​`inventory-distribution.txt`​ がダウンロードされます。 - Custom (カスタム) (ファイルなし) **\[Download (ダウンロード)\]**​ ボタンは表示されません。 - API グループ **\[Download (ダウンロード)\]**​ ボタンは表示されません。 # アセットのパブリッシュ API、API グループ、テンプレート、コネクタ、ポリシー、Mule XML サンプルコード、カスタム情報アセットを非公開 Exchange インスタンスまたは Exchange 公開ポータルにパブリッシュします。Exchange では、コードおよび API のリポジトリが提供され、組織から簡単にアクセス、モデル化、再利用を行うことができます。 非公開 Exchange インスタンスでは、閲覧者、コントリビューター、または管理者アクセス権を内部開発者に付与することで、アセットをそれらの内部開発者に簡単に提供できます。また、ビジネスグループ内で作成されたアセットは、そのビジネスグループの開発者に自動的に提供されます。 Exchange 公開ポータルでは、Exchange 管理者が自分の組織外の開発者にアセットを提供できます。 どちらの Exchange ビューでもユーザーがアセットを確認できるため、アセットプロバイダーはフィードバックを得ることができます。 詳細は、​[「FAQ」](https://docs.mulesoft.com/jp/exchange/exchange2-faq)​を参照してください。 # アセットの作成 Anypoint Exchange 非公開インスタンスまたは Exchange 公開ポータルで API、API グループ、ポリシー、ルールセット、サンプル、テンプレート、コネクタを共有するには、そのタイプのアセットを作成します。 アセットの作成方法は、そのタイプによって異なります。タイプはアセットの作成時に設定され、変更することはできません。 - OAS、RAML、RAML フラグメント、AsyncAPI、HTTP、WSDL、ルールセット、カスタムアセットの場合、Exchange の ​**\[Publish new asset (新規アセットをパブリッシュ)\]**​ メニューを使用してアセットを直接作成する。 - サンプルまたはテンプレートの場合、Anypoint Studio の Maven 化機能を使用して各アセットを作成し、それぞれを Exchange にパブリッシュする。 - コネクタ、ポリシー、サンプル、テンプレートについては、​[「Maven を使用した Exchange アセットのパブリッシュとデプロイ」](https://docs.mulesoft.com/jp/exchange/to-publish-assets-maven)​を参照。 - Design Center を使用して REST API や API 仕様フラグメントを作成し、API を Exchange にパブリッシュすることもできます。 これらのアセットタイプをパブリッシュする別の方法は、 [Exchange Experience API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/exchange-experience-api/)​ を使用することです。 - RAML および OAS API 仕様は、​[Anypoint Platform コマンドラインインターフェース (CLI)](https://docs.mulesoft.com/jp/anypoint-cli/latest/)​ を使用して Exchange にアップロードできます。 例: `exchange asset upload --classifier raml --apiVersion v1 --name HelloWorld --mainFile helloworld.raml helloword/1.0.0 /Users/nmouso/Downloads/helloworld.raml.zip` - API グループは、Anypoint API Manager から Exchange にパブリッシュされる。 - Mule アプリケーションは、Anypoint Runtime Fabric から Exchange にパブリッシュされて Runtime Fabric で管理され、Exchange のユーザーインターフェースには表示されない。 - 外部ライブラリは、​[Exchange Maven Facade API](https://docs.mulesoft.com/jp/exchange/to-publish-assets-maven)​ から Exchange にパブリッシュされてこの API で管理され、Exchange のユーザーインターフェースには表示されない。 Exchange では RAML フラグメントが完全にサポートされています。現在、Exchange では、OAS 3.0 コンポーネントを仕様内の Exchange 連動関係としてインポートおよび管理することはできません。 次の図は、一部のアセットタイプ (緑色) が Exchange でどのように表示されるかをまとめたものです。 ![ex2 exchange assets](/mulesoft/current/ja-jp/exchange/_images/ex2-exchange-assets.png) ## [](#api-アセットを作成する)API アセットを作成する API アセットでは、インターフェースのすべて (その関数、説明、戻りコードの処理方法、連動関係など) を指定します。 アセットを作成すると、アセットタイプが設定されます。アセットタイプは変更できません。アセットのすべてのバージョンのタイプは常に同じです。 API アセットを作成する手順は、次のとおりです。 1. Exchange で、​**\[Publish new asset (新規アセットをパブリッシュ)\]**​ を選択します。 2. アセットの名前を入力します。 3. ドロップダウンリストから、アセットタイプを選択します。 - REST API - RAML: RAML API 仕様ファイルを提供します。RAML 仕様には RAML ファイル (​`.raml`​) を使用する必要があります。 - REST API - OAS: OAS API 仕様ファイルを提供します。OAS 仕様には YAML (​`.yaml`​) または JSON (​`.json`​) ファイルを使用できます。Exchange では、OAS 2.0 および OAS 3.0 仕様がサポートされています。 - SOAP API - WSDL: WSDL API 仕様ファイルを提供します。SOAP 仕様ファイルには WSDL (​`.wsdl`​) または XML (​`.xml`​) ファイルを使用できます。 - AsyncAPI: YAML (​`.yaml`​) または JSON (​`.json`​) ファイル形式の AsyncAPI 仕様ファイルを提供します。 - Avro スキーマを使用する AsyncAPI: AVSC (​`.avsc`​) ファイルで Avro フラグメントを提供します。 - API 仕様フラグメント - RAML: API フラグメント RAML 仕様ファイルを提供します。フラグメント仕様には RAML ファイル (​`.raml`​) を使用する必要があります。 - API 仕様フラグメント - JSON: API フラグメント JSON 仕様 (​`.json`​) ファイルを提供します。 - API 仕様フラグメント - OpenAPI 仕様 (OAS): API フラグメント OpenAPI 仕様ファイル JSON または YAML を提供します。 - HTTP API: このアセットはファイルを必要としません。このアセットタイプでは、API Manager によって定義された API エンドポイントを提供します。 4. ファイルを必要とするアセットの場合、次の手順を実行します。 1. **\[Choose File (ファイルを選択)\]**​ を選択し、API 仕様ファイルを見つけます。 2. API のメインファイルを選択します。 ファイルが ZIP の場合、選択したメインファイルは ZIP ファイルのルートディレクトリにある必要があります。ファイルが ZIP ではない場合、または 1 つのメインファイルのみを含む ZIP ファイルの場合、メインファイルは自動的に選択されます。 5. **GroupId**​、​**AssetId**​、​**バージョン**​、​**API バージョン**​ (GAV) を編集するには、​**\[Advanced (詳細)\]**​ をクリックします。 グループ ID、アセット ID、バージョン (GAV) は Exchange によって自動的に生成されますが、これらの値は必要に応じて変更できます。API のアセットバージョンとバージョンは個別に変更できます。詳細設定を使用して、アセットバージョンを変更します。 6. **\[Lifecycle state (ライフサイクル状態)\]**​ のオプションを選択します。デフォルトは ​**\[Stable (安定)\]**​ です。 7. **\[Publish (パブリッシュ)\]**​ を選択します。 ZIP ファイルを作成し、フォルダー内の項目を ZIP ファイルのルートディレクトリに配置する場合、次のようなコマンドを使用します。​`myfolder`​ をフォルダーの名前に置き換えて、​`name.zip`​ を新しい ZIP ファイルの名前に置き換えます。 ```none cd myfolder; zip -r name.zip . ``` `zip -r name.zip myfolder`​ などのコマンドを使用しないでください。このコマンドでは、フォルダーが ZIP ファイルのルートディレクトリに配置されます。これにより、​`The zip file does not contain a .raml file in the root directory`​ のようなエラーメッセージが表示されます。 ## [](#api-グループアセットの作成)API グループアセットの作成 API グループは、組織で API インスタンスのグループを単一ユニットとしてパブリッシュできるようにするアセットです。これにより、開発者のクライアントアプリケーションは、1 つのクライアント ID と必要に応じてクライアントシークレットを使用して API にグループとしてアクセスできます。 API グループは、Anypoint API Manager で作成して、Exchange にパブリッシュします。 API グループには、1.0.0、2.0.0、3.0.0 などのメジャーバージョンはありますが、マイナーバージョンやパッチバージョンはありません。API グループの各バージョンには、1 つ以上の API グループインスタンスがあります。各 API グループインスタンスは、ID プロバイダーと環境種別 (本番または Sandbox) がすべて同じである API インスタンスのグループです。API グループインスタンスには、複数のビジネスグループの API インスタンスを含めることができます。 API グループを作成する場合、グループの API ごとにグループ管理者権限とアセット管理者権限が必要になります。これにより、グループ作成者は非公開表示レベルと公開表示レベル間で基礎となる API を変更できます。 API グループに非公開 API がある場合、API グループを公開ポータルにパブリッシュするときに警告が表示されます。非公開コンテンツは、公開ポータルに表示されません。API グループのすべてのコンテンツが公開ポータルにパブリッシュされるようにするには、Exchange で各 API のページに移動し、API を公開してから API グループをパブリッシュします。 すべての API グループインスタンスが非公開である場合に API グループを公開ポータルにパブリッシュしたときや、すべての API インスタンスが非公開である場合に API グループインスタンスを公開したときも警告が表示されます。 ## [](#カスタムアセットの作成)カスタムアセットの作成 カスタムアセットでは、お知らせ、ドキュメント、動画、ファイルの共有など、組織のあらゆる側面に関する情報を共有できます。ユーザーがダウンロードできる省略可能なファイルをカスタムアセットに追加できます。ファイルは Exchange に保存されます。 Exchange では、カスタムアセットの省略可能なファイルとして次のファイルの種類のみを使用できます。 画像: `.jpg, .jpeg, .png, .gif, .svg` ドキュメント: `.docx, .pdf, .pptx, .rtf, .vsdx, .vssx` 圧縮ファイル: `.zip, .tgz, .jar, .gz, .7z` テキストファイル: `.txt, .json, .raml, .yaml, .yml, .md, .csv, .xml, .xsd, .wsdl, .html, .pom, .log, .sql` ファイルの種類がないファイルは使用できません。すべてのファイルの種類は大文字と小文字を区別しません。 SVG ファイルは 100 KB 以下に制限されます。 許可されていない種別のファイルを含むすべての古いカスタムアセットを削除することをお勧めします。サポートされていないファイルを含むカスタムアセットの場合、そのアセットを削除してファイルを削除します。 カスタムアセットを作成する手順は、次のとおりです。 1. Exchange で、​**\[Publish new asset (新規アセットをパブリッシュ)\]**​ を選択します。 2. アセットの名前を入力します。 3. ドロップダウンリストから、​**\[Custom (カスタム)\]**​ アセットタイプを選択します。 4. ファイルをアップロードするには、​**\[Choose file (ファイルを選択)\]**​ をクリックします。 5. **GroupId**​、​**AssetId**​、​**バージョン**​ (GAV) を編集するには、​**\[Advanced (詳細)\]**​ をクリックします。 グループ ID、アセット ID、バージョンは Exchange によって自動的に生成されますが、これらの値は必要に応じて変更できます。詳細設定を使用して、アセットバージョンを変更します。 6. **\[Lifecycle state (ライフサイクル状態)\]**​ のオプションを選択します。デフォルトは ​**\[Stable (安定)\]**​ です。 7. **\[Publish (パブリッシュ)\]**​ を選択します。 ## [](#カスタムポリシー定義アセットの作成)カスタムポリシー定義アセットの作成 ポリシーは、セキュリティの管理、トラフィックの制御、API の適応性の向上に役立つ規制を適用します。たとえば、ポリシーによって認証、アクセス、サービスレベル契約 (SLA) を制御できます。特定のビジネス要件に基づいてポリシー定義を作成できます。カスタムポリシー定義を作成して API に適用することで、既存の機能を拡張したり、新しい機能を定義したりできます。 カスタムポリシー定義をパブリッシュする手順は、次のとおりです。 1. Exchange で、​**\[Publish new asset (新規アセットをパブリッシュ)\]**​ をクリックします。 2. アセットの名前を入力します。 3. ドロップダウンリストから、​**\[Policy (ポリシー)\]**​ アセットタイプを選択します。 4. **\[Choose File (ファイルを選択)\]**​ をクリックし、JSON スキーマまたは YAML ファイルを選択します。 5. **GroupId**​、​**AssetId**​、​**バージョン**​、API バージョン (GAV) を編集するには、​**\[Advanced (詳細)\]**​ をクリックします。 Exchange によって、グループ ID、アセット ID、およびバージョン (GAV) が生成されます。これらの値を変換できます。API アセットのバージョンと API バージョンを個別に変更することもできます。詳細設定は、アセットバージョンを変更する場合に頻繁に使用されます。 6. \[From Lifecycle (ライフサイクル状態)\] から、​**\[Stable (安定)\]**​ を選択します。 後の手順で実装ファイルをアップロードするには、ポリシーが \[Stable (安定)\] 状態になっている必要があります。 7. **\[Publish (パブリッシュ)\]**​ を選択します。 左側のナビゲーションバーの ​**\[Implementations (実装)\]**​ の横に ​**\[Pending (保留中)\]**​ 状況が表示されます。 実行時に使用できるようにポリシーを実装するには、​[「パブリッシュしたポリシー定義へのポリシー実装ファイルの追加」](https://docs.mulesoft.com/jp/exchange/add-policy-implementation-files-to-published-policy-definition)​の手順に従ってください。 ## [](#graphql-api-の作成)GraphQL API の作成 GraphQL API スキーマは、項目で構成されるオブジェクト種別と操作のコレクションです。GraphQL API を使用すれば、クライアントは REST API のように固定の応答を取得するのではなく、必要なオブジェクト種別および項目のみを取得できます。 アップロードできるスキーマには次の 2 つの種別があります。 - GraphQL API スキーマ - GraphQL Apollo API スキーマ Apollo GraphQL 固有のディレクティブおよび構造を使用して設計された GraphQL API スキーマであり、スキーマ定義言語 (SDL) としても知られています。 GraphQL API を作成する手順は、次のとおりです。 1. Exchange で、​**\[Publish new asset (新規アセットをパブリッシュ)\]**​ を選択します。 2. アセットの名前を入力します。 3. ドロップダウンリストから ​**\[GraphQL API\]**​ アセットタイプを選択します。 4. アップロードする GraphQL API スキーマ (GraphQL API スキーマまたは GraphQL Apollo API スキーマ) を選択します。 5. アップロードするファイルを選択するには、​**\[Choose file (ファイルを選択)\]**​ をクリックします。 6. 詳細設定、​**GroupId**​、​**AssetId**​、​**バージョン**​ (GAV) を編集するには、​**\[Advanced (詳細)\]**​ をクリックします。 グループ ID、アセット ID、バージョンは Exchange によって自動的に生成されますが、これらの値は必要に応じて変更できます。詳細設定を使用して、アセットバージョンを変更します。 7. **\[Lifecycle state (ライフサイクル状態)\]**​ のオプションを選択します。デフォルトは ​**\[Stable (安定)\]**​ です。 8. **\[Publish (パブリッシュ)\]**​ を選択します。 ## [](#rpa-アクティビティテンプレートアセットの作成)RPA アクティビティテンプレートアセットの作成 アクティビティテンプレートは RPA 内で再利用可能なコードであり、最もよく使用されるアクティビティステップを標準化して組織内の他の開発者が使用できるようにします。これらのテンプレートは、開発者が RPA プロセスの一部として使用できるように RPA アクティビティライブラリにインポートされる ​`.cawl`​ ファイルです。 RPA アクティビティテンプレートアセットを作成する手順は、次のとおりです。 1. Exchange で、​**\[Publish new asset (新規アセットをパブリッシュ)\]**​ を選択します。 2. アセットの名前を入力します。 3. ドロップダウンリストから ​**\[RPA Activity Template (RPA アクティビティテンプレート)\]**​ アセットタイプを選択します。 4. アップロードする ​`.cawl`​ ファイルを選択するには、​**\[Choose file (ファイルを選択)\]**​ をクリックします。 5. 詳細設定、​**GroupId**​、​**AssetId**​、​**バージョン**​ (GAV) を編集するには、​**\[Advanced (詳細)\]**​ をクリックします。 グループ ID、アセット ID、バージョンは Exchange によって自動的に生成されますが、これらの値は必要に応じて変更できます。詳細設定を使用して、アセットバージョンを変更します。 6. **\[Lifecycle state (ライフサイクル状態)\]**​ のオプションを選択します。デフォルトは ​**\[Stable (安定)\]**​ です。 7. **\[Publish (パブリッシュ)\]**​ を選択します。 ## [](#rpa-プロセステンプレートアセットの作成)RPA プロセステンプレートアセットの作成 RPA プロセスのテンプレートはプロジェクトとして RPA Builder にインポートされ、RPA ボットにデプロイする前にカスタマイズできます。プロセステンプレートは自動化を迅速に構築できるように RPA の一般的なパターンに基づいて作成されます。これらのテンプレートは、他の開発者と共有するために RPA Builder からエクスポートされる ​`.crpa`​ ファイルです。 RPA アクティビティテンプレートアセットを作成する手順は、次のとおりです。 1. Exchange で、​**\[Publish new asset (新規アセットをパブリッシュ)\]**​ を選択します。 2. アセットの名前を入力します。 3. ドロップダウンリストから ​**\[RPA Process Template (RPA プロセステンプレート)\]**​ アセットタイプを選択します。 4. アップロードする ​`.crpa`​ ファイルを選択するには、​**\[Choose file (ファイルを選択)\]**​ をクリックします。 5. 詳細設定、​**GroupId**​、​**AssetId**​、​**バージョン**​ (GAV) を編集するには、​**\[Advanced (詳細)\]**​ をクリックします。 グループ ID、アセット ID、バージョンは Exchange によって自動的に生成されますが、これらの値は必要に応じて変更できます。詳細設定を使用して、アセットバージョンを変更します。 6. **\[Lifecycle state (ライフサイクル状態)\]**​ のオプションを選択します。デフォルトは ​**\[Stable (安定)\]**​ です。 7. **\[Publish (パブリッシュ)\]**​ を選択します。 ## [](#ルールセットアセットの作成)ルールセットアセットの作成 ルールセットは、アプリケーションを定義するルールまたはガイドラインのグループです。たとえば、ベストプラクティスや業界固有の標準などがこれに該当します。新しいルールセットを記述する複数の YAML ファイルが含まれる zip ファイルを追加します。 ルールセットアセットを作成する手順は、次のとおりです。 1. Exchange で、​**\[Publish new asset (新規アセットをパブリッシュ)\]**​ を選択します。 2. アセットの名前を入力します。 3. ドロップダウンリストから ​**\[Ruleset (ルールセット)\]**​ アセットタイプを選択します。 4. アップロードするには、​**\[Choose file (ファイルを選択)\]**​ をクリックします。 5. 詳細設定、​**GroupId**​、​**AssetId**​、​**バージョン**​ (GAV) を編集するには、​**\[Advanced (詳細)\]**​ をクリックします。 グループ ID、アセット ID、バージョンは Exchange によって自動的に生成されますが、これらの値は必要に応じて変更できます。詳細設定を使用して、アセットバージョンを変更します。 6. **\[Lifecycle state (ライフサイクル状態)\]**​ のオプションを選択します。デフォルトは ​**\[Stable (安定)\]**​ です。 7. **\[Publish (パブリッシュ)\]**​ を選択します。 ## [](#asyncapi-アセットの作成)AsyncAPI アセットの作成 AsyncAPI は、イベント駆動型 API を指定する AsyncAPI 仕様ファイルです。Avro スキーマを使用して AsyncAPI を作成できます。Avro スキーマのファイルの種類は AVSC です。 AsyncAPI を作成する手順は、次のとおりです。 1. Exchange で、​**\[Publish new asset (新規アセットをパブリッシュ)\]**​ を選択します。 2. アセットの名前を入力します。 3. ドロップダウンリストから ​**\[AsyncAPI\]**​ アセットタイプを選択します。 4. アップロードするファイルを選択するには、​**\[Choose file (ファイルを選択)\]**​ をクリックします。 5. 詳細設定、​**GroupId**​、​**AssetId**​、​**バージョン**​ (GAV) を編集するには、​**\[Advanced (詳細)\]**​ をクリックします。 グループ ID、アセット ID、バージョンは Exchange によって自動的に生成されますが、これらの値は必要に応じて変更できます。詳細設定を使用して、アセットバージョンを変更します。 6. **\[Lifecycle state (ライフサイクル状態)\]**​ のオプションを選択します。デフォルトは ​**\[Stable (安定)\]**​ です。 7. **\[Publish (パブリッシュ)\]**​ を選択します。 ## [](#アセット名アイコン説明のプロパティ)アセット名、アイコン、説明のプロパティ API Designer または Exchange でアセットを作成できます。名前、アイコン、説明のプロパティは、アセットの作成後に​[「アセットの説明」](https://docs.mulesoft.com/jp/exchange/to-describe-an-asset)​の説明に従って Exchange のアセット詳細ページでのみを変更できます。 ### [](#api-designer-で作成されたアセットのプロパティ)API Designer で作成されたアセットのプロパティ API Designer は、RAML 仕様のアセットの名前を読み取って使用します。 Exchange でアセットをパブリッシュする前に、API Designer で名前を編集できます。 Exchange でアセットがパブリッシュされると、この名前がアセットポータル名として使用されます。Exchange のアセットのバージョンを更新するために API Designer からパブリッシュする場合、名前項目が無効になり、Exchange の名前が表示されます。名前、アイコン、説明のプロパティは、Exchange のアセット詳細ページでのみを変更できます。 ### [](#exchange-で作成されたアセットのプロパティ)Exchange で作成されたアセットのプロパティ Exchange でアセットを作成するときに、名前を入力します。 Exchange で新しいバージョンを追加するときに名前を変更することはできません。 名前、アイコン、説明のプロパティは、Exchange のアセット詳細ページでのみを変更できます。 ## [](#既存のアセットの新しいバージョンを作成する)既存のアセットの新しいバージョンを作成する アセットへのコントリビュータまたは管理者アクセス権がある場合、既存のアセットの新しいバージョンを追加できます。 1. Exchange で、アセットリストを開き、アセットを選択します。 2. **\[Add version (バージョンを追加)\]**​ をクリックします。 3. API アセットの場合、対応する API アセットタイプの手順に従ってください。 - REST API - RAML: RAML API 仕様ファイルを提供します。RAML 仕様には RAML ファイル (.raml) を使用する必要があります。 - REST API - OAS: OAS API 仕様ファイルを提供します。OAS 仕様には YAML (.yaml) または JSON (.json) ファイルを使用できます。Exchange では、OAS 2.0 および OAS 3.0 仕様がサポートされています。 - SOAP API - WSDL: WSDL API 仕様ファイルを提供します。SOAP 仕様ファイルには WSDL (.wsdl) または XML (.xml) ファイルを使用できます。 - API 仕様フラグメント - RAML: API フラグメント RAML 仕様ファイルを提供します。フラグメント仕様には RAML ファイル (.raml) を使用する必要があります。 - AsyncAPI: JSON (.json) または YAML (.yml) ファイルを提供します。 - Avro スキーマを使用する AsyncAPI 仕様: Avro フラグメント仕様を提供します。フラグメント仕様には AVSC (.avsc) ファイルを使用する必要があります。 - HTTP API - このアセットはファイルを必要としません。このタイプのアセットでは、API Manager によって定義された API エンドポイントを提供します。 4. RAML、API 仕様フラグメント、OAS、WSDL アセットの場合、次の操作を実行します。 - **\[Choose File (ファイルを選択)\]**​ を選択し、API 仕様ファイルを見つけます。 - API のメインファイルを選択します。 5. アップロードするファイルを選択するには、​**\[Choose file (ファイルを選択)\]**​ をクリックします。 6. アセットのバージョンを入力します。 7. **\[Lifecycle state (ライフサイクル状態)\]**​ のオプションを選択します。デフォルトは ​**\[Stable (安定)\]**​ です。 8. **\[Publish (パブリッシュ)\]**​ を選択します。 アセットの新しいバージョンの名前、アイコン、説明は、以前のバージョンと同じになります。これらのプロパティに対する変更は、アセットのすべてのバージョンに適用されます。 ## [](#関連情報)関連情報 - 次へ: [アセットの説明](https://docs.mulesoft.com/jp/exchange/to-describe-an-asset) - [API Designer で RAML ファイルを作成して Exchange にインポート](https://docs.mulesoft.com/design-center/upload-raml-task) - [Maven を使用した Exchange アセットのパブリッシュとデプロイ](https://docs.mulesoft.com/jp/exchange/to-publish-assets-maven) # アセットの使用量とエンゲージメントのメトリクスダッシュボード Exchange 管理者はダッシュボードを使用して API 仕様フラグメントおよび REST API の使用量とエンゲージメントのメトリクスを表示できます。このダッシュボードには、組織内での全体的なアセットの使用量と消費が表示されます。使用量メトリクスでは、アセットが Exchange からダウンロードされて API Designer および Anypoint Studio からインポートされた回数や、連動やコントラクトの数が測定されます。アセットエンゲージメントスコアは、管理者やアセットのオーナーが Exchange でアセットの使用量を測定するために使用できる複合メトリクスです。このエンゲージメントの結果は、Exchange 内のさまざまなニーズでエンドユーザーが実行するさまざまな消費アクションです。エンゲージメントスコアは、顧客のルート組織およびビジネスグループにおける API 仕様フラグメントおよび REST API の使用のコンテキストでのアセットの使用量を反映しています。 このダッシュボードには、過去 7 日間、過去 30 日間、過去 90 日間に最も消費が多かったイベントによってランク付けされた上位 50 個のアセットのメトリクスが表示されます。上位のアセットは API 仕様フラグメントおよび REST API 種別と、1 つ以上の組織で絞り込むことができます。メトリクスデータは、CSV ファイルにエクスポートできます。 次の画像は、使用量とエンゲージメントのメトリクスダッシュボードを示しています。 ![](/mulesoft/current/ja-jp/exchange/_images/ex-metrics-dashboard.png) 次のデータが収集され、分析されます。 - ランク RAML フラグメントおよび REST API について最も数が多い消費イベントでランク付けされたアセット。 - 名前 アセットの名前。 - 組織 アセットが属するビジネス組織の名前。 - Created on (作成日) アセットが作成された日付。 - 最終更新 アセットが最後に更新された日付。 - エンゲージメントスコア エンゲージメントスコアは、顧客のルート組織およびビジネスグループにおける API 仕様フラグメントおよび REST API の使用のコンテキストでのアセットの使用量を反映しています。 - ダウンロード アセットがダウンロードされた回数。昇順または降順で並び替えることができます。 - API Designer からのインポート アセットが API Designer からインポートされた回数。昇順または降順で並び替えることができます。 - Studio からのインポート アセットが Studio にインポートされた回数。 - 全期間の統計 - 連動 バージョンが作成された時点からの連動しているアセットの数。 - コントラクト バージョンが作成された時点からの承認済みのコントラクトの数。 ## [](#アセットの使用量とエンゲージメントのメトリクスを表示する)アセットの使用量とエンゲージメントのメトリクスを表示する このダッシュボードを使用して、アセットのメトリクスとダッシュボードからの検索条件オプションを表示して、API 仕様フラグメントまたは REST API アセットを絞り込みます。日付範囲を選択して、アセットタイプや組織で絞り込むことができます。 1. Exchange のナビゲーションバーで、​**\[Asset engagement (アセットエンゲージメント)\]**​ をクリックします。 ![ナビゲーションバーの \[Asset engagement (アセットエンゲージメント)\] オプション](_images/ex-nav-asset-engagement.png) 2. 7 日間、30 日間、90 日間の中から日付範囲を選択します。 デフォルトの日付範囲は過去 7 日間です。 3. アセットタイプで絞り込む場合は、​**\[Asset type (アセットタイプ)\]**​ からオプションを選択します。 4. 組織で絞り込む場合は、​**\[My Organizations (自分の組織)\]**​ をクリックします。 ![「My organizations (自分の組織)」 メニュー](/mulesoft/current/ja-jp/exchange/_images/ex-my-organizations.png) 5. **\[Search (検索)\]**​ ボックスに組織の名前を入力して、組織を検索します。 6. 1 つ以上の組織を選択し、​**\[Apply (適用)\]**​ をクリックして組織でアセットを絞り込みます。 7. ダッシュボードのリストで特定のアセットのメトリクスを表示するには、アセット名の横にあるリンクをクリックします。 アセット詳細ページには、アセットの使用量とエンゲージメントのメトリクス情報が表示されます。 8. アセットの連動を表示するには、1 つ以上の連動が含まれる ​**\[Dependents (連動)\]**​ 行をクリックします。 ダイアログには、そのアセットのバージョンの連動のリストが表示されます。 9. 使用量データをエクスポートするには、​**\[Export to CSV (CSV にエクスポート)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [特定のアセットとバージョンのメトリクス](https://docs.mulesoft.com/jp/exchange/metrics-for-a-specific-asset-version) # アセットの共有 Exchange 管理者とアセット管理者はアセットを組織の他のユーザーやチーム、組織全体、または外部組織と共有できます。 Exchange ユーザーは Exchange の左ナビゲーションメニューの ​**\[Shared with me (自分と共有)\]**​ リンクをクリックして、自分のユーザーアカウントと共有されているすべてのアセット、および組織と共有されているすべてのアセットを表示できます。 ## [](#ユーザーとのアセットの共有)ユーザーとのアセットの共有 1. アセットを共有するユーザーが組織内にいない場合、​**\[Access Management (アクセス管理)\]**​ > ​**\[Users (ユーザー)\]**​ をクリックして、ユーザーを組織に追加します。 2. アセットをクリックして詳細を表示します。 3. **\[Share (共有)\]**​ をクリックします。 4. このアセットへのアクセス権を付与するユーザーの名前の入力を開始します。 5. リストで該当のユーザーを選択します。 6. ユーザーに閲覧者権限、コントリビュータ権限、管理者権限のどれを付与するかを選択します。 7. 他のユーザーを追加します。 8. **\[Save (保存)\]**​ をクリックします。 **\[Share (共有)\]**​ をクリックして、アセットを共有するユーザーを変更したり、1 人以上のユーザーとの共有を停止したりすることもできます。 ## [](#チームとのアセットの共有)チームとのアセットの共有 1. アセットをクリックして詳細を表示します。 2. **\[Share (共有)\]**​ をクリックします。 3. このアセットへのアクセス権を付与するチームの名前の入力を開始します。 4. リストで該当のチームを選択します。 5. チームに閲覧者権限、コントリビュータ権限、管理者権限のどれを付与するかを選択します。 6. 他のチームを追加します。 7. **\[Save (保存)\]**​ をクリックします。 チームのユーザーを追加および削除したり、チーム閲覧者、コントリビュータ、または管理者にビジネスグループ内のすべてのアセットへのアクセス権を付与したりするには、​[Anypoint アクセス管理のチーム設定](https://docs.mulesoft.com/jp/access-management/teams)​を使用します。 ## [](#組織とのアセットの共有)組織とのアセットの共有 Exchange 管理者とアセット管理者はアセットを組織のすべてのユーザーと共有できます。 1. アセットをクリックして詳細を表示します。 2. **\[Share (共有)\]**​ をクリックします。 3. 組織の名前の入力を開始します。 4. 組織のすべてのユーザーに対するリスト項目を選択します。 5. 組織のすべてのメンバーに閲覧者権限、コントリビュータ権限、管理者権限のどれを付与するかを選択します。 6. **\[Save (保存)\]**​ をクリックします。 アセットを組織と共有すると、メール通知が組織のシステム管理者に送信されます。 **\[Share (共有)\]**​ をクリックして、組織のすべてのユーザーとのアセットの共有を停止することもできます。 ## [](#外部組織とのアセットの共有)外部組織とのアセットの共有 Exchange 管理者とアセット管理者は、選択した外部組織のすべてのユーザーにアセットへの閲覧者アクセス権を付与できます。 付与側組織はアセットを保持し、そのアセットへの閲覧者アクセス権を受け取り側組織に付与します。 アセットへの閲覧者アクセス権を外部組織に付与する手順は、次のとおりです。 1. 付与側と受け取り側の各組織が Anypoint アクセス管理で相手側の組織を \[External Access (外部アクセス)\] リストに追加します。詳細は、​[「外部組織アクセス」](https://docs.mulesoft.com/jp/access-management/external-organization-access)​を参照してください。 アセットを他の組織と共有できるのは、その組織がアセットへの閲覧者アクセス権を外部組織から受け取ることができるように設定している場合のみです。 2. 付与側組織で Exchange 管理者アカウントまたはアセット管理者アカウントにログインします。 3. アセットをクリックして詳細を表示します。 4. **\[Share (共有)\]**​ をクリックします。 5. このアセットを共有する外部組織の名前の入力を開始します。 6. リストで該当の組織を選択します。 7. ステップ 5 と 6 を繰り返して、他の組織との共有を設定します。 8. **\[Save (保存)\]**​ をクリックします。 アセットを組織と共有すると、メール通知が組織のシステム管理者に送信されます。 **\[Share (共有)\]**​ をクリックして、アセットを共有する組織を変更したり、1 つ以上の組織との共有を停止したりすることもできます。 付与側組織の内部ユーザーのみが API へのアクセス権を要求したり、コントリビュータ権限または管理者権限を取得したりできます。 ### [](#付与側組織により共有されたアセットの使用)付与側組織により共有されたアセットの使用 受け取り側組織のユーザーは Studio を使用して、共有コネクタを検索および設定できるほか、Mule アプリケーションで使用できます。 受け取り側組織のユーザーは Studio を使用して、共有サンプルまたは共有テンプレートに基づいて Mule アプリケーションを実装できます。 受け取り側組織のユーザーは、付与側組織で Exchange で作成された共有 REST API、共有 SOAP API、共有 HTTP API を API Manager を使用して管理することはできません。API Manager には、ユーザーのビジネスグループの API のみが表示されます。ただし、ユーザーは Studio のフローで API をアプリケーションのスキャフォールディングの元として使用できます。 受け取り側組織のユーザーは、付与側組織で Exchange にアップロードされた共有カスタムポリシーを API Manager を使用して適用することはできません。API Manager では、付与側組織により共有されたポリシーは、API インスタンスに適用できるポリシーのリストに表示されません。 受け取り側組織のユーザーは、付与側組織で Design Center で作成された共有 RAML フラグメントを API Designer を使用してインポートできます。ユーザーは新しい API 仕様内でフラグメントを連動関係として追加することもできます。付与側組織がフラグメントの共有を停止したり、フラグメントを削除したりした場合、API 仕様にエラー「File not found (ファイルが見つかりません)」が表示されます。 ## [](#関連情報)関連情報 - [アクセス管理の外部組織アクセス](https://docs.mulesoft.com/jp/access-management/external-organization-access) # アセットの削除 作成後の最初の 7 日以内にアセットを削除し、そのアセットの名前、グループ、アセット ID、およびバージョンを再利用できます。最初の 7 日以内の削除は​_物理削除_​と呼ばれます。 7 日後にアセットを削除した場合、その名前、ビジネスグループ名、アカウント ID、およびバージョンを再利用することはできません。 7 日後の削除は​_論理削除_​と呼ばれます。7 日後にアセット名を再利用する場合は、新しいバージョン番号を選択するか、アセットを別のビジネスグループに含めます。 物理削除または論理削除の後に、アセットを復旧または復元することはできません。 連動しているアセットを持つアセットバージョンを削除しようとすると、Exchange は警告を表示します。連動関係を削除してから、アセットバージョンを削除してください。 連動している API インスタンスを持つ API またはポリシーアセットバージョンを削除しようとすると、Exchange は警告を表示します。連動関係を削除してから、アセットバージョンを削除してください。​**\[API instances (API インスタンス)\]**​ ページには、各 API アセットのインスタンスが表示されます。 管理 API インスタンスに適用されているポリシーアセットは削除できません。ポリシーアセットのページにある ​**\[APIs using this policy (このポリシーを使用している API)\]**​ タブには、そのポリシーが適用されている API インスタンスが表示されています。API Manager を使用してインスタンスからポリシーを削除し、その後でポリシーを削除します。 アセットのパッチバージョンを削除する手順は、次のとおりです。 1. アセットの詳細ペインで、​**\[Manage versions (バージョンを管理)\]**​ をクリックします。 2. 3 つのドットのメニューをクリックして、​**\[Delete version (バージョンを削除)\]**​ を選択します。 アセット全体を削除するには、そのパッチバージョンをすべて削除します。 ## [](#関連情報)関連情報 - [RAML バージョンを変更する方法](https://docs.mulesoft.com/jp/exchange/to-change-raml-version) # アセットの検索 アセットの Exchange カタログには、開発者がプロジェクトをすばやく作成するためのアセットを見つけ、ベストプラクティスの採用や再利用を促進できる数百種類のアセットを表示できます。MuleSoft のエコシステムまたは自分の組織のアセットを見つけることができます。権限グループに基づいて、API 仕様から複数のビジネスグループ、ドキュメント、タグ、カスタム属性、詳細を検索できます。 アセットを見つけやすくするため、検索は API の名前などの検索語を使用したり、組織、カテゴリ、タグ、ライフサイクル状態などの検索条件を基準にしたり、ランキングを基準にしたりして絞り込むことができます。 Anypoint Exchange の検索の検索対象は次のとおりです。 - 各アセットの名前 - 説明 - 連絡先名とメール - タグ - カテゴリ - アセットポータルページのコンテンツ - RAML および OAS API 仕様で定義されているプロパティ ## [](#キーワードで検索)キーワードで検索 **\[Search assets (アセットを検索)\]**​ ボックスを使用して、キーワードでアセットを検索できます。 ![「Search assets (アセットを検索)」 ボックス](/mulesoft/current/ja-jp/exchange/_images/exchange-search-assets-box.png) キーワードには次のアセット情報を使用できます。 - 各アセットの名前 - 説明 - 連絡先名とメール - タグ - カテゴリ - アセットポータルページのコンテンツ - RAML および OAS API 仕様で定義されているプロパティ キーワードを使用してアセットを検索する手順は、次のとおりです。 1. Exchange ランディングページで、​**\[Search assets (アセットを検索)\]**​ 項目にキーワード (「MuleSoft」など) を入力して、キーボードに応じて ​**Enter**​ キーまたは ​**Return**​ キーを押します。 キーワードが含まれるアセットのリストが表示されます。 2. **\[Search assets (アセットを検索)\]**​ 項目でキーワードをクリアするには、​**\[X\]**​ をクリックします。 次の画像は、検索キーワード​**「MuleSoft」**​を使用した検索結果の例です。検索キーワードは結果の中で強調表示されます。 ![キーワード「MuleSoft」が強調表示された検索結果](/mulesoft/current/ja-jp/exchange/_images/exchange-new-search.png) ## [](#検索結果の絞り込み)検索結果の絞り込み 次の検索条件を使用して検索結果を絞り込むことができます。 ![検索の絞り込み条件](/mulesoft/current/ja-jp/exchange/_images/ex-filters.png) - タイプ タイプには AsyncAPI、コネクタ、REST API、ルールセットなどがあります。詳細は、​[「アセットタイプ」](https://docs.mulesoft.com/jp/exchange/asset-types)​を参照してください。 表示されるアセットタイプのリストは、ビジネスグループで使用できるタイプに応じて異なります。 - 組織 アセットを表示する権限があるビジネスグループ。 - カテゴリ カテゴリとは、ビジネスグループのシステム管理者または組織のオーナーが設定したアセットの固有のグループ分けです。 - Tag (タグ) 特定の検索を記述するキーワードまたは語句。 - ライフサイクル状態 ライフサイクル状態には安定、非推奨、または開発があります。 - Custom field (カスタム項目) カスタム項目は、ビジネスグループのシステム管理者または組織のオーナーが設定した特定のメタデータ項目です。 検索条件オプションは、組織内で使用できる場合に表示されます。 ### [](#組織カテゴリタグライフサイクル状態で絞り込む)組織、カテゴリ、タグ、ライフサイクル状態で絞り込む 1. Exchange ランディングページで、検索条件オプションを選択します。 2. 長いリストでオプションを見つけるには、スクロールバーを使用するか検索語を入力します。 3. メニューで 1 つ以上のオプションをクリックし、​**\[Apply (適用)\]**​ をクリックします。 4. 検索条件オプションをクリアするには、​**\[Clear filter (検索条件をクリア)\]**​ をクリックします。 5. すべての検索条件オプションをクリアするには、​**\[Clear all filters (すべての検索条件をクリア)\]**​ をクリックします。 ### [](#カスタム項目で絞り込む)カスタム項目で絞り込む カスタム項目は、Exchange 管理者と組織のオーナーが Exchange API を使用し、Exchange アセットメタデータモデルを拡張して、カスタムデータを任意のタイプのアセットに追加するために作成します。アセットはカスタム項目で絞り込み、事前設定された情報を使用して検索を絞り込めます。カスタム項目検索条件は、組織のアセットにカスタム項目がある場合のみ使用できます。 アセットのカスタム項目の作成についての詳細は、​[「カスタム項目の管理」](https://docs.mulesoft.com/jp/exchange/to-manage-custom-fields)​を参照してください。 カスタム項目では、次のデータ型を使用します。
データ型 演算子

Enum (列挙)

contains (次の文字列を含む) および not contain (次の文字列を含まない)

Number (数値)

equals (次の文字列と一致する)、not equals to (次の文字列と一致しない)、greater than (次の値より大きい)、less than (次の値より小さい)、greater than or equal to (次の値以上)、less than or equal to (次の値以下)

Date (日付)

equals (次の文字列と一致する)、not equals to (次の文字列と一致しない)、greater than (次の値より大きい)、less than (次の値より小さい)、greater than or equal to (次の値以上)、less than or equal to (次の値以下)

Text (テキスト)

equals (次の文字列と一致する) および not equals to (次の文字列と一致しない)

数値のリスト

contains (次の文字列を含む) および not contain (次の文字列を含まない)

文字列のリスト

contains (次の文字列を含む) および not contain (次の文字列を含まない)

事前設定された演算子を使用して、検索結果を絞り込めます。演算子の値は変更やカスタマイズが可能です。たとえば、値のリストから日付を選択することも、定義された形式 (YYYY-MM-DD) でカスタム日付を入力して日付を追加することもできます。カスタマイズした値は、自由形式としてオプションのリストに表示されます。必要な数のカスタム項目を追加できます。 次の例は、2 つのカスタム項目がある検索条件を示しています。 ![2 つのカスタム項目が使用されている検索条件](/mulesoft/current/ja-jp/exchange/_images/ex-custom-field-operator-value.png) カスタム項目を使用して検索を絞り込む手順は、次のとおりです。 1. ランディングページで ​**\[Any custom field (任意のカスタム項目)\]**​ をクリックします。 2. 長いリストでオプションを見つけるには、スクロールバーを使用するかカスタム項目の名前を入力します。 3. リストからカスタム項目オプションを選択します。 4. 演算子を変更するには、ドロップダウンリストから演算子を選択します。 5. **\[Select value(s) (値を選択)\]**​ をクリックして、リストから演算子の値を選択するかカスタム値を入力します。複数の値を選択できます。 6. さらにカスタム項目を追加して検索をさらに絞り込むには、​**\[Add Custom Field (カスタム項目を追加)\]**​ をクリックしてリストからオプションを選択します。 7. 検索条件からカスタム項目を削除するには、ごみ箱アイコンをクリックします。 8. 選択した検索条件オプションをクリアするには、​**\[Clear filter (検索条件をクリア)\]**​ をクリックします。 9. **\[Apply (適用)\]**​ をクリックしてカスタム項目検索条件を適用します。 検索結果にカスタム項目条件が含まれるアセットが表示されます。 ## [](#検索結果の並び替え)検索結果の並び替え 検索結果のランキングを並び替えることができます。アセットは次のオプションを基準に並び替えることができます。 - Relevance (関連) 名前、タイトル、ページ、API 仕様メタデータなど、アセットメタデータ内で見つかった場所を基準に一致する結果を並び替えます。API 仕様メタデータにはエンドポイントとタイプが含まれます。​**\[Sort by (並び替え基準)\]**​ リストに ​**\[Relevance (関連)\]**​ オプションを表示するには、検索語を入力する必要があります。語句で検索を行うと、アセットはデフォルトで ​**\[Relevance (関連)\]**​ を基準に並び替えられます。 - Name (名前) アセット名を基準にアルファベットの昇順で並び替えます。 - Last modified (最終更新日) 最後にパブリッシュされたアセットや新しいバージョンが最近追加されたアセットなど、最後に変更されたアセットを一番上にして結果を並び替えます。これは、MuleSoft が提供するアセットを除き、すべてのビジネスグループのデフォルトです。 - Rating (評価) アセットのレビューの評価 (アセットカードの星の数) を基準に降順で並び替えます。最も評価の高いアセットが一番上に表示されます。 - Featured (注目) 注目のアセットのコレクションが結果の一番上に表示されるように並び替えます。これは、MuleSoft と Global Exchange が提供するアセットのデフォルトの順序です。注目のアセットに含まれない他のアセットは最終更新日を基準に並び替えられます。並び替えオプションは、組織内で使用できる場合に表示されます。 検索結果のランキングを並び替えるには、​**\[Sort by (並び替え基準)\]**​ ドロップダウンメニューを使用してオプション (\[Relevance (関連)\]、\[Name (名前)\]、\[Last modified (最終更新日)\]、\[Rating (評価)\]、または \[Featured (注目)\]) を選択します。 ![「Sort by (並び替え基準)」 検索条件](/mulesoft/current/ja-jp/exchange/_images/ex-sort-by-filter.png) ## [](#検索を保存する)検索を保存する 自分やビジネスグループが頻繁に使用する検索クエリを保存しておけば、アセットをすばやく見つけることができます。保存済みの検索はナビゲーションペインに表示されます。 ビジネスグループに固有の検索語がリストされます。次の例では保存済み検索を示しています。 ![保存した検索グループ](/mulesoft/current/ja-jp/exchange/_images/ex2-saved-searches-groups.png) 検索を保存する手順は、次のとおりです。 1. Exchange ランディングページで、検索語を入力するか検索条件からオプションを選択して、​**\[Save this Search (この検索を保存)\]**​ をクリックします。 2. 要求されたら、検索に名前を付けて検索を個人検索として保存するか組織検索として保存するかを選択します。 管理者は、現在のビジネスグループの全員に表示される検索を保存できます。個人用の検索は、その作成者にのみ表示されます。 3. **\[Save search (検索を保存)\]**​ をクリックします。 4. 検索が左側のナビゲーションバーの保存された検索に表示されることを確認します。 5. 保存済み検索の名前を変更するには、3 つのドットをクリックして ​**\[Rename (名前変更)\]**​ を選択します。 6. 保存済み検索を削除するには、3 つのドットをクリックして ​**\[Delete (削除)\]**​ を選択します。 # アセットの詳細 アセットの詳細ページには、アセットに関する包括的な情報が表示されます。バージョンに依存しない情報を参照したり、アセットを他のユーザーと共有したり、公開ポータルにパブリッシュしたり、アセットのコピーをダウンロードしたり、コードを表示したり、バージョンやライフサイクル状態を管理したり、カテゴリやタグを追加したり、ドキュメントを編集したり、API エンドポイントをテストしたりできます。 現在のドキュメントには、アセットの詳細ページの新しい UI (ライフサイクル状態機能など) に関する情報が記載されています。以前の UI には、ライフサイクル状態は含まれていません。 これらの機能の実行についての詳細は、​[「ワークフロー: アセットのパブリッシュ」](https://docs.mulesoft.com/jp/exchange/workflow-sharing-assets)​を参照してください。 アセットの詳細ページを表示するには、Exchange でアセットを選択します。 ![アセットの詳細](/mulesoft/current/ja-jp/exchange/_images/exchange-asset-detail-view.png) 左側のナビゲーションバーには、次の情報がリストされます。 - 追加ページ - 保存された検索語 - アプリケーション名 - インスタンス - REST 仕様の HTTP 関数 (REST API の場合) - 準拠状況 - 契約条件とこのポリシーを使用している API (ポリシーの場合) アセットの詳細の上部のペインには、次の情報が表示されます。 - アセット名 - 説明 - アセットタイプ - 組織 - 取引先責任者名 - 連絡先メール - アセットの作成日 - 最終更新日 - バージョン - アセットのカテゴリとタグ - ライフサイクル状態 - 準備状態 - アクセス権を付与するためのユーザーの招待による共有 - API の仕様のダウンロードとコードの表示 - 新しいバージョンの追加 REST API の場合、右側のペインを使用して、API をテストするためのサンプルコールとモックデータを作成します。 アセットの詳細ペインから、バージョン、パブリッシュ日、カテゴリ、タグなどのメタデータを折りたたんだり展開したりできます。バージョン情報を表示するには、​**\[View versions (バージョンを表示)\]**​ をクリックします。管理者は、​**\[Manage versions (バージョンを管理)\]**​ を使用して、新しいバージョンのアセットを追加したり、バージョンの詳細を表示したり、バージョンを削除したりできます。詳細は、​[「バージョンの管理」](https://docs.mulesoft.com/jp/exchange/manage-versions)​を参照してください。 ドキュメントページには、アセットドキュメントが表示されます。管理者やアセットオーナーは、​**\[Edit documentation (ドキュメントを編集)\]**​ をクリックしてドキュメントを編集できます。 ## [](#アセットの-rest-api-要素を表示する)アセットの REST API 要素を表示する 左側のナビゲーションバーでは、リソースおよび各リソースのメソッドを含め、RAML、OAS、AsyncAPI の API 仕様の情報を表示します。 1. メソッドボタンをクリックします。 ![スクリーンショット - 左側のナビゲーションバーの REST API 関数ボタン](/mulesoft/current/ja-jp/exchange/_images/ex2-rest-ftns.png) 2. メソッドビューの右側にある API を使用してテストします。 これは、Postman などのプログラムを使用してカスタム HTTP ヘッダーを指定し、API のエンドポイントを使用して各 API のメソッドをテストするのに似ています。 3. API をいずれかのアプリケーションに接続し、API を使用してデータを送受信するには、​**\[Request access (アクセス権を要求)\]**​ をクリックします。 ## [](#api-仕様とページの検索)API 仕様とページの検索 アセットの詳細ページでは、CTRL+F または command+F キーボードショートカットを使用して、ページ内の特定の情報やアセットの API 仕様を検索できます。Exchange では、この拡張ショートカットにより、現在のページ上の単語と語句のみを検索するネイティブブラウザーのショートカットが上書きされます。必要な情報をすばやく見つけるには、この拡張ショートカットを使用して、すべてのページのコンテンツとアセットの API 仕様を検索します。 拡張検索ショートカットを使用してページと API 仕様を検索する手順は、次のとおりです。 1. アセットの詳細ページで、CTRL+F または Command+F を押します。 2. **\[Search content (コンテンツを検索)\]**​ ボックスに、検索語または語句を入力します。 3. リストから検索結果をクリックします。 4. 矢印を使用して、検索結果内のすべての検索語間を移動します。 5. **\[X\]**​ をクリックして、\[Search content (コンテンツを検索)\] ボックスを閉じます。 拡張キーボードショートカットは、次の場所で用語または語句を検索します。 - Pages (ページ) - Home (ホーム) - 追加ページ - Specification (仕様) - Summary (概要) - Endpoints (エンドポイント) - Documentation (ドキュメント) - Types (種別) - Security (セキュリティ) 検索ボックスに検索語または語句を入力すると、入力した検索語を含むページおよび仕様内のセクションが検索結果ボックスに表示されます。検索結果をクリックすると、検索語または語句が強調表示されたページが開きます。検索結果には、各ページで一致した検索語の数が表示されます。矢印を使用して、検索結果のリスト内を上下に移動し、次のページに移動します。 たとえば、​**\[Search content (コンテンツを検索)\]**​ ボックスに​`「ruleset」`​ (ルールセット) という用語を入力します。\[Pages (ページ)\] の \[Home (ホーム)\] ページにはルールセットの検索結果が 3 つあります。​**\[Home (ホーム)\]**​ をクリックしてページを開きます。矢印を使用して、ホームページで強調表示されているルールセットのインスタンスをすべて検索します。 ![CTRL+F または command+F キーボードショートカットを使用したアセットの詳細ページの例](/mulesoft/current/ja-jp/exchange/_images/ex-search-spec-and-pages.png) ## [](#準拠状況を表示する)準拠状況を表示する Exchange では、API 定義のバージョンごとにガバナンス準拠状況を表示できます。状況は次のいずれかになります。 - **Conformant (準拠)**​: API 仕様は、検証されたガバナンスルールセットに準拠しています。 - **Not Conformant (非準拠)**​: API 仕様は、検証されたガバナンスルールセットに準拠していません。 - **Not Validated (未検証)**​: API 仕様は、ガバナンスルールセットに対して検証されていません。 Exchange では、準拠状況を次のように表示できます。 - 選択した API バージョンに準拠バッジが表示されます。 - **\[Manage Versions (バージョンを管理)\]**​ ページで、各 API バージョンの ​**\[Conformance (準拠)\]**​ 列に準拠状況が表示されます。 - すべての REST API と AsyncAPI について ​**\[Conformance Status (準拠状況)\]**​ ページが表示されます。選択した API バージョンがガバナンスルールセットに対して検証済みである場合、準拠状況ページには、準拠情報と非準拠バージョンを修正するためのオプションが表示されます。\[Conformance Status (準拠状況)\] ページには、リストされているルールセットに対して API が検証されたときの検索条件も表示されます。 準拠状況を表示する手順は、次のとおりです。 1. API Governance でサポートされている種別の API アセットを選択します。 2. 準拠バッジを確認します。 3. バージョンごとの準拠を確認するには、​**\[Manage Versions (バージョンの管理)\]**​ をクリックします。 **\[Conformance (準拠)\]**​ 列で、各検証済みバージョンのガバナンス準拠状況を確認します。 4. 準拠の詳細を表示するには、ナビゲーションバーで ​**\[Conformance Status (準拠状況)\]**​ を選択します。 \[Conformance Status (準拠状況)\] ページでは次の操作が行えます。 - 表示する API バージョンを選択します。 - 検証済みの API では、API が検証された、一元化されたガバナンスルールセットのリストと、追加のルールセットを表示します。 - ルールセットが最初のページに入りきらない場合は、​**\[Show All (すべて表示)\]**​ リンクをクリックしてリスト全体を表示します。 - ルールセットの横にある外部リンクアイコンをクリックして、そのルールセットのページを Exchange で表示します。 - 非準拠 API では、次のいずれかをクリックします。 - **Design Center で修復する** API 仕様を Design Center で開いたら、リストされているルールセットを連動関係として追加し、​**\[Project Errors (プロジェクトエラー)\]**​ セクションの準拠メッセージを確認して、API 仕様を修復してから再パブリッシュします。 Design Center の既存のバージョンなしにアセットを直接 Exchange でパブリッシュすると、参照のみバージョンのプロジェクトが開きます。準拠の問題を修正するには、​[Exchange からアセットをダウンロード](https://docs.mulesoft.com/jp/exchange/to-download-an-asset)​して、​[Design Center にインポートし](https://docs.mulesoft.com/design-center/design-create-publish-api-specs-from-file)​、同じ ID と新しいマイナーバージョンを使用して ​[Exchange にパブリッシュ](https://docs.mulesoft.com/design-center/design-publish)​します。 - **Anypoint CLI の手順を参照する** ページ上の手順に従って、Anypoint CLI コマンドをコピー、更新、実行し、リストされているルールセットを連動関係として追加して、API 仕様を修復してから再パブリッシュします。 ## [](#ルールセットの管理された-api-の表示)ルールセットの管理された API の表示 ルールセットの ​**\[Governed APIs (管理された API)\]**​ ページでは、ルールセットが適用される一元的に管理された API のリストを参照できます。 開発者は ​**\[Governed APIs (管理された API)\]**​ リストを次のように使用して、開発するルールセットと API の質を向上させることができます。 - API でルールセットが失敗した場合、API を修正できるように他のどの API がルールセットに正常に準拠しているかを確認できます。 - API に使用できるルールセットを検索するときに、どの API が特定のルールセットに準拠しているかを確認してそのルールセットがどの程度役に立つかを評価できます。 API コンシューマーは、特定の基準またはルールのセットに準拠した API サービスまたはアプリケーションを作成する必要があるときに、​**\[Governed APIs (管理された API)\]**​ リストを使用できます。以下を行うことができます。 - 必要なルールがある Exchange にルールセットがあることを確認する。 - アプリケーションが準拠している API のみをコンシュームするように、どの API がルールセットのルールに合格するかを確認する。 Exchange の API に対して持っているアクセス権に応じて、ルールセットに準拠した API しか表示されない場合もあります。これにより、API に対する十分なアクセス権を持たないコンシューマーに脆弱性が曝されないようにできます。組織のシステム管理者やコントリビューターは組織の準拠した API と非準拠の API を確認できます。 ルールセットの管理された API リストを表示する手順は、次のとおりです。 1. API Governance プロファイルで使用されるルールセットアセットを選択します。 2. ナビゲーションバーで ​**\[Governed APIs (管理された API)\]**​ を選択し、リストされた各 API バージョンがルールセットのすべてのルールに合格するかどうかを確認します。 3. 検索条件メニューの中から API のリストを絞り込む検索条件を選択します。デフォルト設定は次のとおりです。 - すべての API - ルート組織 - 任意のルールセット状況 4. API の ​**\[Conformance Status (準拠状況)\]**​ の詳細を表示するには、外部リンクを開くアイコン (​![open external link icon](/mulesoft/current/ja-jp/exchange/_images/open-external-link-icon.png)​) をクリックします。 ## [](#api-notebook-で-api-をテストする)API Notebook で API をテストする 多くの API には双方向テスト用の API Notebook が用意されています。 1. コンテンツページで ​**\[API Notebook\]**​ をクリックします。 2. 説明と使用法に関する情報を読みます。 3. **\[Play (再生)\]**​ をクリックし、コードサンプルのメソッドをテストします。 4. Exchange では結果がリアルタイムで表示されます。 5. コードブロックの例を使用してテストし、別のパラメーターや値を試します。 ## [](#関連情報)関連情報 [Anypoint Platform、Exchange で使用可能な権限](https://docs.mulesoft.com/jp/access-management/permissions-by-product#exchange)​。 # アセットの説明 アセットのポータルを編集したり、その名前、アイコン、説明、タグ、カテゴリ、カスタム項目を変更したり、コンテンツが含まれるポータルページを追加したりできます。各ページの最大文字数はマークダウン形式で 1,024,000 文字です。 アセットのすべてのバージョンは、同じ名前、アイコン、説明、そして計算された平均評価を持ちます。 アセットの各マイナーバージョンは、自身のタグ、カテゴリ、カスタム項目、そして契約条件のページ (省略可能) などのコンテンツページを持ちます。 Exchange で、アセットリストを開き、アセットを選択します。Exchange には、アセットポータルが表示されます。 ## [](#アセットポータル情報を編集する)アセットポータル情報を編集する アセットアイコン、名前、説明、連絡先名、連絡先メールを変更できます。 1. アセットポータルで \[編集\] ペンアイコンをクリックします。 2. アイコンを変更するには、\[編集\] ペンアイコンをクリックし、画像ファイルを選択して、​**\[Open (開く)\]**​ をクリックします。 3. アセットポータル名を変更するには、新しいアセットポータル名を入力します。 4. 説明を変更するには、新しいアセットの説明を ​**\[Description (説明)\]**​ 項目に入力します。 5. 連絡先名または連絡先メールを変更するには、新しい連絡先名および連絡先メールを対応する項目に入力します。 6. 変更をキャンセルするには、​**\[X\]**​ アイコンをクリックします。 7. 変更を保存するには、​**チェック**​アイコンをクリックします。
2019 年 8 月リリース前では、アセットの各バージョンに異なる名前またはアイコンを設定できます。2019 年 8 月リリース後では、更新されたアセット情報がアセットのすべてのバージョンに適用されます。
## [](#カテゴリを追加および削除する)カテゴリを追加および削除する アセットを検索するときに、カテゴリを使用して検索結果を絞り込むことができます。 1. アセットの詳細ペインで、​**\[Add categories (カテゴリを追加)\]**​ をクリックします。アセットのカテゴリがすでに追加されている場合、​**\[Categories (カテゴリ)\]**​ をクリックします。 2. **\[Add category (カテゴリを追加)\]**​ をクリックし、カテゴリのリストから選択します。 3. **\[Add value (値を追加)\]**​ をクリックし、値のリストから選択します。 4. カテゴリを削除するには、ゴミ箱アイコンをクリックします。 5. カテゴリから値を削除するには、値テキストの ​**\[X\]**​ をクリックします。 ## [](#アセットタグを追加および削除する)アセットタグを追加および削除する アセットを検索するときに、タグを使用して検索結果を絞り込むことができます。タグには小文字のみを使用でき、大文字のタグは小文字に変換されます。特殊文字を使用できます。 1. アセットの詳細ペインで、​**\[Add tags (タグを追加)\]**​ をクリックします。アセットのタグがすでに追加されている場合、​**\[Tags (タグ)\]**​ をクリックします。 2. **\[Add a tag (タグを追加)\]**​ をクリックし、タグのリストから選択します。 3. キーボードの Enter キーまたは Return キーを押します。 4. タグを削除するには、​**\[Tags (タグ)\]**​ をクリックし、タグテキストの横にある ​**\[X\]**​ をクリックします。 ## [](#アセットポータルドキュメントを編集する)アセットポータルドキュメントを編集する アセットのドキュメントは変更できます。 1. **\[Edit documentation (ドキュメントを編集)\]**​ を選択します。 2. 新しいポータルコンテンツを入力します。 3. エディターでは、テキストの外観を変更したり、コードサンプル、ブロック引用、水平線を挿入したりできます。 4. 下記のように画像や動画を追加します。 5. メインページを作成したら、​**\[Save (保存)\]**​ を選択してドラフトとして保存するか、​**\[Publish (パブリッシュ)\]**​ をクリックします。ドラフトの編集と保存はパブリッシュ前に何度でも行えます。ドラフトは、パブリッシュするまで他のユーザーには表示されません。 6. 下記のようにセカンダリページや契約条件を追加します。 7. すべてのページを編集して保存したら、​**\[Publish (パブリッシュ)\]**​ をクリックしてポータルをパブリッシュします。 8. これで、アセットポータルが組織内の全員に表示されます。 ### [](#画像を追加する)画像を追加する 画像をコピーして Exchange ページに直接貼り付けることができます。 1. **\[Edit documentation (ドキュメントを編集)\]**​ をクリックします。 2. **\[Visual (ビジュアル)\]**​ を選択します。 3. 画像がコンピューターにある場合、その画像を Exchange ページにドラッグするか、コピーして Exchange ページに貼り付けます。 画像が Web サーバーにある場合、画像をコピーして Exchange ページに貼り付けます。 または、エディターで画像アイコンを選択し、Web で使用可能なイラストへの URL を提供することもできます。 **\[Markdown (マークダウン)\]**​ タブで、次の構文を使用して Web で提供される画像を参照します。 `​![代替テキスト](http://www.example.com/image/png.png)​` 2019 年 5 月より前にアップロードされた画像は認証せずにアクセスできます。2019 年 5 月以降にアップロードされた画像には認証が必要です。2019 年 5 月より前にアップロードされた画像への未認証のアクセスを無効化するには、その画像をダウンロードし、削除した後に再度アップロードしてください。 ### [](#セカンダリページを追加する)セカンダリページを追加する アセットポータルにページを追加できます。 1. **\[Edit documentation (ドキュメントを編集)\]**​ を選択します。 2. 左側のナビゲーションバーで、​**\[Add New Page (新規ページを追加)\]**​ をクリックします。 3. キーボードの Enter キーまたは Return キーを押してページを作成します。必要に応じてページをいくつでも作成できます。 4. ページを削除するには、​**\[Delete Page (ページを削除)\]**​ をクリックします。 5. Exchange ポータルで、​**\[Add Content Pages (コンテンツページを追加)\]**​ をクリックします。 6. ページに説明を追加します。セカンダリページでは、メインページと同じオプションがサポートされています。 7. 新しいページのドラフトを保存するには、​**\[Save (保存)\]**​ をクリックします。セカンダリページが左側のナビゲーションバーにリストされます。 8. ドラフトを編集するには、左側のナビゲーションバーのリストからページの名前を選択し、​**\[Edit (編集)\]**​ をクリックします。 9. 編集をキャンセルするには、​**\[Cancel (キャンセル)\]**​ をクリックします。 10. すべてのページを編集して保存したら、パブリッシュするページごとに ​**\[Publish (パブリッシュ)\]**​ をクリックします。 **\[Editing draft (ドラフト編集)\]**​ モードでは、ページ名をクリックして左側のナビゲーションバーでページを上下にドラッグすることで、ページを並び替えることができます。 ページ名はすべて検証されます。 - ページ名の長さは 1 ~ 128 文字までにする必要があります。 - ページ名に予約済みの名前 ​`home`​ は使用できません。 - ページ名に既存のページ名は使用できません。 - ページ名に次の文字は使用できません: `@` ​`*` ​`+` ​`/` ​`_` ​`\`​。 - ページ名を​`.`​で始めることはできません。 必須ページ ​**\[Home (ホーム)\]**​ には URL ​`pages/home`​ があり、省略可能なページ ​**\[Terms and conditions (契約条件)\]**​ には URL ​`pages/.terms`​ があります。 他の新しいページの場合、3 つの英数字、ハイフン、3 つ以上の英数字以上のページ ID (例: `pages/1a2-b3c/Formats`​) が含まれる URL が Exchange によって設定されます。ページ名を ​**Formats**​ から ​**Formatting**​ に変更すると、URL が ​`pages/1a2-b3c/Formatting`​ に代わり、古い URL は自動的に新しい URL にリダイレクトされます。 2022 年 10 月 31 日の更新より前に作成されたページでは、ページ ID のない URL (例: `pages/Messages`​) になります。ページ名を ​**Messages**​ から ​**Messaging**​ に変更すると、URL が新しい形式の ​`pages/de4-56f/Messaging`​ に代わり、古い URL は自動的に新しい URL にリダイレクトされます。 Anypoint CLI との後方互換性を確保するために、新しい形式の URL の各ページには、古い形式の URL (例: `pages/Pagename`​) から新しい URL (例: `pages/78g-h9i/Pagename`​) への自動リダイレクトが設定されます。 別のページへのリンクには、​`[the page about messaging](https://docs.mulesoft.com/jp/exchange/pages/de4-56f/Messaging)`​ のように、角括弧内にリンクテキスト、括弧内に URL が含まれます。 ### [](#契約条件を指定する)契約条件を指定する 契約条件は API アセットでのみ追加できます。ユーザーは API アクセス権を要求するときに契約条件に同意するように求められます。 1. アセットを選択し、​**\[Edit documentation (ドキュメントを編集)\]**​ をクリックします。 2. 左側のナビゲーションバーで、​**\[Add Terms and Conditions (契約条件を追加)\]**​ をクリックします。 3. エディターを使用して、このアセットの契約条件を指定します。 4. 契約条件ページをドラフトとして保存するには、​**\[Save (保存)\]**​ をクリックします。 5. 契約条件ページを削除するには、​**\[Delete Page (ページを削除)\]**​ をクリックします。 6. 契約条件ページをパブリッシュするには、​**\[Publish (パブリッシュ)\]**​ をクリックします。 ### [](#api-グループ)API グループ API グループのいずれかの API に契約条件ページがある場合、API グループの契約条件ページは削除できず、基礎となる API の契約条件が表示されます。 必要に応じて、API グループの契約条件ページに契約条件を追加できます。 ### [](#エディターに関する注意)エディターに関する注意 - リンクコントロールを使用するには、テキストを入力してテキストを選択し、リンクコントロールをクリックしてリンク URL を指定する。 - 編集中に Exchange セッションがタイムアウトした場合、ページのすべてのテキストを選択して クリップボードにコピーする。再度ログインした後に、コンテンツをページに貼り付けてドラフトを保存できます。タイムアウトが発生すると、保存されていないコンテンツは消去されます。 - 文字を押したままにして国際文字にアクセス可能。 - 多数のアセットの説明を編集する場合、アセットをクリックして Exchange から開く代わりに、アセットを右クリックして \[Open Link in New Window (新しいウィンドウでリンクを開く)\] をクリックし、新しいブラウザーウィンドウでアセットを開く。それ以外の場合、アセットをパブリッシュしたら、コントロールは検索条件/検索リストの先頭に戻ります。 - キーボードショートカット (ビジュアルエディターとマークダウンエディターで動作): 太字: ctrl-b/cmd-b、斜体: ctrl-i/cmd-i、ヘッダー: ctrl-d/cmd-d、ブロック引用: ctrl-e/cmd-e、コードブロック: ctrl-j/cmd-j、段落番号: ctrl-o/cmd-o、箇条書き: ctrl-u/cmd-u、リンクを挿入: ctrl-k/cmd-k。 ### [](#マークダウンに関する注意)マークダウンに関する注意 - Anypoint Exchange は GitHub マークダウンを使用する。 - ページごとのマークダウン文字の上限は 1,024,000 文字です。 - マークダウンでは、div、button、a、ul、ol、table、p、span、pre、code などの基本的な HTML 5 コード要素がサポートされる。 - リンクの挿入: `[MuleSoft.com](http://www.mulesoft.com)`​ または: ```text [MuleSoft.com][1] [1]: https://mulesoft.com ``` - YouTube 動画の挿入: `​![linkname](https://www.youtube.com/embed/YOUR_YOUTUBE_ID_HERE)​` 例: `​![](https://www.youtube.com/embed/K3tuHUZ1J04)​` - 構文の強調表示の使用: ````text ```javascript const myBool = true; const myNumber = 5; const myString = "abc"; ``` ```` # アセットバージョン Exchange の各アセットはバージョン設定されています。非表示にするバージョンを非推奨にすることで、表示されるバージョンを管理できます。必要に応じて、バージョンを削除できます。アセットのすべてのバージョンのタイプは常に同じです。 API にはアセットの詳細画面に表示されるコンシューマー向けの API バージョンもあります。API プロバイダーがこのバージョンを定義します。 Exchange のアセットバージョンは、メジャー、マイナー、およびパッチリリースの [セマンティックバージョン設定](https://semver.org/)​に従います。たとえば、アセットのバージョンが 2.4.6 でメジャーバージョンが 2.x.x である場合、そのマイナーバージョンは 2.4.x で、パッチバージョンは 2.4.6 になります。 アセットのマイナーバージョンを選択するには、アセットポータルの一番上にあるアセット名の横のメニューを使用します。アセットのパッチバージョンを選択するには、右側のバージョンリストを使用します。 [2019 年 1 月 12 日](https://docs.mulesoft.com/jp/release-notes/exchange/anypoint-exchange-release-notes#january-2019)​以降にパブリッシュされたすべての OAS アセットの RAML バージョンは自動的に生成されています。その日付以降にパブリッシュされたすべての RAML アセットの OAS 2.0 バージョンは自動的に生成されています。 ## [](#アセット制限)アセット制限 アセットのバージョン形式はセマンティックバージョン設定に従う必要があります。アセット項目は文字数が次のとおり制限されています。
項目 最大文字数 最小文字数

名前

256

1

説明

256

0

versionGroup

256

1

groupId​、​assetId​、​version​ の組み合わせ

215

なし

Exchange では、パブリッシュできるアセットバージョンの数を制限してリソース枯渇攻撃を防ぎます。 この制限は、トライアルアカウントを使用しているルート組織では 500 アセット、他のルート組織では 100,000 アセットです。 アセットの連動関係の制限は 100 個です。たとえば、Anypoint API Designer では、RAML は 100 個の RAML フラグメント連動関係に制限されます。Anypoint API Manager では、API グループは 100 個の REST API 連動関係に制限されます。 このアセット数には、削除されたアセットや Exchange によって生成されたアセット ​[(API から自動的に生成された Mule 3 および Mule 4 Connector など)](https://docs.mulesoft.com/jp/exchange/to-deploy-using-rest-connect)​ は含まれません。 ルート組織のアセット制限の 80% 達すると、Exchange に警告が表示されます。 ルート組織のアセット制限に達すると、Exchange にエラーが表示されます。また、ホームページの ​**\[Publish new asset (新規アセットをパブリッシュ)\]**​ ボタンやアセット詳細ページの ​**\[Add new version (新規バージョンを追加)\]**​ ボタンを使用すると、制限に達したためにこれ以上アセットを追加できないことを示すエラーが表示されます。 次のような curl コマンドを使用してルート組織の制限を確認します。 curl -X GET \\ https://anypoint.mulesoft.com/exchange/api/v1/organizations/ROOT\_ORGANIZATION\_ID/limits \\ -H 'Authorization: bearer ANYPOINT\_TOKEN' `ROOT_ORGANIZATION_ID`​ を各自のルート組織 ID、​`ANYPOINT_TOKEN`​ をルート組織の権限がある認証トークンに置き換えます。 次のような curl コマンドを使用してアセットのリストを取得します。 curl -X POST \\ https://anypoint.mulesoft.com/graph/api/v1/graphql \\ -H 'content-type: application/json' \\ -H 'Authorization: bearer ANYPOINT\_TOKEN' \\ -d '{"query":"{assets(query: { rootOrganizationId:\\"ROOT\_ORGANIZATION\_ID\\", limit: 20, offset: 10 }) {groupId assetId version}}"}' `ROOT_ORGANIZATION_ID`​ を各自のルート組織 ID、​`ANYPOINT_TOKEN`​ をルート組織の権限がある認証トークンに置き換えます。必要に応じて、​`limit`​ および ​`offset`​ の値を変更します。 アセットの検索についての詳細は、​[「Graph API を使用した検索」](https://docs.mulesoft.com/jp/exchange/to-search-with-graph-api)​を参照してください。 # アセットポータルのリソースの管理 アセットポータルには最大 100 個のリソースをアップロードできます。さらに追加しようとするとエラーが発生します。数を減らすためにリソースを削除してから制限数まで追加できます。 アセットポータルにアップロードできるのは、画像リソースのみです。許可される画像形式は、​`bmp`​、​`gif`​、​`ico`​、​`jpe`​、​`jpeg`​、​`jpg`​、​`png`​、​`svg`​、​`tif`​、​`tiff`​、​`webp`​ です。画像リソースの容量制限は 2 MB です。 以下の例は、Exchange Experience API を使用してアセットポータルでリソースをリスト、取得、削除する方法を示しています。 ## [](#認証)認証 Anypoint Platform にログインし、認証トークンを取得します。すべての要求をヘッダー ​`Authorization: bearer ACCESS_TOKEN`​ で開始します。 ```console ACCESS_TOKEN=$(curl https://anypoint.mulesoft.com/accounts/login \ -XPOST -d "username=YOUR_USERNAME&password=YOUR_PASSWORD" | \ jq -r ".access_token") ``` ## [](#api-の使用)API の使用 すべてのリソースのリスト方法: ```console curl https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/:version/portal/draft/resources \ -H 'Authorization: bearer YOUR_ACCESS_TOKEN' ``` 特定のリソースの取得方法: ```console curl https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/:version/portal/draft/resources/:resourceId \ -H 'Authorization: bearer YOUR_ACCESS_TOKEN' ``` 特定のリソースの削除方法: ```console curl -X DELETE \ https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/:version/portal/draft/resources/:resourceId \ -H 'Authorization: bearer YOUR_ACCESS_TOKEN' ``` 次のようにセットアップします。 groupId: アセットのグループ ID assetId: アセットのアセット ID version: アセットのバージョン resourceId: リソースファイル名。 # アセットライフサイクル状態の管理 ソフトウェア開発ライフサイクルでは、アセットが開発され、リリースされて、最終的に非推奨になります。Exchange アセットの各バージョンは、​`development`​、​`stable`​、​`deprecated`​ のライフサイクル状態を進んでいきます。 ## [](#development-状態)development 状態 `development`​ 状態のアセットバージョンは、設計および開発の反復プロセスにあります。 groupId、assetId、バージョン (GAV) が同じで、メタデータが新しい ​`development`​ 状態のアセットバージョンを再パブリッシュする場合、アセットバージョン (次のバージョンメタデータを含む) が上書きされます。 - ファイル - 連動関係 - キーワード 他の状態のアセットバージョンでこの情報を変更するには、新しいバージョンを作成する必要があるため、アセットバージョンは再パブリッシュまたは上書きできません。 アセットバージョンを上書きすると、検索インデックスも更新されます。 development 状態のアセットを再パブリッシュしても、次の情報は上書きされません。 - アセットタイプ - タグ - カテゴリ - カスタム項目 - ドキュメントページ `development`​ 状態のアセットバージョンを削除すると必ず物理削除になるため、アセットの名前、groupId、assetId、バージョンを再利用できます。 公開ポータルには、​`development`​ 状態のアセットバージョンは表示されません。 Exchange 以外の Anypoint Platform 製品 (Anypoint Studio、API Manager、Anypoint DataGraph など) では、​`development`​ 状態のアセットバージョンはコンシュームされません。 ## [](#stable-状態)stable 状態 `stable`​ 状態のアセットバージョンはコンシュームできます。アセットを再パブリッシュまたは上書きすることはできません。 最初の 7 日間に ​`stable`​ 状態のアセットバージョンを削除すると物理削除になるため、アセットの名前、groupId、assetId、バージョンを再利用できます。最初の 7 日間が経過した後に ​`stable`​ 状態のアセットバージョンを削除すると論理削除になるため、アセットの名前、groupId、assetId、バージョンは再利用できません。物理削除または論理削除の後に、アセットを復旧することはできません。 Exchange バックエンドと一部の API 応答では、​`stable`​ を意味する ​`published`​ という用語が使用されます。 ## [](#deprecated-状態)deprecated 状態 `deprecated`​ 状態のアセットバージョンは、​`stable`​ 状態のアセットバージョンと似ています。唯一の違いは、​`status`​ プロパティでアセットバージョンが非推奨であることが示される点にあります。 ## [](#exchange-ユーザーインターフェースでアセットを作成する)Exchange ユーザーインターフェースでアセットを作成する 1. **\[Publish new asset (新規アセットをパブリッシュ)\]**​ をクリックします。 2. **\[Lifecycle state (ライフサイクル状態)\]**​ を ​**\[Development (開発)\]**​ 状態またはデフォルトの ​**\[Stable (安定)\]**​ 状態に設定します。 3. 他のアセット情報を設定します。 4. **\[Publish (パブリッシュ)\]**​ をクリックします。 ## [](#状態の昇格)状態の昇格 考えられる 3 つの状態の昇格を次に示します。 1. `development`​ から ​`stable` 2. `stable`​ から ​`deprecated` 3. `deprecated`​ から ​`stable` 管理者は、アセットを development、stable、deprecated 状態に昇格できます。コントリビュータは、アセットを development および stable にのみ昇格できます。 アセットの Exchange ポータルまたは Exchange API を使用して、アセットバージョンの状態を昇格します。 アセットのドキュメントページで、現在の状態が表示されているライフサイクル状態ボタンをクリックし、新しい状態 (​**\[Development (開発)\]**​、​**\[Stable (安定)\]**​、または ​**\[Deprecated (非推奨)\]**​) を選択します。 Exchange API を使用するには、​[「ライフサイクル状態を昇格する」](https://docs.mulesoft.com/jp/exchange/exchange-api#promote-lifecycle-state)​の例に従ってください。 ## [](#状態の連動関係)状態の連動関係 `stable`​ 状態のアセットは、​`development`​ 状態のアセットを連動関係として追加できません。 `development`​ 状態のアセットが 1 つ以上の他の ​`development`​ 状態のアセットと連動している場合、Exchange ではそのアセットを ​`stable`​ 状態に昇格できません。まず、アセットのすべての連動関係を stable に昇格する必要があります。​`development`​ 状態のアセットに ​`development`​ 状態の連動関係がある場合、その連動が変更されても、連動しているアセットは再生成されません。連動関係が更新されたら、アセットオーナーが連動しているアセットを再パブリッシュする必要があります。 ## [](#exchange-api-を使用してアセットを作成する)Exchange API を使用してアセットを作成する Exchange API を使用してアセットを作成するには、​[「ライフサイクル状態を設定する」](https://docs.mulesoft.com/jp/exchange/exchange-api#set-lifecycle-state)​の例に従ってください。 ## [](#maven-を使用してアセットを作成する)Maven を使用してアセットを作成する Exchange Maven Facade API を使用してアセットを作成するには、​[アセットライフサイクル状態](https://docs.mulesoft.com/jp/exchange/to-publish-assets-maven#asset-lifecycle-state)​の例に従ってください。 ## [](#graph-api-を使用してライフサイクル状態で検索する)Graph API を使用してライフサイクル状態で検索する アセットとそのライフサイクル状態をコンシュームしたり、アセットをライフサイクル状態で検索したりするには、​[アセットライフサイクル状態](https://docs.mulesoft.com/jp/exchange/to-search-with-graph-api#asset-lifecycle-state)​の例に従ってください。 ## [](#関連情報)関連情報 - [アセットの削除](https://docs.mulesoft.com/jp/exchange/to-delete-asset) - [Exchange API を使用したアセットのパブリッシュ](https://docs.mulesoft.com/jp/exchange/exchange-api) - [Maven を使用したアセットのパブリッシュ](https://docs.mulesoft.com/jp/exchange/to-publish-assets-maven) - [Graph API を使用した検索](https://docs.mulesoft.com/jp/exchange/to-search-with-graph-api) - [Graph API Web インターフェース](https://anypoint.mulesoft.com/graph/api/v2/graphql) # カスタム項目の管理 Exchange 管理者と組織のオーナーは、カスタム項目を作成して Exchange アセットメタデータモデルを拡張し、カスタムデータを任意のタイプのアセットに追加できます。 カスタム項目は、アセットバージョンに追加できるキー-値ペアです。 カスタム項目は管理されます。つまり、各アセットタイプに、システム管理者が定義した特定のスキーマがあります。これにより、Exchange は値を検証できます。たとえば、「SupportEndDate」という名前のカスタム項目設定をアセットに含めて、Exchange で、この項目に設定された値が有効な日付であることを保証できます。 Exchange では、アセット詳細ページにカスタム項目が表示されます。 ## [](#アクセストークンの取得)アクセストークンの取得 以下のような cURL コマンドでアクセストークンを取得します。必要に応じて、cURL で HTTP コマンドを送信する代わりに、Postman や別のアプリケーションを使用できます。 `YOUR_USERNAME`​ を Anypoint Platform ユーザーアカウント名に置き換えて、​`YOUR_PASSWORD`​ をそのパスワードに置き換えます。 ```console ACCESS_TOKEN=$(curl https://anypoint.mulesoft.com/accounts/login -XPOST -d "username=YOUR_USERNAME&password=YOUR_PASSWORD" | jq -r ".access_token") ``` API コールでこのアクセストークンを使用して、カスタム項目を設定して割り当てます。 ## [](#サポートされる型)サポートされる型 Exchange は、enum (列挙)、number (数値)、date (日付)、text (テキスト)、数値のリスト、および文字列のリストの各型のカスタム項目をサポートします。 ### [](#enum-列挙)Enum (列挙) 次の例は、型が ​`enum`​ (列挙値のリスト)、名前が ​**SubType**​、可能な値が ​**OAS**​ および ​**RAML**​ のカスタム項目を作成する方法を示しています。独自のカスタム項目を作成するには、組織 ID を設定し、​`-d`​ フラグの後のデータパラメーターを変更します。 ```console curl -X POST \ https://anypoint.mulesoft.com/exchange/api/v2/organizations/:organizationId/fields \ -H 'Authorization: bearer $ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "dataType": "enum", "acceptedValues": ["OAS","RAML"], "displayName": "SubType", "tagKey": "subType" }' ``` 次の例は、この項目を組織の任意のアセットに追加する方法を示しています。項目を独自のアセットに追加するには、URL 内の組織 ID、グループ ID、アセット ID、およびバージョンを設定し、タグキー ​`subType`​ を、使用しているタグキーに変更し、​`-d`​ フラグの後のデータパラメーターを変更します。 ```console curl -X PUT \ https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/:version/tags/fields/subType \ -H 'Authorization: bearer $ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "tagValue": ["OAS"] }' ``` ### [](#number-数値)Number (数値) 次の例は、型が ​`number`​、名前が ​**Rating**​ のカスタム項目を作成する方法を示しています。独自のカスタム項目を作成するには、組織 ID を設定し、​`-d`​ フラグの後のデータパラメーターを変更します。 ```console curl -X POST \ https://anypoint.mulesoft.com/exchange/api/v2/organizations/:organizationId/fields \ -H 'Authorization: bearer $ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "dataType": "number", "displayName": "Rating", "tagKey": "rating" }' ``` 次の例は、この項目を組織の任意のアセットに追加する方法を示しています。項目を独自のアセットに追加するには、URL 内の組織 ID、グループ ID、アセット ID、およびバージョンを設定し、タグキー ​`rating`​ を、使用しているタグキーに変更し、​`-d`​ フラグの後のデータパラメーターを変更します。 ```console curl -X PUT \ https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/:version/tags/fields/rating \ -H 'Authorization: bearer $ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "tagValue": 5 }' ``` ### [](#date-日付)Date (日付) 次の例は、型が ​`date`​、名前が ​**DueDate**​ のカスタム項目を作成する方法を示しています。独自のカスタム項目を作成するには、組織 ID を設定し、​`-d`​ フラグの後のデータパラメーターを変更します。 ```console curl -X POST \ https://anypoint.mulesoft.com/exchange/api/v2/organizations/:organizationId/fields \ -H 'Authorization: bearer $ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "dataType": "date", "displayName": "DueDate", "tagKey": "dueDate" }' ``` 次の例は、この項目を組織の任意のアセットに追加する方法を示しています。項目を独自のアセットに追加するには、URL 内の組織 ID、グループ ID、アセット ID、およびバージョンを設定し、タグキー ​`dueDate`​ を、使用しているタグキーに変更し、​`-d`​ フラグの後のデータパラメーターを変更します。 ```console curl -X PUT \ https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/:version/tags/fields/dueDate \ -H 'Authorization: bearer $ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "tagValue": "2020-01-01T20:00:00.000Z" }' ``` ### [](#text-テキスト)Text (テキスト) 次の例は、型が ​`text`​、名前が ​**email**​ のカスタム項目を作成する方法を示しています。独自のカスタム項目を作成するには、組織 ID を設定し、​`-d`​ フラグの後のデータパラメーターを変更します。 ```console curl -X POST \ https://anypoint.mulesoft.com/exchange/api/v2/organizations/:organizationId/fields \ -H 'Authorization: bearer $ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "dataType": "text", "displayName": "Email", "tagKey": "email" }' ``` 次の例は、この項目を組織の任意のアセットに追加する方法を示しています。項目を独自のアセットに追加するには、URL 内の組織 ID、グループ ID、アセット ID、およびバージョンを設定し、タグキー ​`email`​ を、使用しているタグキーに変更し、​`-d`​ フラグの後のデータパラメーターを変更します。 ```console curl -X PUT \ https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/:version/tags/fields/email \ -H 'Authorization: bearer $ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "tagValue": "john@doe.com" }' ``` ### [](#数値のリスト)数値のリスト 次の例は、型が ​`number-list`​、名前が ​**SupportCases**​ のカスタム項目を作成する方法を示しています。独自のカスタム項目を作成するには、組織 ID を設定し、​`-d`​ フラグの後のデータパラメーターを変更します。 ```console curl -X POST \ https://anypoint.mulesoft.com/exchange/api/v2/organizations/:organizationId/fields \ -H 'Authorization: bearer $ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "dataType": "number-list", "displayName": "SupportCases", "tagKey": "supportCases" }' ``` 次の例は、この項目を組織の任意のアセットに追加する方法を示しています。項目を独自のアセットに追加するには、URL 内の組織 ID、グループ ID、アセット ID、およびバージョンを設定し、タグキー ​`supportCases`​ を、使用しているタグキーに変更し、​`-d`​ フラグの後のデータパラメーターを変更します。 ```console curl -X PUT \ https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/:version/tags/fields/supportCases \ -H 'Authorization: bearer $ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "tagValue": [1010,2020,3030] }' ``` ### [](#文字列のリスト)文字列のリスト 次の例は、型が ​`text-list`​、名前が ​**Maintainers**​ のカスタム項目を作成する方法を示しています。独自のカスタム項目を作成するには、組織 ID を設定し、​`-d`​ フラグの後のデータパラメーターを変更します。 ```console curl -X POST \ https://anypoint.mulesoft.com/exchange/api/v2/organizations/:organizationId/fields \ -H 'Authorization: bearer $ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "dataType": "text-list", "displayName": "Maintainers", "tagKey": "maintainers" }' ``` 次の例は、この項目を組織の任意のアセットに追加する方法を示しています。項目を独自のアセットに追加するには、URL 内の組織 ID、グループ ID、アセット ID、およびバージョンを設定し、タグキー ​`maintainers`​ を、使用しているタグキーに変更し、​`-d`​ フラグの後のデータパラメーターを変更します。 ```console curl -X PUT \ https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/:version/tags/fields/maintainers \ -H 'Authorization: bearer $ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "tagValue": ["John", "Alice", "Fred"] }' ``` ## [](#アセットタイプの制限)アセットタイプの制限 カスタム項目の追加先を特定のタイプのアセットに限定するようにカスタム項目を制限できます。次の例は、REST API にのみ適用されるカスタム項目を作成する方法を示しています。独自のカスタム項目を作成するには、組織 ID を設定し、​`-d`​ フラグの後のデータパラメーターを変更します。 ```console curl -X POST \ https://anypoint.mulesoft.com/exchange/api/v2/organizations/:organizationId/fields \ -H 'Authorization: bearer $ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "dataType": "enum", "acceptedValues": ["OAS","RAML"], "displayName": "SubType", "tagKey": "subType", "assetTypeRestrictions": ["rest-api"] }' ``` ## [](#アセットバージョンからのカスタム項目の削除)アセットバージョンからのカスタム項目の削除 次の例は、特定のアセットバージョンからカスタム項目 ​`subType`​ を削除する方法を示しています。カスタム項目を削除するには、組織 ID、グループ ID、アセット ID、およびバージョンを設定し、タグキー ​`subType`​ を、使用しているタグキーに変更します。 ```console curl -X DELETE \ https://anypoint.mulesoft.com/exchange/api/v2/assets/:groupId/:assetId/:version/tags/fields/subType \ -H 'Authorization: bearer $ACCESS_TOKEN' \ -H 'Content-Type: application/json' ``` ## [](#カスタム項目の削除)カスタム項目の削除 次の例は、組織のすべてのアセットからカスタム項目 ​`subType`​ を削除する方法を示しています。カスタム項目を削除するには、組織 ID を設定し、タグキー ​`subType`​ を、使用しているタグキーに変更します。 ```console curl -X DELETE \ https://anypoint.mulesoft.com/exchange/api/v2/organizations/:organizationId/fields/subType \ -H 'Authorization: bearer $ACCESS_TOKEN' \ -H 'Content-Type: application/json' ``` # カテゴリの管理 カテゴリを使用して Exchange アセットをグループに編成し、アセットの参照と検出を改善します。 たとえば、使用可能な値 \[System API (システム API)\]、\[Experience API\]、および \[Integration API (インテグレーション API)\] を含む \[API Type (API タイプ)\] というカテゴリは、REST API、SOAP API、および HTTP API タイプのアセットに適用されます。 ![ex categories api type](/mulesoft/current/ja-jp/exchange/_images/ex-categories-api-type.png) カテゴリを作成するには、ルート組織の Exchange 管理者または組織のオーナーである必要があります。 **\[Settings (設定)\]**​ ページで 1 つ以上のカテゴリを定義すると、組織のアセットの詳細ペインに ​**\[Add categories (カテゴリを追加)\]**​ オプションが表示されます。 ## [](#カテゴリを作成する)カテゴリを作成する 1. Anypoint Exchange で、​**\[Login (ログイン)\]**​ をクリックして組織にログインします。 2. サイドバーで ​**\[Settings (設定)\]**​ をクリックします。 3. **\[Add new category (新規カテゴリを追加)\]**​ をクリックします。 4. カテゴリ名を入力します。各カテゴリ名は一意である必要があります。 5. 1 つ以上の値を入力します。各カテゴリには値が必要です。 6. Return/Enter キーを押すか値の横にあるプラス記号をクリックし、値を確認します。 ![ex category value](/mulesoft/current/ja-jp/exchange/_images/ex-category-value.png) 注意: プラス記号をクリックしない場合、カテゴリを示すチェックマークは 無効になります。 7. カテゴリに対応するアセットタイプを選択します。 8. チェックマークをクリックしてカテゴリを有効にします。 ## [](#カテゴリを適用する)カテゴリを適用する カテゴリを作成したら、カテゴリを組織のアセットに適用することができます。 1. 組織でアセットをクリックします。 2. アセットの詳細ペインで、​**\[Add categories (カテゴリを追加)\]**​ をクリックし、リストからカテゴリと値を選択します。 ## [](#exchange-private-cloud-edition-または-mulesoft-government-cloud-でのカテゴリによる検索)Exchange Private Cloud Edition または MuleSoft Government Cloud でのカテゴリによる検索 Exchange の検索項目で、​`category:`​ 検索語とカテゴリ値を指定してアセットをリストします。 たとえば、\[API Type (API タイプ)\] のアセットを見つけるには、​`category:"API Type" = "System API"`​ を検索します。 異なるカテゴリの組み合わせを検索できますが、同じカテゴリの複数の値は検索できません。複数の検索語には暗黙的な AND を使用します。OR はサポートされていません。 次の検索語は、System API と Salesforce 製品の両方としてマークされたすべてのアセットを返します。 `category:"API Type" = "System API" category:"Product" = "Salesforce"` ## [](#exchange-cloud-でのカテゴリによる検索)Exchange Cloud でのカテゴリによる検索 リストから ​**\[API Type (API タイプ)\]**​ などのカテゴリを選択してから、​**\[System API (システム API)\]**​ などの値を 1 つまたは複数選択します。Exchange は、選択されたカテゴリでいずれかの選択された値を持つアセットを表示します。 カテゴリの組み合わせや、同じカテゴリの複数の値を検索できます。同じカテゴリの複数の値は OR 演算子で連結されます。 ## [](#カテゴリの変更または削除)カテゴリの変更または削除 カテゴリを個々のアセットレベルで削除できます。この場合、そのアセットからのみカテゴリが削除されます。 カテゴリは \[Settings (設定)\] のグローバルレベルでも削除できますが、この場合はすべてのアセットからカテゴリが削除されます。 # コマンドオートコンプリートを設定する `api-catalog-cli autocomplete`​ コマンドでは、API カタログ CLI コマンドのコンプリートを設定できます。 コマンドオートコンプリートを設定する手順は、次のとおりです。 - Bash シェルを使用している場合: 1. `api-catalog autocomplete bash`​ を実行します。これにより、キャッシュが作成されて、設定とテスト手順が表示されます。 2. コマンドで表示される手順に従います。 1) Add the autocomplete env var to your bash profile and source it $ printf "eval $(api-catalog autocomplete:script bash)" >> ~/.bashrc; source ~/.bashrc NOTE: If your terminal starts as a login shell you may need to print the init script into ~/.bash\_profile or ~/.profile. 2) Test it out, e.g.: $ api-catalog # Command completion $ api-catalog \[command\] -- # Flag completion - Z シェルを使用している場合: 1. `api-catalog autocomplete zsh`​ を実行します。これにより、キャッシュが作成されて、設定とテスト手順が表示されます。 2. コマンドで表示される手順に従います。 1) Add the autocomplete env var to your zsh profile and source it $ printf "eval $(api-catalog autocomplete:script zsh)" >> ~/.zshrc; source ~/.zshrc NOTE: After sourcing, you can run \`$ compaudit -D\` to ensure that no permissions conflicts are present 2) Test it out, e.g.: $ api-catalog # Command completion $ api-catalog \[command\] -- # Flag completion ## [](#autocomplete-command)api-catalog autocomplete $ api-catalog autocomplete \[flags\] このコマンドは、次のフラグを受け入れます。
フラグ 説明

blank

オートコンプリートの設定手順を表示します。

bash

Bash シェル設定を使用してオートコンプリートをインストールします。

zsh

Z シェル設定を使用してオートコンプリートをインストールします。

-r, --refresh cache

現在のオートコンプリート設定を削除します。これは、別のシェル種別でコマンドを実行する前に使用します。

**例**​ $ api-catalog autocomplete $ api-catalog autocomplete bash $ api-catalog autocomplete zsh $ api-catalog autocomplete --refresh-cache
現時点では、API Catalog CLI オートコンプリートプラグインは、Windows ではサポートされていません。
# コマンドおよびフラグの一般的な使用 API カタログ CLI をインストールして権限を設定したら、API カタログ CLI コマンドを使用して API を自動カタログ化できます。コマンドを実行するときに Anypoint Platform に対して​[認証](#authentication)​するためのいくつかのオプションを使用できます。 ## [](#api-catalog-commands)API カタログコマンドのリスト API カタログ CLI には次のコマンドが含まれます。
コマンド 説明

API カタログコマンドのオートコンプリートを設定します。

ログイン情報設定ファイルを作成または削除します。

記述子ファイルを作成します。

記述子ファイルを更新します。

Exchange にアセットをパブリッシュします。

## [](#コマンドヘルプを表示する)コマンドヘルプを表示する help オプションを使用して、コマンドまたはコマンドフラグとそれらの説明をリストします。次の例は、help オプションの使用方法を示しています。 api-catalog help api-catalog create-descriptor --help ## [](#common-options)一般フラグと認証フラグ Anypoint Platform に対して認証するコマンドの一般フラグと認証フラグを次に示します。
フラグ 説明

--client_id=client_id

または

ANYPOINT_CLIENT_ID​ 環境変数

接続アプリケーションクライアント ID。

「認証」​を参照してください。

--client_secret

または

ANYPOINT_CLIENT_SECRET​ 環境変数

クライアント ID の接続アプリケーションシークレットのプロンプト。

​「認証」​を参照してください。

--collectMetrics

または

COLLECT_METRICS​ 環境変数

現在使用されていません。

--environment=environment

または

ANYPOINT_ENV​ 環境変数

API がカタログ化されている Anypoint Platform 環境の名前。

--host=host

または

ANYPOINT_HOST​ 環境変数

デフォルト:

anypoint.mulesoft.com

プロトコルなしの Anypoint Platform ベース URL。

US Anypoint Platform の場合、次を使用します。

anypoint.mulesoft.com

ヨーロッパの Anypoint Platform の場合、次を使用します。

eu1.anypoint.mulesoft.com

--organization=organization

または

ANYPOINT_ORG​ 環境変数

API がカタログ化されている Anypoint Platform 組織の ID。

-o, --output=output

現在使用されていません。

-p, --password

または

ANYPOINT_PASSWORD​ 環境変数

Anypoint ユーザーパスワード。

​「認証」​を参照してください。

-u, --username=username

または

ANYPOINT_USERNAME​ 環境変数

Anypoint ユーザー名。

「認証」​を参照してください。

## [](#authentication)認証 API カタログ CLI の実行中に Anypoint Platform に対して認証するには、次の認証の組み合わせのいずれかを使用する必要があります。 - ユーザー名とパスワード - クライアント ID とクライアントシークレット - ベアラートークン (コマンドラインのみ) デフォルト設定にログインする場合を除き、ホスト、環境、および組織も指定する必要があります。 次の方法を使用して、Anypoint Platform ログイン情報を渡すことができます。 - [シングルサインオン (SSO) の使用](#single-signon)​ - [ログイン情報設定ファイルの使用](#credentials-file)​ - [コマンドラインフラグの使用](#command-line-options)​ - [環境変数の使用](#env-variables) 設定は次のように上書きされます。 - コマンドラインフラグはその他すべての方法を上書きする。 - コマンドラインフラグが指定されていない場合は環境変数が使用され、ログイン情報設定ファイルの設定を上書きする。 - コマンドラインフラグまたは環境変数が設定されていない場合、ログイン情報設定ファイルのオプションが使用される。 ### [](#single-signon)SSO API カタログ CLI を実行しているシステムで SSO を使用するように Anypoint Platform を設定した場合、認証フラグなしで API カタログ CLI コマンドを実行すると、コマンドは SSO を介して Anypoint Platform にログインします。SSO を介したログインの設定についての詳細は、​[「ID 管理について」](https://docs.mulesoft.com/jp/access-management/external-identity)​を参照してください。 ### [](#credentials-file)ログイン情報設定ファイル SSO を使用していない場合、ログイン情報を Anypoint Platform CLI インストールに渡す最も安全な方法は、ログイン情報設定ファイルを使用することです。 `api-catalog conf`​ コマンドを実行してログイン情報を設定ファイルに追加することで、Anypoint Platform に対して認証できます。有効なログイン情報を使用して設定ファイルを作成したら、ログイン情報フラグを指定することなく ​`api-catalog`​ コマンドを実行でき、設定ファイルの値を使用して認証が行われます。 次の認証キーの組み合わせを使用して、設定ファイルに認証値を設定できます。 username password client\_id client\_secret host environment organization 設定ファイルを作成するには、次の操作を実行します。 - 使用するキーと値のペアを指定して ​`api-catalog conf`​ コマンドを実行する。たとえば、次のコマンドはユーザー名とパスワードを設定します。 $ api-catalog conf username myuser $ api-catalog conf password mypwd このコマンドは、次の場所にある ​`config.json`​ ファイルにログイン情報を保存します。 - MacOS: `~/Library/Preferences/@mulesoft/api-catalog-cli-nodejs/config.json` - Windows: `%LOCALAPPDATA%\mycli` - Unix: `~/.config/mycli` **例:**​ - ベアラートークンの値を設定する $ api-catalog conf bearer b71cab22-e5cc-43c4-90ed-5a1124b6ae1f - ユーザー名とパスワードの値を設定する $ api-catalog conf username myuser $ api-catalog conf password mypwd - 特定のホスト、組織、および環境の値を設定する $ api-catalog conf host myco.anypoint.mulesoft.com $ api-catalog conf environment ec7d16cb-43fd-4796-8b4f-5cff7294fcf9 $ api-catalog conf organization 8a840abc-e63a-4f8d-87ad-24052eda3018 - クライアント ID とクライアントシークレットの値を設定する $ api-catalog conf client\_id myClientID $ api-catalog conf client\_secret myCLientSecret 上記のコマンドを実行した後の ​`config.json`​ コンテンツの例: { "bearer": "b71cab22-e5cc-43c4-90ed-5a1124b6ae1f", "username": "myuser", "password": "mypwd", "host": "myco.anypoint.mulesoft.com", "environment": "ec7d16cb-43fd-4796-8b4f-5cff7294fcf9", "organization": "8a840abc-e63a-4f8d-87ad-24052eda3018", "client\_id": "1787c36ab544466698e380131040faad", "client\_secret": "2dA616efca1E4181A2A77BBF046868BE" } #### [](#conf-command)api-catalog conf キーと値のペアを追加および削除して、設定ファイル (config.json) で認証ログイン情報を管理します。コマンドの実行ごとに 1 つのキーと値のペアを設定します。 \> api-catalog conf \[flags\] `` 認証キー名。使用可能なキー名: username password client\_id client\_secret host environment organization `` 指定された認証キーの値。 このコマンドは、次のフラグを受け入れます。
フラグ 説明

-d, --delete

指定されたキーの設定ファイルエントリを削除します。

-h, --help

コマンドのヘルプを表示します。

-k, --key=key

指定されたキーに対応する値を表示します。

-v, --value=value

指定された値に対応するキーを表示します。

### [](#command-line-options)コマンドラインフラグ 次のフラグの組み合わせを使用して ​`api-catalog`​ コマンドを実行することで、コマンドラインから Anypoint Platform に対して認証できます。 \--username --password --client\_id --client\_secret --bearer --organization --environment **例:**​ - ユーザー名とパスワードを使用してコマンドラインで認証する $ api-catalog --username myUserName --password myPassword --organization=myOrgId publish-asset - クライアント ID とクライアントシークレットを使用してコマンドラインで認証する $ api-catalog --client\_id myClientID myClientSecret --organization=myOrgId publish-asset - ベアラートークンを使用してコマンドラインで認証する Anypoint Platform でベアラートークンを生成し、API カタログ CLI に直接渡すことができます。ベアラートークンを提供した場合、API カタログ CLI は他に提供されているすべてのユーザーログイン情報やクライアントログイン情報を無視します。 $ api-catalog --bearer myBearerToken --organization=myOrgId publish-asset ベアラートークンの有効期限が切れると、Anypoint Platform セッションの有効期限が切れます。 ベアラートークンの生成については、 [「How to Generate Your Authorization Bearer Token for Anypoint Platform (Anypoint Platform 用の認証ベアラートークンの生成方法)」](https://help.mulesoft.com/s/article/How-to-generate-your-Authorization-Bearer-token-for-Anypoint-Platform)​を参照してください。 ### [](#env-variables)環境変数 `api-catalog`​ コマンドを実行する前に、次の環境変数の組み合わせを設定することで、Anypoint Platform に対して認証できます。 ANYPOINT\_USERNAME ANYPOINT\_PASSWORD ANYPOINT\_CLIENT\_ID ANYPOINT\_CLIENT\_SECRET ANYPOINT\_ORG ANYPOINT\_ENV ANYPOINT\_HOST **例:**​ - ユーザー名とパスワードの環境変数を設定して認証する $ export ANYPOINT\_USERNAME=myUserName $ export ANYPOINT\_PASSWORD=myPassword $ export ANYPOINT\_ORG=myOrgId - クライアント ID とクライアントシークレットの環境変数を設定して認証する $ export ANYPOINT\_CLIENT\_ID=myClientID $ export ANYPOINT\_CLIENT\_SECRET=myCLientSecret $ export ANYPOINT\_ORG=myOrgId # ネットワークプロキシでの API カタログ CLI の使用 API カタログ CLI をネットワークプロキシ経由で実行して、セキュリティレイヤーを追加できます。API カタログ CLI をプロキシサーバーで使用するには、次のセクションに示すように、​`HTTP_PROXY`​ または ​`HTTPS_PROXY`​ 環境変数を設定して、プロキシサーバーのホスト名と IP アドレスを指定します。 ## [](#認証なしのプロキシサーバーを設定する)認証なしのプロキシサーバーを設定する 認証を必要としないプロキシサーバーを設定するには、次のコマンドを使用します。 - Linux、macOS、または Unix `$ export HTTP_PROXY=http://​_proxy-server_​:80` または `$ export HTTPS_PROXY=https://​_proxy-server_​:443` - Windows `> set HTTP_PROXY=http://​_proxy-server_​:80` または `> set HTTPS_PROXY=https//​_proxy-server_​:443` ## [](#認証ありのプロキシサーバーを設定する)認証ありのプロキシサーバーを設定する 認証が必要なプロキシサーバーを設定するには、次のコマンドを使用します。 - Linux、macOS、または Unix `$ export HTTP_PROXY=http://​_username_​:_password_​@​_proxy-server_​:80` または `$ export HTTPS_PROXY=https://​_username_​:_password_​@​_proxy-server_​:443` - Windows `> set HTTP_PROXY=http://​_username_​:_password_​@​_proxy-server_​:80` または `> set HTTPS_PROXY=https://​_username_​:_password_​@​_proxy-server_​:443` # バージョンの管理 バージョンの詳細を表示したり、新しいバージョンを追加したり、バージョンを削除したり、バージョンのライフサイクル状態を変更したりして、アセットのバージョンを管理します。 ## [](#バージョンの詳細を表示する)バージョンの詳細を表示する アセットのバージョンに関する次の情報を表示できます。 - アセットをパブリッシュしたオーナーの名前 - バージョンがパブリッシュされた日付 - ライフサイクル状況 バージョンの詳細を表示する手順は、次のとおりです。 1. 展開されたアセットの詳細ペインで ​**\[Manage versions (バージョンを管理)\]**​ をクリックします。 2. 3 つのドットのメニューをクリックして、メニューから ​**\[Version detail (バージョンの詳細)\]**​ を選択します。 ## [](#アセットの新しいバージョンを追加する)アセットの新しいバージョンを追加する アセットへのコントリビュータまたは管理者アクセス権がある場合、アセットの新しいバージョンを追加できます。アセットの新しいバージョンの名前、アイコン、説明は、以前のバージョンと同じになります。これらのプロパティに対する変更は、アセットのすべてのバージョンに適用されます。 1. 展開されたアセットの詳細ペインで ​**\[Manage versions (バージョンを管理)\]**​ をクリックします。 2. **\[Add new version (新規バージョンを追加)\]**​ をクリックします。 3. (API の場合は必須) \[API specification (API 仕様)\] に ​**\[Method (メソッド)\]**​ を選択します。 4. (API の場合は必須) ​**\[File upload (ファイルのアップロード)\]**​ から ​**\[Choose file (ファイルを選択)\]**​ をクリックします。OAS の場合、.yaml または .json ファイルの種類の OAS ファイルを選択します。RAML の場合、.raml ファイルの種類の RAML ファイルを選択します。zip ファイルのルートディレクトリにあるアップロード用のファイルを含む zip ファイルも使用できます。 5. アップロードされるファイルが zip の場合、​**\[Main file (メインファイル)\]**​ を指定します。そうしないと、アップロードするファイルと同じ名前のファイルが使用されます。 6. (必須) ​**\[Version (バージョン)\]**​ で、アセットの新しいバージョンを入力します。 7. (必須) ​**\[API version (API バージョン)\]**​\* で、API 仕様のバージョンを入力します。 \[Version (バージョン)\] と \[API version (API バージョン)\] の値は一致している必要があります。特定の API バージョンではマイナーバージョンの更新のみを選択できます。\[Version (バージョン)\] でメジャー番号を設定する場合、\[API version (API バージョン)\] も増やします。マイナーまたはパッチバージョンの更新を選択した場合、API バージョンは変更されません。 8. **\[Lifecycle state (ライフサイクル状態)\]**​ を選択します。デフォルトは ​**\[Stable (安定)\]**​ です。 9. **\[Publish (パブリッシュ)\]**​ をクリックします。 ## [](#アセットのバージョンを削除する)アセットのバージョンを削除する アセットのバージョンを削除できます。連動しているアセットを持つアセットバージョンを削除しようとすると、Exchange は警告を表示します。連動関係を削除してから、アセットバージョンを削除してください。 1. 展開されたアセットの詳細ペインで ​**\[Manage versions (バージョンを管理)\]**​ をクリックします。 2. 3 つのドットのメニューをクリックして、メニューから ​**\[Delete version (バージョンを削除)\]**​ を選択します。 3. 確認ダイアログから ​**\[Delete version (バージョンを削除)\]**​ をクリックします。 ## [](#アセットのバージョンのライフサイクル状態を変更する)アセットのバージョンのライフサイクル状態を変更する アセットのバージョンのライフサイクル状態は、次の状況の昇格に応じて変わります。 - `development`​ から ​`stable` - `stable`​ から ​`deprecated` - `deprecated`​ から ​`stable` development 状態のアセットが 1 つ以上の他の development 状態のアセットに連動している場合、Exchange ではそのアセットを stable 状態に昇格できません。まず、そのすべての連動関係を stable に昇格する必要があります。 1. 展開されたアセットの詳細ペインで ​**\[Manage versions (バージョンを管理)\]**​ をクリックします。 2. 変更するライフサイクル状態の横にあるドロップダウンメニューから、現在の昇格パスの次にくる状態を選択します。 3. **\[Close (閉じる)\]**​ をクリックします。 ## [](#ポリシーの実装バージョンを管理する)ポリシーの実装バージョンを管理する Exchange のアセットの詳細ページの ​**\[Manage implementations (実装を管理)\]**​ テーブルからポリシーアセットの実装バージョンを管理します。このテーブルには、最新バージョンが表示されます。バージョンを表示、追加、削除できます。 1. 左側のナビゲーションバーで、​**\[Implementations (実装)\]**​ をクリックします。 2. 実装のバージョンを管理するには、その他のオプションのメニューをクリックしてオプションを選択します。 1. バージョンを表示するには、​**\[Implementation versions (実装バージョン)\]**​ を選択します。 2. 新しいバージョンを追加するには、​**\[Add new version (新規バージョンを追加)\]**​ を選択して、バージョンを入力します。 3. バージョンを削除するには、​**\[Delete version (バージョンを削除)\]**​ を選択します。 3. **\[Close (閉じる)\]**​ をクリックします。 ## [](#ポリシー実装を更新する)ポリシー実装を更新する Flex Gateway のバージョンに合わせてポリシー実装を更新する手順は、次のとおりです。 1. **\[Policies (ポリシー)\]**​ ページに移動します。 2. **\[Applied policy status (適用ポリシーの状況)\]**​ で、更新が必要なポリシーを確認できます。その他のオプションのメニューアイコンをクリックして、​**\[Check for implementation updates (実装の更新を確認)\]**​ をクリックします。 3. 現在のバージョンと互換性がある最新のポリシー実装が表示されます。 現在の Flex Gateway バージョンと互換性があるポリシー実装が存在しない場合は、エラーメッセージが表示されます。詳細は、 [「パブリッシュしたポリシー定義へのポリシー実装の追加」](https://docs.mulesoft.com/exchange/add-policy-implementation-files-to-published-policy-definition)​を参照してください。 4. 確認用のダイアログボックスで ​**\[Update all (すべて更新)\]**​ をクリックします。 **\[API-level policies (API レベルポリシー)\]**​ の下にポリシーが表示されます。
このアクションは元に戻せません。
自動ポリシーの場合: 1. **\[Automated Policies (自動ポリシー)\]**​ ページに移動します。 2. **\[Applied automated policy status (適用自動ポリシーの状況)\]**​ で、更新が必要なポリシーを確認できます。その他のオプションのメニューをクリックし、​**\[See covered APIs (カバーされている API を確認)\]**​ をクリックして、互換性のないポリシーを使用している API のリストを取得します。 - API からポリシーを削除するには、​**\[Remove the automated Policy (自動ポリシーを削除)\]**​ をクリックします。 - 自動ポリシーが API から削除されます。 - ポリシー実装を互換性のあるバージョンに更新するには、​**\[Check for updates (更新を確認)\]**​ をクリックします。 - 現在のバージョンと互換性のあるすべてのポリシー実装のリストが表示されます。 - 確認用のダイアログボックスで ​**\[Update all (すべて更新)\]**​ をクリックします。 - **\[Automated policies (自動ポリシー)\]**​ の下にポリシーが表示されます。
このアクションは元に戻せません。
# パブリッシュしたポリシー定義へのポリシー実装ファイルの追加 ポリシー定義アセットが Exchange でパブリッシュされると、アセットの詳細ページの左のナビゲーションバーで、​**\[Implementations (実装)\]**​ の横に ​**\[Pending (保留中)\]**​ フラグが表示されます。このフラグは、ポリシー実装が追加されていないことを示します。ポリシー実装ファイルをポリシー定義に追加して、実行時にポリシーを使用できるようにします。必要な実装ファイルは、バイナリファイル (Anypoint Flex Gateway の場合は WebAssembly (WASM)、Mule 4 ランタイムの場合は JAR) と YAML メタデータファイルです。 ポリシー実装ファイルを追加する前に、ポリシー定義アセットが \[Stable (安定)\] 状態であることを確認してください。 ポリシー実装ファイルを追加する手順は、次のとおりです。 1. Exchange で、ポリシーアセットを選択してアセットの詳細ページを開きます。 2. 左のナビゲーションバーで、​**\[Implementations(実装)\]**​ をクリックします。 3. **\[Add implementation (実装を追加)\]**​ をクリックします。 4. 実装の名前を入力します。 5. **\[Choose file (ファイルを選択)\]**​ をクリックし、JAR または WebAssembly ファイルを選択します。 6. **\[Choose file (ファイルを選択)\]**​ をクリックし、YAML ファイルを選択します。 7. GroupId、AssetId、バージョン、および API バージョンを編集するには、​**\[Advanced (詳細)\]**​ をクリックします。 Exchange によって、グループ ID、アセット ID、およびバージョンが生成されます。これらの値を変換できます。API アセットのバージョンと API バージョンを個別に変更することもできます。詳細設定は、アセットバージョンを変更する場合に頻繁に使用されます。 8. **\[Add implementation (実装を追加)\]**​ をクリックします。 **\[Manage implementations (実装の管理)\]**​ テーブルに実装が表示されます。このテーブルから、ポリシーアセットの実装バージョンを管理します。詳細は、​[「バージョンの管理」](https://docs.mulesoft.com/jp/exchange/manage-versions)​を参照してください。 # ユーザーアクセス権限の設定 Exchange には、アクセス管理をセットアップしてチーム間のコラボレーションを提供し、ガバナンス要件を満たすための複数の方法があります。Anypoint Platform には、Anypoint Platform の \[Access Management (アクセス管理)\] セクションで設定してユーザーに異なるアクセスレベルを提供できる、定義済みの権限およびロールが付属しています。 ## [](#exchange-権限)Exchange 権限 ビジネスグループ内のアセットへのアクセスを制御するには、Exchange 権限のロールグループにユーザーまたはチームを追加します。 次の権限は、すべてのビジネスグループレベルに関連します。 Exchange Viewers (Exchange 閲覧者) ユーザーがビジネスグループ内のアセットを表示およびダウンロードできるようにします。この権限を持つユーザーは、新しいアセットの追加、アセットポータルコンテンツの編集、他のユーザーとのアセットの共有を行うことはできません。特定のビジネスグループのアセットをコンシュームするユーザーにこの権限を割り当てます。 Exchange Contributors (Exchange コントリビュータ) ユーザーがビジネスグループ内のアセットを表示、作成、およびダウンロードできるようにします。この権限を持つユーザーは、既存のアセットバージョンのアセットポータルコンテンツを編集できます。この権限を使用して、アセットポータルの説明を編集および管理するユーザーを招待します。 Exchange Administrators (Exchange 管理者) ユーザーがビジネスグループ内のアセットを表示、作成、およびダウンロードできるようにします。この権限を持つユーザーは、「Exchange Contributors (Exchange コントリビュータ)」および「Exchange Viewers (Exchange 閲覧者)」権限を持つユーザーとすべて同じアクセス権があり、アセットを別のユーザーと共有したり、アセットを非推奨にしたり、アセットを削除したりできます。この権限を使用して、特定のビジネスグループ内のすべてのアセットに対して Exchange Administrators (Exchange 管理者) をセットアップします。 Exchange Creator (Exchange 作成者) ユーザーがビジネスグループのカタログ内でアセットを新規作成できるが、ビジネスグループの他のユーザーが作成したアセットまたはアセットバージョンを変更することはできないようにします。この権限を持つユーザーがアセットを作成すると、作成したアセットに対するアセット管理者ロールが自動的に割り当てられます。アセット管理者ロールにより、これらのユーザーは自分が作成したアセットのみ変更できます。この権限を使用して、このユーザーが作成したアセット以外のアセットの変更を禁止すると同時に、ビジネスグループの全チームのすべての開発者が Exchange でアセットを新規作成できるようにします。 接続アプリケーションの場合、環境は異なります。アセットが接続アプリケーションを使用して作成されている場合、アセット管理者ロールが接続アプリケーションのオーナーに付与されます。接続アプリケーションと「Exchange Creator (Exchange 作成者)」権限を使用して、既存のアセットの新規バージョンを作成することはできません。 ## [](#アセット権限)アセット権限 個々のアセットへのアクセスを制御するには、アセット権限のロールグループにユーザーまたはチームを追加します。 次の権限は、ユーザーにビジネスグループレベルで割り当てられた権限に加えて、アセットに対してもアクセス権を拡大します。 Asset Viewers (アセット閲覧者) ユーザーがアセットを表示およびダウンロードできるようにします。この権限を持つユーザーは、アセットポータルコンテンツの編集または他のユーザーとのアセットの共有を行うことはできません。この権限を使用して、アセットを表示およびダウンロードするビジネスグループ外のユーザーを招待します。 Asset Contributors (アセットコントリビュータ) ユーザーがアセットの表示、新規バージョンの追加、およびダウンロードを行えるようにします。この権限を使用して、アセットのポータルコンテンツを表示、ダウンロード、追加、および編集するビジネスグループ外のユーザーを招待します。 Asset Administrators (アセット管理者) ユーザーがアセットを表示、作成、ダウンロード、非推奨化、削除できるようにします。この権限を持つユーザーは、「Exchange Administrators (Exchange 管理者)」権限を持つユーザーと同じアクセス権がありますが、1 つのアセットのみに限られます。この権限は、デフォルトでアセット作成者に割り当てられます。この権限を使用して、アセットに対する管理者権限をその他のユーザーにまで拡大します。 ## [](#exchange-権限の概要)Exchange 権限の概要
権限 表示 アクション

Exchange Viewers (Exchange 閲覧者)

ビジネスグループ内のすべてのアセット。

表示、ダウンロード

Exchange Contributors (Exchange コントリビュータ)

ビジネスグループ内のすべてのアセット。

表示、ダウンロード、ポータルの編集

Exchange Administrators (Exchange 管理者)

ビジネスグループ内のすべてのアセット。

表示、ダウンロード、ポータルの編集、削除、共有、アセットバージョンの非推奨化、API インスタンスの管理

Exchange Creator (Exchange 作成者)

ビジネスグループ内でこのユーザーが作成したアセットのみ。

表示、ダウンロード、アセットの編集、共有、API インスタンスの管理、削除

Asset Viewers (アセット閲覧者)

任意のビジネスグループ内の特定のアセット。

表示、ダウンロード

Asset Contributors (アセットコントリビュータ)

任意のビジネスグループ内の特定のアセット。

表示、ダウンロード、ポータルの編集

Asset Administrators (アセット管理者)

任意のビジネスグループ内の特定のアセット。

表示、ダウンロード、ポータルの編集、削除、共有、アセットバージョンの非推奨化、API インスタンスの管理

- Exchange Viewers (Exchange 閲覧者) は、ビジネスグループ内の表示権限があり、アセットの表示およびダウンロードが可能です。 - Exchange Contributors (Exchange コントリビュータ) は、ビジネスグループ内の表示権限があり、アセットの表示およびダウンロードが可能です。この権限は、 アセットの説明を編集することもできます。 - Exchange Administrators (Exchange 管理者) は、ビジネスグループ内の表示権限があり、アセットの表示、ダウンロード、説明の編集、非推奨化、削除、および共有が可能です。 - Exchange Creator (Exchange 作成者) は、ビジネスグループ内の表示権限があり、所有するアセットのみの表示、ダウンロード、説明の編集、非推奨化、削除、および共有が可能です。 - Asset Viewers (アセット閲覧者) は、ビジネスグループ内のアセットの表示権限があり、アセットの表示およびダウンロードが可能です。 - Asset Contributors (アセットコントリビュータ) は、ビジネスグループ内のアセットの表示権限があり、アセットの表示およびダウンロードが可能です。この権限は、 アセットのコンテンツを編集することもできます。 - Asset Administrators (アセット管理者) は、ビジネスグループ内のアセットの表示権限があり、アセットの表示、ダウンロード、コンテンツの編集、非推奨化、削除、および共有が可能です。 # ワークフロー: アセットのパブリッシュ Anypoint Exchange では、非公開 Exchange インスタンスおよび Exchange 公開ポータルでアセットをパブリッシュできます。公開とは、アセットを作成し、コンシューマーが発見して再利用できるようにするプロセスです。 1. [アセットの作成](https://docs.mulesoft.com/jp/exchange/to-create-an-asset)​ - Exchange で新規アセットを作成します。 2. [アセットの説明](https://docs.mulesoft.com/jp/exchange/to-describe-an-asset)​ - 説明、追加ページ、契約条件、タグを追加し、バージョンを変更します。 3. [アセットライフサイクル状態の管理](https://docs.mulesoft.com/jp/exchange/lifecycle)​ - アセットのライフサイクル状態のプロモーションパスを管理します。 4. [バージョンの管理](https://docs.mulesoft.com/jp/exchange/manage-versions)​ - アセットのバージョンの詳細の表示、アセットのバージョンの追加、バージョンのライフサイクル状態の変更、バージョンの削除を行います。 5. [アセットポータルのリソースの管理](https://docs.mulesoft.com/jp/exchange/to-manage-asset-portal-resources)​ - Exchange Experience API を使用してアセットポータルでリソースをリスト、取得、削除します。 6. [REST API のデータのシミュレーション](https://docs.mulesoft.com/jp/exchange/ex2-to-simulate-api-data)​ - モッキングサービスを使用して、シミュレーションデータで OAS または RAML REST API をテストします。 7. [アセットのダウンロード](https://docs.mulesoft.com/jp/exchange/to-download-an-asset)​ - アセットをコンピューターにコピーします。 8. [カテゴリの管理](https://docs.mulesoft.com/jp/exchange/to-manage-categories)​ - アセットをカテゴリに分類します。 9. [カスタム項目の管理](https://docs.mulesoft.com/jp/exchange/to-manage-custom-fields)​ - Exchange 管理者と組織のオーナーは、カスタム項目を作成して Exchange アセットメタデータモデルを拡張し、カスタムデータを任意のタイプのアセットに追加できます。 10. [アセットの削除](https://docs.mulesoft.com/jp/exchange/to-delete-asset)​ - アセットを削除します。 11. [RAML バージョンの変更](https://docs.mulesoft.com/jp/exchange/to-change-raml-version)​ - RAML アセットのバージョンを更新します。 12. [HTTP API アセットのパブリッシュ](https://docs.mulesoft.com/jp/exchange/publish-an-http-api)​ - 非公開 Exchange を使用する場合、HTTP API を使用してエンドポイントのプレースホルダーを指定します。 13. [パブリッシュしたポリシー定義へのポリシー実装ファイルの追加](https://docs.mulesoft.com/jp/exchange/add-policy-implementation-files-to-published-policy-definition)​ - ポリシー定義をパブリッシュした場合、実装ファイルを追加して実行時にポリシーを使用できるようにします。 14. [FAQ](https://docs.mulesoft.com/jp/exchange/exchange2-faq)​ - よくある質問。 ## [](#関連情報)関連情報 - ​[API 管理](https://docs.mulesoft.com/jp/exchange/about-api-use)​ - プログラムでアセットをパブリッシュします。 # 使用量とエンゲージメントのメトリクス Exchange で、管理者とアセットのオーナーは API 仕様フラグメントおよび REST API アセットの消費やユーザーエンゲージメントに関するインサイトを取得できます。 使用量メトリクスでは、以下が測定されます。 - アセットが Exchange からダウンロードされた回数。 - API Designer からのインポート数。 - Anypoint Studio からのインポート数。 - アセットの連動の数。 - アセットのコントラクトの数。 アセットエンゲージメントスコアは、管理者やアセットのオーナーが Exchange でアセットの使用量を測定するために使用できる複合メトリクスです。 管理者は組織の API 仕様フラグメントおよび REST API アセットのメトリクスの ​**\[Usage and engagement metrics (使用量とエンゲージメントのメトリクス)\]**​ ダッシュボードを表示できます。管理者や Exchange コントリビューター権限を持つアセットオーナーはアセット詳細ページから特定のアセットバージョンの使用量とエンゲージメントのメトリクスを表示できます。メトリクスを CSV ファイルにエクスポートしてデータを共有できます。 Exchange アセットでは、次の目的で使用量とエンゲージメントのメトリクスを取得します。 - 成長やエンゲージメント、カタログ全体でのアセットの再利用を促す。 使用量メトリクスとエンゲージメントスコアにアクセスして、アセットの利用に関する複合ビューを取得できます。 - 標準ダッシュボードを使用してアセットの採用を追跡して管理する。 アセットライブラリ全体のパフォーマンス分析を 1 つの場所で表示できます。 ## [](#権限とライセンスの要件)権限とライセンスの要件 使用量とエンゲージメントのメトリクスを表示するには、次の権限とライセンスが必要です。 - 管理者が ​**\[Usage and engagement metrics (使用量とエンゲージメントのメトリクス)\]**​ ダッシュボードを表示するには、任意の組織の Exchange 管理者ロール権限が必要です。 - 管理者やアセットオーナーがアセット詳細ページで特定の API 仕様フラグメントおよび REST API アセット、およびそのバージョンの使用量の詳細を表示するには、コントリビューター権限が必要です。 - Industry Starter ライセンスを除き、すべての顧客階層ライセンスでメトリクスを表示できます。 ## [](#関連情報)関連情報 - [アセットの使用量とエンゲージメントのメトリクスダッシュボード](https://docs.mulesoft.com/jp/exchange/asset-usage-and-engagement-metrics-dashboard) - [特定のアセットとバージョンのメトリクス](https://docs.mulesoft.com/jp/exchange/metrics-for-a-specific-asset-version) # 公開ポータルのバニティドメイン このドキュメントには、バニティドメインを使用して組織の公開ポータルをセットアップする手順と必要な NGINX 設定が含まれています。 ## [](#ドメインを登録する)ドメインを登録する 公開ポータルドメインは、Exchange で登録する必要があります。公開ポータルのドメインを登録する手順は、次のとおりです。 1. ルート組織で組織の管理者権限を持つ Anypoint Platform ユーザーアカウントからアクセストークンを取得します。 ```console ACCESS_TOKEN=$(curl https://anypoint.mulesoft.com/accounts/login -XPOST -d "username=YOUR_USERNAME&password=YOUR_PASSWORD" | jq -r ".access_token") ``` 2. アクセストークンを使用して、カスタムドメインを登録します。 ```console curl https://anypoint.mulesoft.com/exchange/api/v2/portals/YOUR_ORGANIZATION_DOMAIN/domain -XPUT -d your.custom.domain -H "content-type: text/plain" -H "authorization: bearer $ACCESS_TOKEN" ```
この手順に従わないと、ポータルにログインできなかったり、認証が必要なアクションを実行できなくなったりします。
## [](#リバースプロキシをセットアップする)リバースプロキシをセットアップする リバースプロキシを使用すると、ユーザーは MuleSoft サイトと同様にバニティドメインサイトにアクセスして操作できます。たとえば、​`https://anypoint.mulesoft.com/exchange/portals/robo-cop/`​ とまったく同じように ​`https://developers.robocop.com/path/of/justice/`​ にアクセスして操作できます。 これは、特定のドメインへの要求を Anypoint Platform に再転送する [リバースプロキシ](https://en.wikipedia.org/wiki/Reverse_proxy)​を使用して達成できます。次のセクションでは、リバースプロキシを適切に実装するために必要な最小限の NGINX 設定ルールの例を示します。 Apache、コンテンツ配信ネットワーク (CDN) など、NGINX 以外のサーバーでリバースプロキシをセットアップできます。現在の Web サーバーの実装に必要な特定の設定は多少異なる可能性がありますが、ルールは同じ方法で実装する必要があります。 ### [](#一般的な設定)一般的な設定 ポータルのバニティドメイン設定用の基本リバースプロキシをセットアップするには、ルートマッピングとカスタムヘッダーをセットアップします。 #### [](#ルートマッピング)ルートマッピング `shared`​、​`icons`​、​`exchange/api-console`​、および ​`node_modules`​ の静的リソースルートマッピングをセットアップします。ポータルパスに関係なく、これらのルートはルートレベルにある必要があります。 例: - `https://developers.robocop.com/shared`​ から ​`https://anypoint.mulesoft.com/shared`​ へのルート。 - `https://developers.robocop.com/icons`​ から ​`https://anypoint.mulesoft.com/icons`​ へのルート。 - `https://developers.robocop.com/node_modules`​ から ​`https://anypoint.mulesoft.com/node_modules`​ へのルート。 - `https://developers.robocop.com/exchange/api-console`​ から ​`https://anypoint.mulesoft.com/exchange/api-console`​ へのルート。 `callback`​ から ​`https://anypoint.mulesoft.com/exchange/portals/YOUR_ORGANIZATION_DOMAIN/callback`​ へのルート。 例: - `https://developers.robocop.com/callback`​ から ​`https://anypoint.mulesoft.com/exchange/portals/robo-cop/callback`​ へのルート。 すべてのポータルトラフィックを Anypoint Platform に転送します。これは、ポータルパスによって異なります。ポータルパスは任意のパスにすることができます。この例のポータルパスは ​`path/of/justice/`​ です。 例: - `https://developers.robocop.com/path/of/justice/`​ ​**_(およびこのパスの下位のすべてのルート)_**​ から ​`https://anypoint.mulesoft.com/exchange/portals/robo-cop/`​ へのルート。 #### [](#カスタムヘッダー)カスタムヘッダー 上記の各ルートにヘッダーを追加します。 - `X-Forwarded-Path`​ は、バニティドメインの公開ポータル URL のベースパスです (​`/path/of/justice/`​ など)。 このパスは、スラッシュ (​`/`​) で開始して終了する任意のパスです。1 つのスラッシュ (​`/`​) で表されるルートパスにすることもできます。バニティドメインのポータルのベースパスは、anypoint.mulesoft.com ドメインのポータルのベースパスと一致している必要はありません。 - `X-Forwarded-Host`​ は、公開ポータルのバニティドメインです (​`developers.robocop.com`​ など)。 ### [](#nginx-の使用)NGINX の使用 ```console location ~ /(shared|node_modules|icons|exchange/api-console) { proxy_set_header X-Forwarded-Host $http_host; proxy_set_header X-Forwarded-Path ${PUBLIC_PORTAL_PATH}; proxy_pass ${ANYPOINT_BASE_URL}; } location /callback { proxy_set_header X-Forwarded-Host $http_host; proxy_set_header X-Forwarded-Path ${PUBLIC_PORTAL_PATH}; proxy_pass ${ANYPOINT_BASE_URL}/exchange/portals/${ORGANIZATION_DOMAIN}/callback; } location ${PUBLIC_PORTAL_PATH} { proxy_set_header X-Forwarded-Host $http_host; proxy_set_header X-Forwarded-Path ${PUBLIC_PORTAL_PATH}; proxy_pass ${ANYPOINT_BASE_URL}/exchange/portals/${ORGANIZATION_DOMAIN}/; } ``` 次のようにセットアップします。 ```console ${PUBLIC_PORTAL_PATH}: Your custom path. Must end with a forward slash "/". ${ANYPOINT_BASE_URL}: Anypoint Platform URL for the desired region. ${ORGANIZATION_DOMAIN}: Your organization's domain in Anypoint Platform. ``` たとえば、Anypoint Platform ドメインが ​`robo-cop`​ の ​`Robocop`​ 組織公開ポータルを ​`developers.robocop.com/path/of/justice/`​ で実行するとします ```console ${PUBLIC_PORTAL_PATH}: /path/of/justice/ ${ANYPOINT_BASE_URL}: https://anypoint.mulesoft.com ${ORGANIZATION_DOMAIN}: robo-cop ```
サーバーは ​https​ を使用して実行する必要があります。
適切にセットアップすれば、​`https://anypoint.mulesoft.com/exchange/portals/robo-cop/`​ とまったく同じように ​`https://developers.robocop.com/path/of/justice/`​ にアクセスして操作できます。 ## [](#ドメインの-cookie-同意管理を設定する)ドメインの Cookie 同意管理を設定する バニティドメインを使用しない Exchange 公開ポータルでは、提供される ​[Cookie 同意マネージャー](https://docs.mulesoft.com/jp/exchange/cookies)​を使用することができます。 バニティドメインが設定されてサイトが機能するようになったら、カスタマーサポートに連絡して次の情報を提供し、Cookie 同意管理をアクティブ化します。 - 組織のドメイン (例: `robo-cop`​) - 登録済みドメイン (例: `developers.robocop.com`​) カスタマーサポートから、最近登録したバニティドメインの ​`COOKIE_CONSENT_ID`​ が提供されます。この ​`COOKIE_CONSENT_ID`​ を他のバニティドメインに転送することはできません。 ### [](#cookie-同意-id-を登録する)Cookie 同意 ID を登録する ドメインを登録したときに取得したトークンを使用して、​`COOKIE_CONSENT_ID`​ を登録する必要があります。 ```console curl https://anypoint.mulesoft.com/exchange/api/v2/portals/YOUR_ORGANIZATION_DOMAIN/cookieConsentId -XPUT -d COOKIE_CONSENT_ID -H "content-type: text/plain" -H "authorization: bearer $ACCESS_TOKEN" ``` `COOKIE_CONSENT_ID`​ を登録したら、バニティドメインを使用してポータルを入力します。ナビゲーションバーに \[Cookie Preferences (Cookie 設定)\] ボタンが表示されます。 `COOKIE_CONSENT_ID`​ が登録済みドメインにリンクされます。ドメインを変更する場合、これらの手順を繰り返して、新しいドメインの Cookie 同意管理を設定します。 ## [](#関連情報)関連情報 - [MuleSoft フォーラム](https://forums.mulesoft.com) - [知識ベース記事](https://help.mulesoft.com/s/knowledge) # 公開ポータルのリソースの管理 公開ポータルには最大 100 個のリソースをアップロードできます。各画像は 1 つのリソースです。さらに追加しようとするとエラーが発生します。数を減らすためにリソースを削除してから制限数まで追加できます。 以下の例は、Exchange Experience API を使用して公開ポータルでリソースをリスト、取得、削除する方法を示しています。 ## [](#認証)認証 Anypoint Platform にログインし、認証トークンを取得します。すべての要求をヘッダー ​`Authorization: bearer ACCESS_TOKEN`​ で開始します。 ```console ACCESS_TOKEN=$(curl https://anypoint.mulesoft.com/accounts/login \ -XPOST -d "username=YOUR_USERNAME&password=YOUR_PASSWORD" | \ jq -r ".access_token") ``` ## [](#api-の使用)API の使用 すべてのリソースのリスト方法: ```console curl https://anypoint.mulesoft.com/exchange/api/v2/portals/:organizationDomain/draft/resources \ -H 'Authorization: bearer YOUR_ACCESS_TOKEN' ``` 特定のリソースの取得方法: ```console curl https://anypoint.mulesoft.com/exchange/api/v2/portals/:organizationDomain/draft/resources/:resourceId \ -H 'Authorization: bearer YOUR_ACCESS_TOKEN' ``` 特定のリソースの削除方法: ```console curl -X DELETE \ https://anypoint.mulesoft.com/exchange/api/v2/portals/:organizationDomain/draft/resources/:resourceId \ -H 'Authorization: bearer YOUR_ACCESS_TOKEN' ``` 次のようにセットアップします。 organizationDomain: 組織のドメイン resourceId: 画像ファイル名。 # 公開ポータルの有効化と無効化 Exchange のすべての公開ポータルはデフォルトで有効化されています。ポータルにサインインしてアセットを表示し、新しいアセットを共有できます。有効化されたポータルでは、アセットの詳細を表示したり仕様をダウンロードしたりするために認証が必要ありません。ポータルを公開して共有することを希望しない場合は、手動で無効化できます。公開ポータルを有効化または無効化するには Exchange 管理者である必要があります。 公開ポータルが有効か無効かを判断するには、次の要求を使用します。 curl "https://anypoint.mulesoft.com/exchange/api/v2/portals/YOUR\_ORGANIZATION\_DOMAIN/status" ## [](#公開ポータルを有効化する)公開ポータルを有効化する 組織の公開ポータルの使用とアセットの公開と共有を開始するには、ポータルを有効化する必要があります。 1. ルート組織で組織の管理者権限を持つ Anypoint Platform ユーザーアカウントからアクセストークンを取得します。 ```console ACCESS_TOKEN=$(curl https://anypoint.mulesoft.com/accounts/login -XPOST -d "username=YOUR_USERNAME&password=YOUR_PASSWORD" | jq -r ".access_token") ``` 2. アクセストークンを使用して組織の公開ポータルの状況を有効に変更します。 curl -X PUT https://anypoint.mulesoft.com/exchange/api/v2/portals/YOUR\_ORGANIZATION\_DOMAIN/status -d "enabled" -H "content-type: text/plain" -H "authorization: bearer $ACCESS\_TOKEN" ## [](#公開ポータルを無効化する)公開ポータルを無効化する アセットに関する情報を公開して共有することを希望しない場合は、公開ポータルを無効化します。 **注意**​: 組織の公開ポータルを無効化するには、公開ポータルで共有されるすべてのアセットを非公開に設定する必要があります。手順は、​[「公開ポータルからアセットを削除する」](https://docs.mulesoft.com/jp/exchange/to-share-api-asset-to-portal#remove-an-asset-from-a-public-portal)​を参照してください。 公開ポータルで共有されているアセットを表示するには、次の要求を使用します。 ```console curl 'https://anypoint.mulesoft.com/exchange/api/v2/portals/YOUR_ORGANIZATION_DOMAIN/assets' | jq '.[] | [.groupId,.assetId]' ``` 公開ポータルを無効化する手順は、次のとおりです。 1. すべてのアセットが非公開であることを確認します。 2. ルート組織で組織の管理者権限を持つ Anypoint Platform ユーザーアカウントからアクセストークンを取得します。 ```console ACCESS_TOKEN=$(curl https://anypoint.mulesoft.com/accounts/login -XPOST -d "username=YOUR_USERNAME&password=YOUR_PASSWORD" | jq -r ".access_token") ``` 3. 次のアクセストークンを使用して組織の公開ポータルの状況を無効に変更します。 ```console curl -X PUT https://anypoint.mulesoft.com/exchange/api/v2/portals/YOUR_ORGANIZATION_DOMAIN/status -d "disabled" -H "content-type: text/plain" -H "authorization: bearer $ACCESS_TOKEN" ``` ## [](#関連情報)関連情報 - [Exchange 公開ポータルのカスタマイズ](https://docs.mulesoft.com/jp/exchange/to-customize-portal) # 公開ポータルへの API のパブリッシュ 組織の公開ポータルを使用して、組織内外の開発者が表示および使用するための API アセットをパブリッシュします。 公開ポータルは、ポータルの URL を使用するすべてのユーザーに表示されます。公開ポータルの URL は ​`https://anypoint.mulesoft.com/exchange/portals/Domain_Name/`​ で始まります。 `Domain_Name`​ は、Anypoint アクセス管理の ​[**\[Organization (組織)**](https://docs.mulesoft.com/jp/access-management/organization#organization-page)​ ページ\]​に表示されるドメイン名に置き換えます。 ## [](#アセットパブリッシュを制御する権限)アセットパブリッシュを制御する権限 組織の Exchange 管理者は、公開ポータルにアセットを追加したり、公開ポータルからアセットを削除したりします。 「Exchange Administrator (Exchange 管理者)」権限をユーザーに付与するか、Anypoint アクセス管理を使用してユーザーの権限を失効させたりします。 詳細は、​[「ユーザーアクセス権限の設定」](https://docs.mulesoft.com/jp/exchange/to-set-permissions)​を参照してください。 ## [](#公開ポータルにアセットを追加する)公開ポータルにアセットを追加する アセットをポータルに追加して公開する手順は、次のとおりです。 ポータルにアセットを追加しても、アセットは削除されません。引き続き内部で使用することができます。 1. API アセットを選択して詳細を表示します。 2. **\[Share (共有)\]**​ をクリックして ​**\[Public - Publish it on the public portal (公開 - 公開ポータルでパブリッシュ)\]**​ を選択します。 3. 公開ポータルでパブリッシュするアセットのバージョンを選択します。 4. **\[保存\]**​ を選択します。 何も起こらない場合は、ブラウザーを更新して再度ログインし、アセットを追加し直します。 ## [](#公開ポータルからアセットを削除する)公開ポータルからアセットを削除する ポータルからアセットを削除して非公開にする手順は、次のとおりです。 ポータルからアセットを削除しても、アセットは削除されません。アセットは引き続き内部で使用することができます。 1. Exchange でアセットを選択して ​**\[Share (共有)\]**​ をクリックします。 2. **\[Public - Publish it on the public portal (公開 - 公開ポータルでパブリッシュ)\]**​ を選択します。 3. バージョンのチェックボックスをオフにします。 アセットのバージョンが ​**\[Private (非公開)\]**​ に設定されます。 4. **\[保存\]**​ を選択します。 5. Exchange で、ブラウザー画面を更新します。 アセットの ​**\[Overview (概要)\]**​ の ​**\[Visibility (表示)\]**​ 設定が ​**\[Private (非公開)\]**​ になります。 ## [](#関連情報)関連情報 - [公開ポータル](https://docs.mulesoft.com/jp/exchange/about-portals) - [ユーザーアクセス権限の設定](https://docs.mulesoft.com/jp/exchange/to-set-permissions) # 従来の検索環境 以前は古い検索と呼ばれていた従来の検索環境は、Anypoint Platform Private Cloud Edition、MuleSoft Government Cloud、US クラウド、EU クラウドで使用できます。この検索環境には、ランク、組織、ライフサイクル状態を基準にした検索の拡張オプションは含まれません。Exchange にログインしている場合は、拡張検索がデフォルトの検索環境となります。 従来の検索にアクセスするには、ランディングページで ​**\[Back to legacy search (従来の検索に戻る)\]**​ ボタンをクリックします。 ## [](#リストまたはグリッドビューでのアセットの表示)リストまたはグリッドビューでのアセットの表示 アセットのカタログをリストで表示するかグリッドビューで表示するかを選択できます。リストビューではアセットがリスト形式で配置され、グリッドビューではアセットがタイルに表示されます。どちらのビューでもアセット名、種別、評価、作成者の情報が表示されます。 ## [](#検索結果の絞り込み)検索結果の絞り込み **\[All types (すべてのタイプ)\]**​ ドロップダウンメニューからオプションを選択することで、アセットタイプ (たとえば、API グループ、REST API、ルールセット) 別に検索結果を絞り込むことができます。表示されるオプションは、組織内で使用できるタイプに応じて異なります。 ## [](#組織での検索)組織での検索 現在表示している Exchange 組織でのみ検索を行うことができます。非公開 Exchange 組織を表示している場合、検索にはその組織のアセットのみがリストされ、MuleSoft の公開アセットはリストされません。 ## [](#検索を保存する)検索を保存する 特定のアセットをすばやく見つけ出すために、頻繁に使用する検索条件を保存できます。 1. 検索語を入力して ​**\[Save This Search (この検索を保存)\]**​ をクリックします。 2. 要求されたら、検索に名前を付けて検索を組織検索にするか個人検索にするかを選択します。 管理者は、現在のビジネスグループの全員に表示される検索を保存できます。個人用の検索は、その作成者にのみ表示されます。 3. 検索を保存します。 4. 検索が左側のナビゲーションバーの保存された検索に表示されることを確認します。 ビジネスグループに固有の検索語と作成した保存済み検索がリストされます。 ![保存した検索グループ](/mulesoft/current/ja-jp/exchange/_images/ex2-saved-searches-groups.png) ## [](#api-仕様の検索)API 仕様の検索 検索で使用される次の API 仕様プロパティを使用できます。 - API タイトル - ベース URI - エンドポイント - パス - 表示名 - 説明 - メソッド - メソッドのタイプ (GET、POST、PUT) - 説明 - クエリパラメーター - Name (名前) - 説明 - URI パラメーター - Name (名前) - 型 - 名前 - プロパティ - 特性 - プロパティ - セキュリティスキーム これらのプロパティ名は RAML 仕様に基づきます。OAS 仕様では、同等のプロパティにインデックスが付けられています。たとえば、RAML ではベース URI を使用しますが、OAS ではホストとパスを使用します。 次の例は、API 仕様を示しています。 ```text #%RAML 1.0 --- title: Leagues API version: v1 baseUri: https://leagues.com/api/ types: Team: properties: name: string city: string /leagues/{leagueId}: displayName: League resource description: Contains all the information about a league uriParameters: leagueId: displayName: League ID description: The ID of the league to retrieve information from /teams: get: displayName: Teams directory description: Get list of all teams in the league queryParameters: offset: displayName: Offset description: Offset for the result set responses: 200: body: application/json: type: Team[] post: displayName: Create team description: Creates a new team in the league responses: 201: description: New team has been created ``` これらの検索結果には次の API が含まれます。
検索語 一致

league API

API タイトル

leagues.com

API ベース URI

/leagues

エンドポイントパス

League resource

エンドポイントの表示名

Information about a league

エンドポイントの説明

POST

エンドポイントのメソッド

create team

エンドポイントのメソッドの説明

offset

クエリパラメーター名、クエリパラメーターの説明

leagueid

URI パラメーター名

team

型名

city

型のプロパティ名

leagues leagueId teams

エンドポイントパス

/leagues/LEAGUE_ID/teams

エンドポイントパス

検索の前に特殊文字は削除されるので、最後の 2 つの検索は同じです。 ## [](#語句の検索)語句の検索 単語間にスペースを入れることで、指定した各単語で始まる大文字と小文字が区別されないテキストを検索できます。これは、各単語の後に ​`*`​ ワイルドカード正規表現を追加する場合と似ています。たとえば、​`mq module`​ を検索すると、​`mq`​ または ​`module`​ で始まるテキストが含まれるアセットが検索されます。 複数語の語句を検索すると、語句内のすべての単語を含むアセットが表示されます。 検索語をスペース以外の英数文字以外の文字で区切ると、検索前に Anypoint Exchange によってその文字がスペースに変換されます。 ### [](#区切り文字の検索)区切り文字の検索 この検索環境では、区切り文字を使用して 1 つ以上の語句が含まれる Exchange アセットを見つけます。 英数字以外の記号で連結された検索語を入力すると、その用語の検索前に Exchange によって記号がスペースに置き換えられます。検索文字列は、両方の単語が結果に含まれている場合にのみ一致します。結果は、​`word1 AND word2`​ のリレーションを使用した場合と同じです。 検索語の例: ```text sales:connect Sales-Connect connect:/sales -connect -sales ``` 次の表に、アセットのアセット名、アセット ID、およびタグの値に基づいて各検索語がどのように解釈されるかを示します。検索語が値に正しくマップされている場合に一致します。正しくマップされていない場合は、一致しなかったときに理由が表示されます。
アセット名 アセット ID タグ 一致?

Salesforce API

salesforce-api

mule-Connector

はい

Salesforce Connector

salesforce-connector

REST

はい

Validations API

validations-api

salesforce-connecting

はい

Optimized API

optimized-api

resource:/connect、salesforce:enabled

はい

Cisco Sales API

cisco-sales-api

Connecting, Productive

はい

Cisco Connector

cisco-connector

com.cisco.connector.sales

はい。タグが個別の用語に分割されているため。

Salesforce API

salesforce-api

muleconnector, MuleConnector

いいえ。 connect​ が見つかりませんでした。

Salesforce Connect

salesforce-connector

REST

いいえ。 connect​ が見つかりませんでした。

Validations API

validations-api

コネクタ

いいえ。 sales​ が見つかりませんでした。

Cisco Presales API

cisco-presales-api

Connector, api

いいえ。 sales​ が見つかりませんでした。

### [](#語句検索の区切り文字)語句検索の区切り文字 語句検索を使用して引用符で囲まれた用語のグループを見つけます。語句検索は、引用符内のすべての完全一致用語が順序どおりに表示される場合にのみアセットと一致します。 Exchange で次の検索を入力した場合、アセットの検索前に Exchange によって英数字以外の記号がスペースに置き換えられます。 検索語の例: ```text Api: "Sales connect" Api "Sales-connect" Api "Sales:/connect" Api-"Sales/connect" "Sales connect":Api ``` 次の表に、アセットのアセット名、アセット ID、およびタグの値に基づいて各検索語がどのように解釈されるかを示します。検索語が値に正しくマップされている場合に一致します。正しくマップされていない場合は、一致しなかったときに理由が表示されます。
アセット名 アセット ID タグ 一致?

Salesforce API

salesforce-api

mule-Connector

いいえ。 sales connect​ が見つかりませんでした。

Salesforce Connector

salesforce-connector

REST

いいえ

Sales Connect Asset

validations-api

mule-connector

はい

Sales Connect Images

validations-images

mule-connector

いいえ。 api​ が見つかりませんでした。

Optimized API

optimized-api

resource:/connect、sales:enabled

いいえ。 sales connect​ が見つかりませんでした。

Optimized API

optimized-api

resource:/sales、connect:enabled

いいえ。 各用語は異なるタグ内にあるため、​sales connect​ が見つかりませんでした。

Optimized API

optimized-api

sales:/connect

はい

## [](#型タグカテゴリカスタム項目を基準にした検索)型、タグ、カテゴリ、カスタム項目を基準にした検索 **\[Search assets (アセットを検索)\]**​ ボックスに検索キーワードを入力して、アセットを検索できます。 **\[All Types (すべてのタイプ)\]**​ をクリックして特定のアセットタイプの検索条件を設定したり、検索テキストを ​**\[Types (タイプ)\]**​ メニューにリストされた検索条件と組み合わせたりできます。 この検索環境では、クエリ言語を使用してタグ、カテゴリ、カスタム項目を基準にアセットを検索します。 ### [](#タグで検索)タグで検索 `tag:"some value"`​ または ​`tag:value`​ を使用してタグを基準に検索できます。 値にスペースが含まれていない場合、二重引用符は省略可能です。 タグ検索では大文字と小文字が区別されません。 例:
検索 タグ 一致?

tag:"some value"

some value

はい

tag:"some value"

value

いいえ

tag:"value"

value

はい

tag:value

value

はい

tag:VALUE

value

はい

tag:VaLuE

value

はい

tag:value

val

いいえ

### [](#カテゴリで検索)カテゴリで検索 `category:"some key" = "some value"`​ を使用してカテゴリを基準に検索できます。 カテゴリでキーまたは値にスペースが含まれていない場合、二重引用符は省略可能です。 キーにアスタリスク (​`*`​) 正規表現を含めて、カテゴリ名内の文字を検索できます。 キーは大文字と小文字が区別されます。 次のいずれかの条件を満たす場合、検索値はアセット値に一致します。 - 検索値がすべて小文字である。 - 検索値とアセット値の文字種が一致する。 例:
検索 カテゴリ 一致?

category:my-key = my-value

my-key:my-value

はい

category:my-key = MY-VALUE

my-key:MY-VALUE

はい

category:my-key = my-value

my-key:MY-VALUE

はい

category:"my key" = "my value"

my key:my value

はい

category:"key" = "value"

my key:my value

いいえ

category:key = value

my-key:my-value

いいえ

category:this.* = value

this.is.my.key:value

はい

category:*my.key = value

this.is.my.key:value

はい

category:this.* = value

this.is.my.key:some-value

いいえ

category:this.* = some-*

this.is.my.key:some-value

いいえ

異なるカテゴリの組み合わせを検索できます。同じカテゴリの複数の値は検索できません。 複数の検索語には暗黙的な ​`AND`​ を使用します。​`OR`​ はサポートされていません。 次の検索語では、System API と Salesforce 製品の両方としてマークされたすべてのアセットが返されます。 `category:"API Type" = "System API" category:"Product" = "Salesforce"` ### [](#カスタム項目で検索)カスタム項目で検索 `field:"some key" = "some value"`​ を使用して項目を基準に検索できます。 カスタム項目でキーまたは値にスペースが含まれていない場合、二重引用符は省略可能です。 キーにアスタリスク (​`*`​) 正規表現を含めて、項目名内の文字を検索できます。 キーは大文字と小文字が区別されます。 次のいずれかの条件を満たす場合、検索値はアセット値に一致します。 - 検索値がすべて小文字である。 - 検索値とアセット値の文字種が一致する。 例:
検索 項目 一致?

field:my-key = my-value

my-key:my-value

はい

field:my-key = MY-VALUE

my-key:MY-VALUE

はい

field:my-key = my-value

my-key:MY-VALUE

はい

field:my-key = My-ValUe

my-key:MY-VALUE

いいえ

field:MY-KEY = my-value

my-key:my-value

いいえ

field:my-key = 10

my-key:10

はい

field:"my key" = "my value"

my key:my value

はい

field:"key" = "value"

my key:my value

いいえ

field:key = value

my-key:my-value

いいえ

field:this.* = value

this.is.my.key:value

はい

field:*my.key = value

this.is.my.key:value

はい

field:this.* = value

this.is.my.key:some-value

いいえ

field:this.* = some-*

this.is.my.key:some-value

いいえ

# 手動での記述子ファイルの作成または更新

可能な場合は、Equality の会社の値に一致するように、含めない用語を変更しました。顧客の実装に対する影響を回避するために、一部の用語は変更されていません。

手動で記述子ファイルを作成または更新するには、UTF-8 文字エンコーディング形式を使用してファイルを保存する必要があります。記述子ファイルのエンコーディングが想定される API カタログ CLI のエンコーディングと一致しないと、エンコーディングの問題が発生する場合があります。
`create-descriptor`​ および ​`update-descriptor`​ コマンドは、カタログ化する API を識別し、カタログ化に必要な情報を出力します。記述子情報を追加する最も効率的なアプローチは、まず CLI を使用して記述子ファイルを作成または更新し、次に自動的に生成できない情報を使用して手動でファイルを更新することです。記述子 YAML スキーマに関する次の情報を使用して、何を追加するのかを決定します。 ## [](#descriptor-yaml)記述子 YAML スキーマ カタログ化する API を記述するために使用される YAML タグを次に示します。 ## [](#カタログ記述子行)カタログ記述子行 記述子ファイルは、次の行で始まる必要があります。記述子のバージョンは、実行する API カタログ CLI のバージョンに対応します。次の例は、API カタログ CLI 1.0.0 の必須の開始行を示しています。 * * * #%Catalog Descriptor 1.0 * * * ## [](#trigger-conditions)triggerConditions YAML ファイルの ​`triggerConditions`​ セクションでは、記述子ファイルで記述された API のどのセットをパブリッシュするのかを決定する条件を設定できます。このセクションを記述子ファイルに追加すると、​`--trigger-criteria`​ フラグの各トリガー条件の値が一致する ​`api-catalog publish-asset`​ コマンドが実行された場合にのみ API がパブリッシュされます。これにより、各分岐または環境の CI/CD スクリプトで同じ ​`api-catalog publish-asset`​ を使用し、コマンドにパラメーターを渡して、パブリッシュされる API を制御できます。 特定の API のトリガー条件や、記述子ファイルで記述されたすべての API (グローバル) のトリガー条件を設定できます。両方の条件種別が使用されている場合、特定の条件がグローバル条件よりも優先されます。 次に ​`triggerConditions`​ セクションの例を示します。 * * * triggerConditions: branches: - main - release/(.\*) tags: - support - release/(.\*) * * * 前の例では、​`api-catalog publish-asset`​ コマンドに次のすべての ​`--trigger-criteria`​ フラグ値がある場合にのみ、コマンドを実行して記述子ファイルで記述された API をパブリッシュできます。 - `branches`​ が ​`main`​ であるか、テキストに ​`release/`​ がある - `tags`​ が ​`support`​ であるか、テキストに ​`release/`​ がある `triggerConditions`​ セクションは、次のように ​`--trigger-criteria`​ フラグに一致します。 - グローバル ​`triggerConditions`​ セクションが記述子ファイルに含まれている場合、​`--trigger-criteria`​ フラグ値のすべてのトリガー条件が一致しない限り、​`api-catalog publish-asset`​ コマンドで API はパブリッシュされません。 - 特定の API の ​`triggerConditions`​ セクションが含まれている場合、​`--trigger-criteria`​ フラグ値のトリガー条件が一致した場合にのみ特定の API がパブリッシュされます。 - グローバルレベルと API レベルの両方のトリガー条件が含まれている場合、API レベルの条件がグローバルレベルの条件よりも優先されます。 `--trigger-criteria`​ フラグを使用する ​`publish-asset`​ コマンドの例については、​[「条件を使用してパブリッシュをトリガーする」](https://docs.mulesoft.com/jp/exchange/apicat-publish-using-api-catalog-cli#trigger-conditions)​を参照してください。 ## [](#version-strategy-conditions)versionStrategyConditions YAML ファイルの ​`versionStrategyConditions`​ セクションでは、記述子ファイルで記述された API のセットのバージョン戦略を決定できます。このセクションを記述子ファイルに追加すると、各バージョン戦略条件に一致する値を使用して、​`--version-strategy-criteria`​ フラグで ​`api-catalog publish-asset`​ コマンドが実行された場合に API のバージョン戦略が設定されます。これにより、各分岐または環境の CI/CD スクリプトで同じ ​`api-catalog publish-asset`​ を使用し、コマンドにパラメーターを渡して、パブリッシュされる API のバージョン戦略を制御できます。 特定の API のバージョン戦略や、記述子ファイルで記述されるすべての API (グローバル) のバージョン戦略を設定できます。両方の条件種別が使用されている場合、特定の条件がグローバル条件よりも優先されます。 次に ​`versionStrategyConditions`​ セクションの例を示します。 versionStrategyConditions: minorIncrease: branch: - main tags: - support snapshot: branch: - develop `versionStrategyConditions`​ セクションは、次のように ​`--version-strategy-criteria`​ フラグに一致します。 - `publish-asset`​ コマンドに設定された ​`--version-strategy-criteria`​ フラグが ​`versionStrategyConditions`​ と一致した場合、そのバージョン戦略が使用されます。 - グローバルレベルと API レベルの両方で ​`versionStrategyConditions`​ の一致がある場合、API レベルの条件がグローバルレベルの条件よりも優先されます。 - 一致する条件がない場合、記述子ファイルに ​`versionStrategy`​ オプションが設定されていれば、そのバージョン戦略が使用されます。 - `versionStrategy`​ オプションが設定されておらず、​`versionStrategyConditions`​ の一致がない場合は、デフォルトのバージョン戦略である ​`patchIncrease`​ が使用されます。 `--version-strategy-criteria`​ フラグを使用する ​`publish-asset`​ コマンドの例については、​[「条件を使用したバージョン戦略の設定」](https://docs.mulesoft.com/jp/exchange/apicat-publish-using-api-catalog-cli#versionStrategyConditions)​を参照してください。 ## [](#contact)contact スキーマの ​`contact`​ セクションには、自動カタログ化のために主連絡先の名前とメール ID が含まれます。何も含まれていない場合、これらはデフォルトの ​`unknown`​ になります。 ## [](#projects)projects スキーマの ​`projects`​ セクションには、カタログ化される API プロジェクトがカタログ化に必要な詳細と共にリストされます。 main API を記述する仕様ファイルの場所。 assetId Exchange でパブリッシュされるアセットの ID を指定します。 documentation ドキュメントページの名前と API のファイルの場所を指定するキー-値のペアのリスト。 これらのペアにより、Anypoint Platform のドキュメントページの順序が定義されます。 形式: <ドキュメントページの名前>:<ファイルの場所> このオプションが指定されていない場合、ドキュメントページはインポートされません。 categories カテゴリ名と値を指定するキー-値のペアのリスト。これらのペアは、Anypoint Platform 組織に存在するカテゴリに対して検証されます。 形式: <カテゴリ名>: <値> このオプションが指定されていない場合、カテゴリは追加されません。 customFields 項目と値を指定するキー-値のペアのリスト。これらのペアは、Anypoint Platform 組織に存在するカスタム項目とデータ型に対して検証されます。 形式: <項目>: <値> このオプションが指定されていない場合、カスタム項目は追加されません。 tags 自由テキスト文字列のリスト。 このオプションが指定されていない場合、タグは追加されません。 version API のバージョン。 これが指定されていない場合、バージョン戦略でバージョンが設定されます。 versionStrategy グローバルプロジェクトレベルまたは API プロジェクトレベルでアセットのバージョン戦略を設定できます。バージョン戦略が指定されていない場合、パッチバージョンは 1 つずつ増分します。 使用可能な値を次に示します。 - **majorIncrease:**​ 記述子の ​`version`​ 項目と一致する最新バージョンを検索し、メジャーバージョンを増分します。アセットが development ライフサイクル状態である場合、バージョンが増分し、アセットは development のままになります。アセットが stable バージョンである場合、新しい stable バージョンがパブリッシュされます。 - **minorIncrease:**​ 記述子の ​`version`​ 項目と一致する最新バージョンを検索し、マイナーバージョンを増分します。アセットが development ライフサイクル状態である場合、バージョンが増分し、アセットは development のままになります。アセットが stable バージョンである場合、新しい stable バージョンがパブリッシュされます。 - **patchIncrease (デフォルト):**​ 記述子の ​`version`​ 項目と一致する最新バージョンを検索し、パッチバージョンを増分します。アセットが development ライフサイクル状態である場合、バージョンが増分し、アセットは development のままになります。アセットが stable バージョンである場合、新しい stable バージョンがパブリッシュされます。 - **Snapshot**​: 記述子ファイルで指定されたバージョンで development 状態のアセットをパブリッシュします。アセットが存在しない場合は、​`development`​ 状態で作成します。アセットが存在する場合、パブリッシュして ​`development`​ のままにします。 - **Fixed**​: 記述子ファイルで指定されたバージョンで stable 状態のアセットをパブリッシュします。アセットが存在しない場合は作成します。アセットが存在し、development である場合、​`stable`​ に昇格します。アセットが ​`stable`​ 状態で、このバージョンがすでにパブリッシュされている場合、失敗します。 Exchange でのアセットのバージョン設定についての詳細は、​[「API アセットのバージョンの変更」](https://docs.mulesoft.com/jp/exchange/to-change-raml-version)​を参照してください。 apiVersion アセットの API バージョン。 記述子ファイルで API バージョンが指定されていない場合、仕様ファイルのバージョンが使用されます。両方のファイルで API バージョンが指定されている場合、記述子ファイルの値が使用されます。値はいずれかのファイルで指定されている必要があります。 例: v1 ref `projects`​ セクションで前述のタグを使用してプロジェクトの API を記述する代わりに、次の例のように ​`ref`​ タグを使用して各 API の ​`exchange.json`​ ファイルを参照できます。 projects: - ref: api-spec/async-spec.exchange.json - ref: api-spec/codat.exchange.json - ref: api-spec/oas-3-spec.exchange.json - ref: api-spec/oas-spec.exchange.json ## [](#example-descriptor-file)記述子ファイル (手動更新) の例 2 つの API のカタログ情報を記述する記述子ファイル (手動更新) の例を次に示します。 ```yaml #%Catalog Descriptor 1.0 (1) triggerConditions: (2) branches: - main - release/(.*) tags: - support - release/(.*) contact: (3) name: 'John Doe' email: 'john.doe@org.com' versionStrategyConditions: majorIncrease: branches: - master tags: - support fixed: branches: - develop projects: (4) - main: api-spec/codat.json assetId: my-awesome-api contact: name: 'Jane Doe' email: 'jane.doe@org.com' documentation: add: documentation/add.md customFields: custom: value another: field tags: - codat - gcp version: 2.0.0 versionStrategy: majorIncrease versionStrategyConditions: minorIncrease: branches: - main tags: - support snapshot: branches: - develop apiVersion: v3 - main: api-spec/billing-api.json assetId: my-awesome-billing-api triggerConditions: user: - admin tags: - finance - aws categories: API Type: - System API - Experience API Organization: - Finance - Billing version: 1.0.0 versionStrategy: minorIncrease apiVersion: v1 ```
1記述子ファイルの開始行を入力する
2トリガー条件を設定する
3連絡先の名前とメール ID を入力する
4パブリッシュされる API 情報を指定する
## [](#関連情報)関連情報 - [API カタログ CLI の使用](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) - [CLI を使用した記述子ファイルの作成または更新](https://docs.mulesoft.com/jp/exchange/apicat-create-descriptor-file-cli) # 接続アプリケーション認証 接続アプリケーション認証により、クライアント ID とクライアントシークレットのクライアントアプリケーションログイン情報を使用して Exchange にアクセスできるため、トークンを送信せずに Exchange 要求を実行できます。 新しい接続アプリケーションを作成する手順は、次のとおりです。 1. Anypoint Platform にログインします。 2. **\[Access Management (アクセス管理)\]**​ > ​**\[Connected Apps (接続アプリケーション)\]**​ > ​**\[Create App (アプリケーションを作成)\]**​ に移動します。 3. **\[App acts on its own behalf (client credentials) (アプリケーションが自身のために行動する (クライアントログイン情報))\]**​ を選択します。 4. 参照および更新アクセス権を提供するには、アプリケーションにスコープ ​**\[Exchange Administrator (Exchange 管理者)\]**​ またはスコープ ​**\[Exchange Contributor (Exchange コントリビューター)\]**​ のいずれかがあることを確認します。 参照のみアクセス権を提供するには、アプリケーションにスコープ ​**\[Exchange Viewer (Exchange 閲覧者)\]**​ があることを確認します。 5. **\[Save (保存)\]**​ をクリックして、接続アプリケーションのクライアント ID とクライアントシークレットをコピーします。 接続アプリケーション認証を使用するには、基本認証を指定し、​`~~~Client~~~`​ としてユーザー名、​`clientID~?~clientSecret`​ としてパスワードを定義します。​`clientID`​ をクライアント ID に置き換えます。​`clientSecret`​ をクライアントシークレットに置き換えます。 # 検索の保存 Exchange 管理者は、ユーザーがクリックしてビジネスグループ内の アセットにアクセス可能な検索を保存できます。 ユーザーは検索を表示してクリックできますが、 保存された検索を保存、名前変更、または削除できるのは Exchange のみです。 1. 保存した検索を追加するビジネスグループに移動します。 2. 検索項目で検索を指定します。 3. **\[Save this search (この検索を保存)\]**​ をクリックします。 4. \[Save Search (検索の保存)\] ウィンドウで、検索の名前を指定して検索名を保存します。 5. **\[Save as (別名で保存)\]**​ オプションを選択します。 6. **\[Save (保存)\]**​ をクリックします。 保存された検索は、\[Organization Searches (組織の検索)\] ヘッダーの下の \[Assets (アセット)\] ページの左側のナビゲーションバーに表示されます。 7. 検索の名前を変更するには、左のナビゲーションバーの ​**\[My searches (私の検索)\]**​ で、検索名の横にある 3 つのドットのメニューをクリックし、​**\[Rename (名前変更)\]**​ を選択します。 8. 新しい名前を入力したら、キーボードの Enter キーまたは Return キーを押します。 9. 検索を削除するには、左のナビゲーションバーの ​**\[My searches (私の検索)\]**​ で、検索名の横にある 3 つのドットのメニューをクリックし、​**\[Delete (削除)\]**​ を選択します。 # 特定のアセットとバージョンのメトリクス 管理者やコントリビューター権限を持つアセットオーナーは、特定の API 仕様フラグメント、REST API アセット、およびそのバージョンの使用量の詳細をアセット詳細ページで表示できます。このページでは、全体的な使用量が多いアセットバージョンと使用量が少ないバージョンが識別されます。使用率は、組織内の特定のアセットバージョンのパフォーマンスやスティッキネスを理解するのに役立ち、再利用や改善に関して情報に基づいて意思決定を行うことができます。 次の画像は、使用量とエンゲージメントのメトリクスが表示されているアセット詳細ページを示しています。 ![アセットとバージョンのメトリクス](/mulesoft/current/ja-jp/exchange/_images/ex-metrics-for-asset-version.png) 次のデータが収集され、分析されます。 - バージョン アセットのバージョン。 - Created By (作成者) このバージョンのアセットを作成した人の名前。 - Created on (作成日) アセットが作成された日付。 - ライフサイクル状態 アセットの現在の状態。 状態は \[In Development (開発中)\]、\[Stable (安定)\]、または \[Deprecated (非推奨)\] です。 - Conformance (適合性) すべての REST API と AsyncAPI について準拠状況が表示されます。状況としては \[Conformant (準拠)\]、\[Not Conformant (非準拠)\]、および \[Not Validated (未検証)\] があります。 - エンゲージメントコントリビューション エンゲージメントコントリビューションとは、それぞれのマイナーバージョンまたはメジャーバージョンに関する特定のアセットパッチまたはマイナーバージョンの使用率です。 - ダウンロード アセットが Exchange からダウンロードされた回数。昇順または降順で並び替えることができます。 - API Designer インポート アセットが Design Center にインポートされた回数。昇順または降順で並び替えることができます。 - Studio インポート アセットが Studio にインポートされた回数。昇順または降順で並び替えることができます。 - 全期間の統計 - 連動 バージョンが作成された時点からの連動しているアセットの数。 - コントラクト バージョンが作成された時点からの承認済みのコントラクトの数。 ## [](#アセットバージョンのエンゲージメントを表示する)アセットバージョンのエンゲージメントを表示する API 仕様フラグメントおよび REST API のアセットバージョンの使用量とエンゲージメントのメトリクスを表示する手順は、次のとおりです。 1. Exchange カタログで、API 仕様フラグメントまたは REST API を選択します。 アセット詳細ページに、アセットメタデータが表示されます。 2. ナビゲーションバーで、​**\[Asset versions engagement (アセットバージョンエンゲージメント)\]**​ をクリックします。 ![「Asset Versions Engagement (アセットバージョンエンゲージメント)」 オプションが表示されているナビゲーションバー](/mulesoft/current/ja-jp/exchange/_images/ex-nav-asset-versions-engagement.png) **\[Asset versions engagement (アセットバージョンエンゲージメント)\]**​ ページが表示されます。 3. 日付で絞り込む場合は、7 日間、30 日間、90 日間の中から日付範囲を選択します。 デフォルトの日付範囲は過去 7 日間です。 4. 使用量データをエクスポートするには、​**\[Export to CSV (CSV にエクスポート)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [アセットの詳細](https://docs.mulesoft.com/jp/exchange/asset-details) - [ライフサイクル状態の管理](https://docs.mulesoft.com/jp/exchange/lifecycle) # 管理者タスク Exchange 管理者には、次のタスクを実行する権限があります。 - [アセットを共有する](https://docs.mulesoft.com/jp/exchange/to-share-an-asset) アセットを共有して、API アセットを公開ポータルにパブリッシュしたり、組織の特定のユーザー、組織のすべてのユーザー、または選択した外部組織のすべてのユーザーにアセットへのアクセス権を付与したりします。 - [公開ポータルに API をパブリッシュする](https://docs.mulesoft.com/jp/exchange/to-share-api-asset-to-portal) 外部ユーザー向けの公開ポータルに API をパブリッシュします。 - [検索を保存する](https://docs.mulesoft.com/jp/exchange/to-save-searches) ビジネスグループ内のアセットの検索を保存および管理します。 - [API Manager を使用して Request Access (アクセス権の要求) ボタンを追加する](https://docs.mulesoft.com/jp/exchange/to-enable-the-request-access-button) ユーザーと共有可能な API アセットを指定します。 - [ユーザーアクセス権限の設定](https://docs.mulesoft.com/jp/exchange/to-set-permissions) Exchange 管理者、コントリビューター、閲覧者、または作成者権限を組織のメンバーに付与し、必要に応じて個々のアセットのアクセス権を提供します。 - [Exchange Cookie について](https://docs.mulesoft.com/jp/exchange/cookies) Exchange Cookie、Cookie の設定、バニティドメインの Cookie についての情報を確認します。 - [Exchange 1 のアセットを Exchange 2 に移行する](https://docs.mulesoft.com/jp/exchange/migrate) Exchange 1 からアセットを移行します。