6.123. ImageTransfer


이 서비스는 이미지 전송을 제어하는 메커니즘을 제공합니다. 클라이언트는 이미지 전송 서비스 추가를 사용하여 데이터를 전송 하도록 이미지를 지정하여 전송을 생성해야 합니다.

이렇게 하면 전송은 이 서비스에 의해 관리됩니다.

oVirt의 Python SDK 사용:

ID 123 을 사용하여 디스크 업로드(데이터 센터의 임의의 호스트)

transfers_service = system_service.image_transfers_service()
transfer = transfers_service.add(
   types.ImageTransfer(
      disk=types.Disk(
         id='123'
      )
   )
)

호스트 ID 456 에 id 123디스크 를 업로드 :

transfers_service = system_service.image_transfers_service()
transfer = transfers_service.add(
   types.ImageTransfer(
      disk=types.Disk(
         id='123'
      ),
      host=types.Host(
         id='456'
     )
   )
)

사용자가 업로드하지 않고 디스크를 다운로드하려는 경우 해당 사용자는 전송의 방향 속성으로 다운로드를 지정해야 합니다. 그러면 쓰기 권한 대신 이미지의 읽기 권한이 부여됩니다.

E.g:

transfers_service = system_service.image_transfers_service()
transfer = transfers_service.add(
   types.ImageTransfer(
      disk=types.Disk(
         id='123'
      ),
      direction=types.ImageTransferDirection.DOWNLOAD
   )
)

전송에는 업로드 / 다운로드의 흐름을 관리하는 단계가 있습니다. 이러한 흐름을 구현하는 클라이언트는 전송 단계를 폴링/확인하고 적절하게 수행해야 합니다. 가능한 모든 단계는 ImageTransferPhase 에서 찾을 수 있습니다.

새 전송을 추가한 후 해당 단계는 초기화 됩니다. 클라이언트는 변경될 때까지 전송 단계를 폴링해야 합니다. 단계가 전송 되면 세션은 전송을 시작할 준비가 되었습니다.

예를 들어 다음과 같습니다.

transfer_service = transfers_service.image_transfer_service(transfer.id)
while transfer.phase == types.ImageTransferPhase.INITIALIZING:
   time.sleep(3)
   transfer = transfer_service.get()

이 단계에서 전송 단계가 paused_system 인 경우 세션이 성공적으로 설정되지 않았습니다. 이 문제는 ovirt-imageio가 선택한 호스트에서 실행되지 않는 경우 발생할 수 있습니다.

표 6.374. 메서드 요약
이름요약

취소

이미지 전송 세션을 취소합니다.

extend

이미지 전송 세션을 확장합니다.

완료

데이터 전송을 완료한 후 전송을 완료합니다.

get

이미지 전송 엔터티를 가져옵니다.

pause

이미지 전송 세션을 일시 중지합니다.

resume

이미지 전송 세션을 다시 시작합니다.

6.123.1. POST취소

이미지 전송 세션을 취소합니다. 이렇게 하면 전송 작업이 종료되고 부분 이미지가 제거됩니다.

6.123.2. POST확장

이미지 전송 세션을 확장합니다.

6.123.3. 완료 POST

데이터 전송을 완료한 후 전송을 완료합니다.

이렇게 하면 전송 중인 데이터가 유효하고 전송 대상인 이미지 엔티티에 적합합니다. 특히, 이미지 엔티티가 QCOW 디스크인 경우 업로드된 데이터는 실제로 QCOW 파일이며 이미지에 백업 파일이 없는지 확인합니다.

6.123.4. GET가져오기

이미지 전송 엔터티를 가져옵니다.

표 6.375. 매개변수 요약
이름유형방향요약

팔로우

문자열

in

따라야 할 내부 링크를 나타냅니다.

image_transfer

ImageTransfer

Out

 

6.123.4.1. 팔로우

따라야 할 내부 링크를 나타냅니다. 이러한 링크에서 참조하는 오브젝트는 현재 요청의 일부로 가져옵니다. 자세한 내용은 여기를 참조하십시오.

6.123.5. pause POST

이미지 전송 세션을 일시 중지합니다.

6.123.6. POST다시 시작

이미지 전송 세션을 다시 시작합니다. 클라이언트는 재시작하는 것과 다를 때까지 전송 단계를 폴링해야 합니다. 예를 들어 다음과 같습니다.

transfer_service = transfers_service.image_transfer_service(transfer.id)
transfer_service.resume()
transfer = transfer_service.get()

while transfer.phase == types.ImageTransferPhase.RESUMING:
   time.sleep(1)
   transfer = transfer_service.get()
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.