1.12. 検索クエリー API


検索クエリー API は Kubernetes API ではないため、Red Hat OpenShift Container Platform API Explorer では表示されません。検索クエリー API の機能を理解するには、本書の続きもご確認ください。

1.12.1. 概要

検索クエリー API をルートで公開し、API を使用して検索クエリーを解決できます。API は GraphQL エンドポイントです。curl や Postman などの任意のクライアントを使用できます。

1.12.1.1. バージョン情報

バージョン: 2.9.0

1.12.1.2. URI スキーム

BasePath : /searchapi/graphql
Schemes : HTTPS

1.12.1.3. API アクセスの設定

以下のコマンドを使用して、クラスターの外部から Search API にアクセスするためのルートを作成します。

oc create route passthrough search-api --service=search-search-api -n open-cluster-management

重要: 環境を保護するには、ルートを設定する必要があります。詳細は、OpenShift Container Platform ドキュメントの ルート設定 を参照してください。

1.12.2. スキーマ設計

input SearchFilter {
  property: String!
  values: [String]!
}
input SearchInput {
  keywords: [String]
  filters: [SearchFilter]
  limit: Int
  relatedKinds: [String]
}
type SearchResult {
count: Int
items: [Map]
related: [SearchRelatedResult]
}
type SearchRelatedResult {
kind: String!
count: Int
items: [Map]
}

! を使用したパラメーターは、フィールドが必要であることを示します。

1.12.2.1. クエリー入力の説明表

説明プロパティー

検索フィルター

結果をフィルタリングするキーと値を定義します。プロパティーに多くの値を指定すると、API は値を "OR" 操作として解釈します。多くのフィルターを指定すると、結果はすべてのフィルターに一致し、API は AND 操作として解釈します。

string

検索入力

リソースの一覧を表示するには、主要な用語を入力します。多くのキーワードを指定すると、API はそれを AND 操作として解釈します。

String

limit

クエリーを入力した後に返される結果の最大数を決定します。デフォルト値は 10,000 です。-1 の値は、制限が削除されることを意味します。

Integer

1.12.2.2. スキーマの例

{
  "query": "type SearchResult {count: Intitems: [Map]related: [SearchRelatedResult]} type SearchRelatedResult {kind: String!count: Intitems: [Map]}",
  "variables": {
    "input": [
      {
        "keywords": [],
        "filters": [
          {
            "property": "kind",
            "values": [
              "Deployment"
            ]
          }
        ],
        "limit": 10
      }
    ]
  }
}

1.12.3. 汎用スキーマ

type Query {
  search(input: [SearchInput]): [SearchResult]
  searchComplete(property: String!, query: SearchInput, limit: Int): [String]
  searchSchema: Map
  messages: [Message]
}

1.12.4. サポートされているクエリー

JSON 形式でサポートされているクエリータイプを確認するには、このまま読み進めてください。

1.12.4.1. デプロイメントの検索

クエリー:

query mySearch($input: [SearchInput]) {
    search(input: $input) {
    		items
        }
}

変数:

{"input":[
    {
        "keywords":[],
        "filters":[
            {"property":"kind","values":["Deployment"]}],
        "limit":10
    }
]}

1.12.4.2. Pod の検索

クエリー:

query mySearch($input: [SearchInput]) {
    search(input: $input) {
    		items
        }
}

変数:

{"input":[
    {
        "keywords":[],
        "filters":[
            {"property":"kind","values":["Pod"]}],
        "limit":10
    }
]}
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.