• English日本語한국어
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

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

問題を作成する

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」を参照してください。

ステップ 1. NerdGraph API エクスプローラーをセットアップする

  1. one.newrelic.com > All capabilities > Apps > (NerdGraph API explorer)[https://api.newrelic.com/graphiql]に移動します。

  2. API キーのドロップダウンで、既存の API ユーザー キー を選択するか、新しい API ユーザー キーを追加します。

ステップ 2. 名前を取得するためのクエリを作成する

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

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

{
actor {
user {
name
}
}
}

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

ステップ 3. クエリを実行する

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

ステップ 4. クエリにフィールドを追加する

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

  • アカウント id (左下隅にある自分の名前をクリックし、 API Keys [API キー]をクリックすると、この値を見つけることができます)
  • email

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

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

ステップ 5. 突然変異を実験する

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

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

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

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

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

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

    • guid!: (これを見つけるには、 All entities [すべてのエンティティ] を開き、エンティティ レコードの ... アイコンをクリックし、 See metadata & tags [メタデータとタグの表示] をクリックします。)

    • tags!:

      • key!:
      • values:
    • エラー

      • メッセージ
      • タイプ

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

ヒント

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

ステップ 6. ターミナルで NerdGraph クエリを試してください

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

  1. [ツール]メニューを選択します。
  2. クエリをcurl呼び出しまたはNewRelicCLIコマンドとしてコピーします。
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 Inc.

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