---
schema_version: "1"
id: 26ef3fbbe4fc7a29524260ee58def4db1358b8cdd8c196ae1982161d368a3c6f
title: 自動検出を使用した要求の追跡
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/anypoint-code-builder/int-autodiscovery-config.md
canonical_url: https://docs.mulesoft.com/jp/anypoint-code-builder/int-autodiscovery-config
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 9f02ce0f41b444d87ce224e7ee3f0fc10a8df8864f62503f7aaa958edc6f2230
description: MuleSoft Documentation Site
latest: true
---
# 自動検出を使用した要求の追跡

**進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。

Mule アプリケーションで API 自動検出を設定して、アプリケーション内のエンドポイントへの要求などの重要なメトリクスを API Manager に表示します。API Manager は Anypoint Platform の一部です。

![API Manager で Mule アプリケーションの要求メトリクスを表示](/mulesoft/current/ja-jp/anypoint-code-builder/_images/autodiscovery-data-apim.png)

Mule アプリケーションの自動検出設定には、Mule ゲートウェイランタイムで実行される API Manager の API からの API インスタンス ID が必要です。また、アプリケーションには API Manager で API に接続するための Anypoint Platform ログイン情報 (クライアント ID とシークレット) が必要です。

Mule ゲートウェイ API インスタンスのその他の重要な使用法については、​[API インスタンスの管理](https://docs.mulesoft.com/jp/api-manager/latest/api-instance-landing-page) and [Mule Gateway ポリシーの概要](https://docs.mulesoft.com/jp/mule-gateway/policies-policy-overview)​を参照してください。

## [](#prereqs)始める前に

Mule アプリケーションの自動検出設定の API インスタンス ID を取得するには、Mule ゲートウェイランタイムで実行される API Manager の API にアクセスできる必要があります。または、API Manager ドキュメントの[Mule ゲートウェイ API インスタンスの追加](https://docs.mulesoft.com/jp/api-manager/latest/create-instance-task-mule)の手順に従って API を作成できます。

API Manager の API は、Mule アプリケーションのエンドポイントを定義する Anypoint Exchange の API 仕様に関連付けられています。エンドポイントを定義する API 仕様の例、およびエンドポイントを実装する Mule アプリケーションの例については、​[例](#examples)​を参照してください。 API 仕様の作成に関する案内については、以下を参照してください。

- Anypoint Code Builder から仕様を設計する場合は[API 仕様の作成およびインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs)
- Design Center から仕様を設計する場合は[Designing API Specs and Fragments](https://docs.mulesoft.com/design-center/design-designing-api-specs-fragments)

API 仕様を Exchange にパブリッシュするための案内については、以下を参照してください。

- Anypoint Code Builder から仕様をパブリッシュする場合は[Exchange への API プロジェクトのパブリッシュ](https://docs.mulesoft.com/jp/anypoint-code-builder/des-publish-api-spec-to-exchange)
- [Publishing API Specifications](https://docs.mulesoft.com/design-center/design-publish) Design Center から仕様をパブリッシュする場合は

## [](#setup)Mule アプリケーションで API 自動検出をセットアップする

API Manager の Mule ゲートウェイランタイムで実行される API に要求データを送信するように Mule アプリケーションを設定します。API は、API Manager のグラフでこのデータを追跡します。

Mule アプリケーションの自動検出設定には、API インスタンス ID を参照するグローバル要素 (​`<api-gateway:discovery/>`​) と、Mule アプリケーションの Mule Runtime Engine が API Manager で API の Anypoint Platform ビジネスグループまたは環境に接続できるようにするログイン情報 (クライアント ID とシークレット) が必要です。

自動検出をセットアップする手順は、次のとおりです。

1. [始める前に](#prereqs)​の前提条件を満たします。
2. Anypoint Platform の \[Access Management (アクセス管理)\] ( [US](https://anypoint.mulesoft.com/accounts/businessGroups/)​、 [EU](https://eu1.anypoint.mulesoft.com/accounts/businessGroups)​) から、ビジネスグループのクライアント ID とシークレットを取得します。
    
    手順を表示
    
    1. Anypoint Platform ( [US](https://anypoint.mulesoft.com/accounts/businessGroups/)​、 [EU](https://eu1.anypoint.mulesoft.com/accounts/businessGroups)​) の \[Access Management (アクセス管理)\] で、ビジネスグループのリストを開きます。
        
        代わりに Anypoint Platform ホームページからビジネスグループリストに移動するには、\[Access Management (アクセス管理)\] を開き、​**\[Business Groups (ビジネスグループ)\]**​ をクリックします。
    2. ビジネスグループリストで、ビジネスグループの名前をクリックします。
    3. ビジネスグループの ​**\[Settings (設定)\]**​ タブをクリックします。
    4. Access Manager の ​**\[Settings (設定)\]**​ タブから ​**\[Client ID (クライアント ID)\]**​ と ​**\[Client Secrets (クライアントシークレット)\]**​ の値を取得します。
3. API Manager で API インスタンスから API インスタンス ID を取得します。
    
    手順を表示
    
    1. Anypoint Platform ( [US](https://anypoint.mulesoft.com/)​、 [EU](https://eu1.anypoint.mulesoft.com/)​) で、API Manager に移動します。
    2. API Manager の ​**\[API Administration (API 管理)\]**​ ページで、API の名前を見つけてクリックし、その ​**\[API Summary (API の概要)\]**​ ページを開きます。
    3. **\[API Summary (API の概要)\]**​ ページで ​**\[API Instance ID (API インスタンス ID)\]**​ を見つけます。
        
        Mule アプリケーションの自動検出を設定するときに、インスタンス ID が必要になります。
4. Anypoint Code Builder の Mule アプリケーションで、API インスタンス ID を使用してアプリケーションを API インスタンスとペアリングします。
    
    1. Mule アプリケーションの XML エディターで、アプリケーションの ​`<flow/>`​ 要素の上に ​`<api-gateway:autodiscovery/>`​ 要素を追加します。次に例を示します。
        
        ```xml
        <api-gateway:autodiscovery apiId="YOUR_API_ID_HERE" flowRef="currentTimeFlow" doc:name="Autodiscovery" />
        ```
        
        より詳しいコンテキストについては、​[例: Mule アプリケーション](#mule-app)​の例を参照してください。
    2. API インスタンス ID を ​`apiID`​ 値として貼り付けます。次に例を示します。
        
        ```xml
        <api-gateway:autodiscovery apiId="123456" flowRef="currentTimeFlow" doc:name="Autodiscovery" />
        ```
5. Anypoint Code Builder で、ビジネスグループのクライアント ID とクライアントシークレットを ​**\[Settings (設定)\]**​ タブの Mule Runtime 引数に追加します。
    
    1. **\[Settings (設定)\]**​ タブを開きます。
        
        手順を表示
        
        - \[Anypoint Code Builder\] パネルから ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-settings-gear.png)​ (歯車) アイコンをクリックします。
        - アクティビティバーから ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-settings-gear.png)​ (歯車) アイコンをクリックし、​**\[Settings (設定)\]**​ を選択して、​**\[Settings (設定)\]**​ タブで ​`mule`​ を検索します。
        - [\[Command Palette (コマンドパレット)](https://docs.mulesoft.com/jp/anypoint-code-builder/start-use-command-palette)\]​ でコマンド ​`MuleSoft: Open ACB Settings`​ を指定します。
    2. **\[Settings (設定)\]**​ タブで、​**\[Mule\] › \[Runtime: Default Arguments (ランタイム: デフォルト引数)\]**​ を見つけます。
    3. テキスト項目で、クライアント ID とシークレット引数を既存の引数の末尾に追加します。次に例を示します。
        
        \-M-Danypoint.platform.client\_id=999abcde1f888e9h9aaa00ff5a5b03c5 -M-Danypoint.platform.client\_secret=abc0d1234e5a4ab321A000B2033D4E56
        
        例のモック値をクライアント ID とシークレットに置き換えます。
6. アプリケーションを実行して、ビルドログで次の情報をチェックして、API が接続されていることを確認します。
    
    - クライアント ID とクライアントシークレットが API Manager に対して正常に検証されている。
    - 基盤となる ​`GateKeeper`​ が ​`FLEXIBLE`​ モードで使用可能 (ブロック解除済み) である。
    - API Gateway 拡張機能が ​`STANDALONE`​ になっている。
7. API インスタンスによって追跡されるアプリケーションのエンドポイントに要求を送信します。
    
    詳細は、[開発環境でのフローのトリガー](https://docs.mulesoft.com/jp/anypoint-code-builder/int-trigger-flows)を参照してください。
8. API Manager で、API インスタンスが登録済み (アクティブ) で、API Manager でメトリクスが生成されていることを確認します。
    
    ![自動検出データを含む API Manager の API](/mulesoft/current/ja-jp/anypoint-code-builder/_images/autodiscovery-apim-fullview.png)

### [](#examples)例

API 自動検出についてテストされた例を次に示します。

- [例: OAS 仕様](#oas-spec)​:
    
    テストには、Design Center での仕様の作成、Exchange への仕様のパブリッシュ、Exchange で仕様に関連付けられた API Manager での Mule ゲートウェイ API インスタンスの作成が含まれます。
- [例: Mule アプリケーション](#mule-app)
    
    テストには、API Manager からの ​`apiID`​ 値を含む ​`<api-gateway:autodiscovery/>`​ 要素の追加、Anypoint Code Builder 設定の Mule Runtime 引数へのクライアント ID とシークレットの追加、デバッグモードでのアプリケーションの実行によるローカルでのアプリケーションのデプロイ、アプリケーションでの定義済みエンドポイントへの要求、API Manager で関連付けられた Mule ゲートウェイ API インスタンスが​**アクティブ**​であることの確認、要求によってインスタンスのグラフにデータ (重要なメトリクス) が生成されることの確認が含まれます。

#### [](#oas-spec)例: OAS 仕様

次の OAS 仕様では、​[Mule アプリケーションの例](#mule-app)​の 1 つのエンドポイントを定義します。

```yaml
openapi: "3.0.0" (1)
info:
  version: 1.0.0
  title: my-autodiscovery-api
servers:
  - url: https://my-autodiscovery-app.us-e2.cloudhub.io
paths:
  /current-time: (2)
    get:
      responses:
        "200":
          description: my description here.
          content:
            application/json:
              schema:
                type: object
                properties:
                  current-time:
                    type: string
              example:
                current-time: "2024-08-05 14:56:12"  (3)
```

<table><tbody><tr><td><i class="conum" data-value="1"></i><b>1</b></td><td>OAS 3.0 仕様</td></tr><tr><td><i class="conum" data-value="2"></i><b>2</b></td><td><code>/current-time</code>​ エンドポイント定義</td></tr><tr><td><i class="conum" data-value="3"></i><b>3</b></td><td>書式設定された日時値の例</td></tr></tbody></table>

#### [](#mule-app)例: Mule アプリケーション

```xml
  <http:listener-config name="HTTP_Listener_config" > (1)
    <http:listener-connection host="0.0.0.0" port="8081" />
  </http:listener-config>

<api-gateway:autodiscovery apiId="YOUR_API_ID_HERE" flowRef="currentTimeFlow" doc:name="Autodiscovery" /> (2)

  <flow name="currentTimeFlow"> (3)
        <http:listener path="/current-time" config-ref="HTTP_Listener_config" doc:name="Listener" doc:id="bce0d0"/> (4)
        <ee:transform doc:name="Transform" doc:id="ahlupg" > (5)
            <ee:message>
                <ee:set-payload >
                <![CDATA[#[%dw 2.0
output application/json
---
{
	"current-time": now() as String {format: "yyyy-MM-dd hh:mm:ss"}
}]]]>
            </ee:set-payload>
            </ee:message>
        </ee:transform>
        <logger doc:name="Logger" doc:id="bhcobk" message="#[payload]"/> (6)
  </flow>
```

<table>
<tbody><tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
<td>HTTP リスナー接続設定例</td>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
<td>フロー ​<code>currentTimeFlow</code>​ を参照する自動検出設定
<div class="paragraph">
<p>このアプリケーションを試す場合は、​<code>YOUR_API_ID_HERE</code>​ を、​<a href="#oas-spec">OAS 仕様の例</a>​に関連付けられた Mule ゲートウェイ API インスタンスの ​<code>apiID</code>​ 値に置き換えます。</p>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
<td>フロー ​<code>currentTimeFlow</code></td>
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
<td>エンドポイント設定 ​<code>path="/current-time"</code>​ の HTTP リスナー
<div class="paragraph">
<p>このエンドポイントは、​<a href="#oas-spec">OAS 仕様の例</a>​で定義されたエンドポイントの名前と一致します。</p>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
<td>DataWeave を使用して現在時刻を指定された形式で取得する Transform Message コンポーネント
<div class="paragraph">
<p>この形式は、​<a href="#oas-spec">OAS 仕様の例</a>​で定義された形式と一致します。</p>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
<td>アプリケーション実行中の ​<code><a href="http://localhost:8081/current-time" class="bare">http://localhost:8081/current-time</a></code>​ への要求時に現在時刻 (​<code>payload</code>​ 内) を出力する Logger コンポーネント</td>
</tr>
</tbody></table>