6.2.4.3. フィールドの検出
Red Hat Edge Manager の一部のリソースは、サポートされているフィールドを追加で公開する場合があります。サポートされているフィールドは、flightctl コマンドに --field-selector オプションを付けて使用することで確認できます。サポートされていないフィールドを使用しようとすると、エラーメッセージに利用可能なサポート対象フィールドがリスト表示されます。
以下の例を参照してください。
flightctl get device --field-selector='text'
Error: listing devices: 400, message: unknown or unsupported selector: unable to resolve selector name "text". Supported selectors are: [metadata.alias metadata.creationTimestamp metadata.name metadata.nameoralias metadata.owner status.applicationsSummary.status status.lastSeen status.summary.status status.updated.status]
フィールド text は、フィルタリングのための有効なフィールドではありません。エラーメッセージは、Device リソースの --field-selector で使用できるサポート対象のフィールドのリストを提供します。
サポートされているフィールドのいずれかを使用することができます。
flightctl get devices --field-selector 'metadata.alias contains cluster'
metadata.alias フィールドは、包含 Operator contains を使用して、値 cluster があるかどうかがチェックされます。
例
例 1: 特定のデバイスを名前で除外する
次のコマンドは、名前で特定のデバイスを除外します。
flightctl get devices --field-selector 'metadata.name!=c3tkb18x9fw32fzx5l556n0p0dracwbl4uiojxu19g2'
例 2: 所有者、ラベル、作成タイムスタンプでフィルタリングする
このコマンドは、us リージョンにあり、2024 に作成された Fleet/pos-fleet が所有するデバイスを取得します。
flightctl get devices --field-selector 'metadata.owner=Fleet/pos-fleet, metadata.creationTimestamp >= 2024-01-01T00:00:00Z, metadata.creationTimestamp < //2025-01-01T00:00:00Z' -l 'region=us'
例 3: 所有者、ラベル、デバイスステータスでフィルタリングする
このコマンドは、Fleet/pos-fleet が所有し、us リージョンにあり、status.updated.status が Unknown または OutOfDate のいずれかであるデバイスを取得します。
flightctl get devices --field-selector 'metadata.owner=Fleet/pos-fleet, status.updated.status in (Unknown, OutOfDate)' -l 'region=us'