3.8. 링크 다음


API는 관련 오브젝트에 대한 참조를 링크로 반환합니다. 예를 들어 가상 머신이 검색되면 디스크 연결 및 네트워크 인터페이스 카드에 대한 링크가 포함됩니다.

<vm id="123" href="/ovirt-engine/api/vms/123">
  ...
  <link rel="diskattachments" href="/ovirt-engine/api/vms/123/diskattachments"/>
  <link rel="nics" href="/ovirt-engine/api/vms/123/nics"/>
  ...
</vm>

연결된 오브젝트에 대한 전체 설명은 별도의 요청을 전송하여 검색할 수 있습니다.

GET /ovirt-engine/api/vms/123/diskattachments
GET /ovirt-engine/api/vms/123/nics

그러나 경우에 따라 동일한 요청에서 연결된 정보를 검색하기 위해 API를 사용하는 애플리케이션이 더 편리합니다. 예를 들어 추가 네트워크 왕복에서 허용되지 않는 오버헤드가 발생할 때 또는 다중 요청이 불안정한 방식으로 애플리케이션 코드를 복잡할 때 유용합니다. 이러한 사용 사례의 경우 API는 애플리케이션이 하나의 요청만 사용하여 연결된 정보를 검색할 수 있는 follow 매개 변수를 제공합니다.

다음 매개 변수의 값은 쉼표로 구분된 문자열 목록입니다. 이러한 각 문자열은 연결된 개체의 경로 입니다. 예를 들어 위의 예에서 디스크 첨부 파일 및 NIC를 검색하려면 요청의 다음과 같아야 합니다.

GET /ovirt-engine/api/vms/123?follow=disk_attachments,nics

그러면 다음과 같은 응답이 반환됩니다.

<vm id="123" href="/ovirt-engine/api/vms/123">
  ...
  <disk_attachments>
    <disk_attachment id="456" href="/ovirt-engine/api/vms/123/diskattachments/456">
      <active>true</active>
      <bootable>true</bootable>
      <interface>virtio_scsi</interface>
      <pass_discard>false</pass_discard>
      <read_only>false</read_only>
      <uses_scsi_reservation>false</uses_scsi_reservation>
      <disk id="789" href="/ovirt-engine/api/disks/789"/>
    </disk_attachment>
    ...
  </disk_attacments>
  <nics>
    <nic id="234" href="/ovirt-engine/api/vms/123/nics/234">
      <name>eth0</name>
      <interface>virtio</interface>
      <linked>true</linked>
      <mac>
        <address>00:1a:4a:16:01:00</address>
      </mac>
      <plugged>true</plugged>
    </nic>
    ...
  </nics>
  ...
</vm>

연결된 개체의 경로는 이전 예제와 같이 단일 단어일 수 있거나 중첩된 데이터를 요청하기 위해 점으로 구분된 일련의 단어일 수 있습니다. 예를 들어 이전 예제에서는 disk_attachments 를 사용하여 디스크 첨부 파일의 전체 설명을 검색했지만 각 디스크 연결에는 디스크 링크가 포함되어 있습니다. 디스크에 대한 링크도 따르려면 다음 요청을 사용할 수 있습니다.

GET /ovirt-engine/api/vms/123?follow=disk_attachments.disk

그러면 다음과 같은 응답이 표시됩니다.

<vm id="123" href="/ovirt-engine/api/vms/123">
  <disk_attachments>
    <disk_attachment id="456" href="/ovirt-engine/api/vms/123/diskattachments/456">
      <active>true</active>
      <bootable>true</bootable>
      <interface>virtio_scsi</interface>
      <pass_discard>false</pass_discard>
      <read_only>false</read_only>
      <uses_scsi_reservation>false</uses_scsi_reservation>
      <disk id="789" href="/ovirt-engine/api/disks/789">
        <name>mydisk</name>
        <description>My disk</description>
        <actual_size>0</actual_size>
        <format>raw</format>
        <sparse>true</sparse>
        <status>ok</status>
        <storage_type>image</storage_type>
        <total_size>0</total_size>
        ...
      </disk>
    </disk_attachment>
    ...
  </disk_attachments>
  ...
</vm>

경로는 필요에 따라 자세히 만들 수 있습니다. 예를 들어 디스크의 통계도 가져오려면 다음을 수행합니다.

GET /ovirt-engine/api/vms/123?follow=disk_attachments.disk.statistics

여러 경로 요소와 여러 경로를 결합할 수 있습니다. 예를 들어 디스크 연결 및 네트워크 인터페이스 카드를 가져오려면 둘 다 통계가 있습니다.

GET /ovirt-engine/api/vms/123?follow=disk_attachments.disk.statistics,nics.statistics
중요

오브젝트를 검색하는 거의 모든 작업은 follow 매개 변수를 지원하지만 일부 작업에서 지원하지 않을 수 있으므로 참조 문서를 명시적으로 확인하거나 최상의 성능을 얻기 위해 사용하는 방법에 대한 조언을 제공할 수 있습니다.

중요

다음 매개 변수를 사용하여 오버헤드를 클라이언트 측에서 서버 측으로 이동합니다. 추가 데이터를 요청할 때 서버에서 기본 데이터를 가져와서 병합해야 합니다. 서버 측에서 CPU 및 메모리를 사용하는 경우 대부분의 경우 추가 데이터베이스 쿼리가 필요합니다. 이는 특히 대규모 환경에서 서버의 성능에 부정적인 영향을 미칠 수 있습니다. 실제 환경에서 애플리케이션을 테스트하고 방금 설명한 경우에만 다음 매개 변수를 사용하십시오.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.