使い分け
装置の記録は任意です。channel_id がなくても測定は問題なく機能します。
次のようなことをしたい場合にサイト・サイクラー・チャンネルを設定してください:
- 複数のサイクラーやラボにまたがるデータを比較する。
- 一部の測定結果がおかしいときに、疑わしいチャンネルを切り分ける。
- 規制対象データや公開データの長期的なトレーサビリティを保つ。
- どのチャンネルが空いている / 使用中 / サービス外かを一目で把握する。
test_setup フィールドを使い続けてください。
装置階層
試験装置はセルデータ階層と同じ構造です:
チャンネルと同じプロジェクトのセル測定のみをリンクできます。サイトを削除するとそのサイクラーもカスケード削除され、サイクラーを削除するとそのチャンネルもカスケード削除されます。
サイト
サイトはサイクラーを保有するラボまたは施設です。サイトは組織スコープです。サイクラー
サイクラーは、ちょうど 1 つのサイトに設置されたサイクリング装置です。サイクラーはプロジェクトスコープで、各サイクラーは作成時に指定した 1 つのプロジェクトによって所有されます。サイクラー名はプロジェクト内で一意(大文字小文字を区別しない)なので、異なる 2 つのプロジェクトがそれぞれ"Maccor-1" という名前のサイクラーを持つことができます。
所有プロジェクトは作成時に固定されます。同じ物理的な装置を 2 つのプロジェクトで使用する場合は、プロジェクトごとに 1 つのサイクラー行を作成してください。
チャンネル
チャンネルはサイクラー上の物理チャンネルです。チャンネルはちょうど 1 つのサイクラーに属し、そのサイクラーのプロジェクトを継承します。チャンネル名はサイクラー内で一意(大文字小文字を区別しない)なので、異なる 2 つのサイクラーがそれぞれ"CH1" という名前のチャンネルを持つことができます。
チャンネルには任意の電気的定格と
out_of_commission フラグもあります — 下記のチャンネル定格を参照してください。
装置ツリーの構築
サイト・サイクラー・チャンネルはラボごとに一度作成します。定常運用ではチャンネルのみを操作します —out_of_commission の切り替え、定格の調整、測定のリンクなどです。
名前はサイトなら組織内、サイクラーならプロジェクト内、チャンネルならサイクラー内で、それぞれ大文字小文字を区別せず一意ですが、
create_or_get は名前が完全に一致する場合にのみ既存レコードへの競合解決を行います。既に存在する名前と大文字小文字が異なる名前(例: "Boston Lab" が存在するときに "boston lab")で呼び出すと、既存のレコードを返す代わりに ValueError が発生します。作成時と同じ完全な名前を再利用してください。測定をチャンネルに紐付ける
すべてのセル測定には、試験を実行した物理チャンネルを記録する null 許容のchannel_id があります。測定を作成するときに設定するか、後から更新で付け替えられます。
チャンネルは測定と同じプロジェクトに属している必要があります(測定はそのセルインスタンスからプロジェクトを継承します)。別のプロジェクトのチャンネルを指定するとエラー(HTTP 400)になります。
このリンクは意図的にゆるく作られています: 後からチャンネルを削除すると channel_id は NULL に戻り、測定はそのまま残ります。
end_time を未設定のままにし、鮮度の高いデータをアップロードし続けます — チャンネルは occupied として表示されます。テストが完了したら、測定を end_time でパッチすると、チャンネルは free に戻ります。
チャンネルがいつ空くかを表示する
測定にestimated_end_time を設定すると、実行中のテストが終了する予定時刻を通知できます。チャンネルが occupied または stale の間、ラボビューはチャンネルカードにこの値を表示するため、測定を開かなくても次のテストを計画できます。
estimated_end_time はあくまで参考情報です — チャンネルの占有状態や 48 時間の鮮度ウィンドウには影響しません。部分更新は含めたフィールドのみを設定するため、end_time だけをパッチしても保存済みの推定値はそのまま残ります — クリアするには、同じ更新で estimated_end_time を明示的に None に設定してください。
チャンネル定格
チャンネルには、ハードウェアの能力を記述する任意の電気的定格があります。ラボ UI は新規テスト用のチャンネルを選ぶ際にこれらでフィルタリングします。
定格は UI ではなく API または SDK 経由で設定します。
フィルタリング、ページング、名前による解決
サイト・サイクラー・チャンネルのリストエンドポイントは、API 全体で共通のフィルタ形式に従います —name に対する大文字小文字を区別しない部分一致、name_exact による完全一致、ISO 日時レンジフィルタ(created_after / updated_before / …)、および order_by / order によるソートです。
client.site.detail(site_id) および client.cycler.detail(cycler_id) がリソースとその子要素すべてを 1 レスポンスで返し、ページングも自動処理します。
name_exact は大文字小文字を区別するサーバー側の完全一致です — 人間が読めるサイト名からチャンネル ID までたどる最も簡単な方法です:
name_exact を使った場合でも各 list() は PaginatedList を返すため、名前が存在しない可能性がある場合は空のケースを扱ってください。
次のステップ
ラボビュー
ライブの占有状況を確認し、チャンネルを詳しく見て、実行中の内容を把握します。
チャンネルサービス
チャンネルをサービス外にし、インシデント履歴を確認します。