• /
  • EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

NerdGraph API エクスプローラーのチュートリアル

NerdGraph は、データのクエリや New Relic 機能の設定変更に使用できる GraphQL API です。コードから、curl または CLI リクエストを使用して、NerdGraph API エクスプローラーでなど、さまざまな方法で GraphQL を NerdGraph API に送信できます。エクスプローラーは、NerdGraph でクエリやミューテーション (変更) を実験できる GUI GraphQL ツール (GraphiQL ベース) です。

GraphQL を初めて使用する場合は、NerdGraph API エクスプローラーを介して GraphQL API について学びましょう。このチュートリアルを開始する前に API の概要が必要な場合は、 「NerdGraph の紹介: GraphQL API」を参照してください。

自分の名前を取得するクエリを作成する

GraphQL API であなたの名前を検索するための簡単な NerdGraph クエリから始めましょう。

以下にデフォルトのクエリが表示されない場合は、クエリ エディターですべてを消去し、クエリ エクスプローラーで次のフィールドをこの順序で選択します: actorusername:

{
actor {
user {
name
}
}
}

このクエリでは、NerdGraph に、 userフィールド内にネストされているnameフィールドを取得するように依頼しています。userフィールドはユーザー キーの所有者を参照し、 useractor (API ユーザーのアクセス レベルを範囲とするすべてのデータへの最上位エントリ) 内にネストされています。

クエリを実行する

赤いExecute queryボタンをクリックします。 結果はリクエストとほぼ同じ形になることに注意してください。 クエリビルダー内のすべてのフィールドは、使用可能なすべてのデータ型とその属性を記述する GraphQL スキーマを構成します。 各フィールドの詳細については、フィールドの横にある虫眼鏡アイコンをクリックしてください。

Screenshot showing a basic query

クエリにフィールドを追加する

ここで、クエリにさらにフィールドを追加してみることができます。最も簡単な方法は、クエリ ビルダーでフィールドをクリックすることです。エクスプローラーは、クエリ内のどこに属性を配置するかを知っています。この例では、次のフィールドを追加します。

  • アカウントid (この値は、左下隅にある自分の名前をクリックしてからAPI Keysをクリックすると表示されます)

  • email

    クエリを実行すると、データのオーバーフェッチやアンダーフェッチを行わずに、必要なデータのみが返されます。id フィールドには引数があることに注意してください。引数を渡すことは、NerdGraph クエリをカスタマイズする強力な方法です。すべてのフィールドとオブジェクトには引数を含めることができるため、複数のクエリを実行する代わりに、必要なクエリを作成するだけで済みます。

    {
    actor {
    user {
    name
    email
    }
    account(id: INSERT_YOUR_OWN_ACCOUNT_ID)
    }
    }

突然変異を実験する

GraphQLでは、ミューテーションは、オブジェクトを作成、更新、または削除することでデータを変更できる副作用のあるクエリを実行する方法です(REST APIでは、これらは一般にCRUD操作と呼ばれます)。

最初の突然変異の準備はできていますか?

  1. エディターの内容を消去します。

  2. クエリビルダーを下にスクロールして、 mutationを展開します。

  3. tagging まで下にスクロールし、 taggingAddTagsToEntityを選択します。

  4. 次のフィールドを選択します。

    • guid!: ( All entitiesを開き、エンティティ レコードの...アイコンをクリックして、 See metadata & tagsをクリックすると見つかります)

    • tags!:

      • key!:
      • values:
    • エラー

      • メッセージ
      • タイプ
    Mutation example

    この場合、エンティティにカスタム タグを追加します。errorsを選択しない場合、エディターはエラーを表示します。ミューテーションには、バックエンドで操作がどのように実行されたかを伝える方法が必要です (リクエストが失敗すると null 応答が返されます)。

    ヒント

    RESTとは異なり、NerdGraphのようなGraphQLAPIは部分的な応答を返すことができます。たとえば、複数のエンティティにタグを追加しようとすると、一部のミューテーションが失敗し、他のミューテーションが成功する可能性があります。取得したGraphQL応答にすべてが記録されます。

ターミナルで NerdGraph クエリを試してください

満足のいくNerdGraphクエリを作成し、それを他の場所でテストしたいとします。コード対応のクエリとミューテーションをキャプチャするには:

  1. Toolsメニューを選択します。

  2. クエリを curl 呼び出しまたはNew Relic CLIコマンドとしてコピーします。

    NerdGraph tools menu
    bash
    $
    # curl version
    $
    curl https://api.newrelic.com/graphql \
    >
    -H 'Content-Type: application/json' \
    >
    -H 'Api-Key: API_KEY_REDACTED' \
    >
    --data-binary '{"query":"{\n actor {\n user {\n name\n email\n }\n account(id: 12345678)\n }\n}\n", "variables":""}'
    $
    $
    # New Relic CLI version
    $
    newrelic nerdgraph query '{
    $
    actor {
    $
    user {
    $
    name
    $
    email
    $
    }
    $
    account(id: 12345678)
    $
    }
    $
    }'

次のステップ

これで、NerdGraphクエリの作成とテストの基本を理解しましたが、どのようにしてそれらをクライアントまたはサーバーコードに変換しますか?GraphQLコードジェネレーターなどのソリューションは、NerdGraphクエリを実装用のコードに変換するのに役立ちます。

クエリビルダーでフィールドをクリックしてオブジェクトを展開することにより、より複雑なクエリを作成してみてください(ただし、変更によってアカウントが変更される可能性があるため、変更には注意してください)。以下のセクションでサンプルリクエストのいくつかをチェックしてください。

NerdGraphの詳細と、開発者コミュニティの他のプロジェクトの探索については、 Explorerのハブの投稿を確認してください。

その他のリクエスト例

役立つ可能性のあるNerdGraphリクエストの他の例を次に示します。

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.