2.3.2. 서비스 방법
원하는 서비스를 찾은 후 서비스 메서드를 호출할 수 있습니다. 이러한 메서드는 서버에 요청을 보내고 실제 작업을 수행합니다.
오브젝트 컬렉션을 관리하는 서비스에는 일반적으로 메서드 목록
및 추가
방법이 있습니다.
단일 오브젝트를 관리하는 서비스에는 일반적으로 get
,update
및 remove
메서드가 있습니다.
서비스에는 검색, 생성, 업데이트 또는 제거 이외의 작업을 수행하는 추가 작업 방법이 있을 수 있습니다. 이러한 메서드는 단일 개체를 관리하는 서비스에서 가장 일반적으로 찾을 수 있습니다.
2.3.2.1. Get 링크 복사링크가 클립보드에 복사되었습니다!
get
메서드는 단일 개체의 표현을 검색합니다.
다음 예제에서는 식별자가 123
인 가상 머신의 표현을 찾아서 검색합니다.
결과는 해당 유형의 인스턴스입니다. 이 경우 결과는 Ruby 클래스 Vm 의 인스턴스입니다.
일부 서비스의 get
메서드는 개체의 표현을 검색하는 방법 또는 하나 이상의 경우 검색할 표현을 제어하는 추가 매개 변수를 지원합니다.
예를 들어 부팅 후 가상 머신의 향후 상태를 검색할 수 있습니다. 가상 머신을 관리하는 서비스의 get
메서드는 next_run 부울 매개 변수를 지원합니다.
가상 머신의 next_run
상태 검색
Retrieve the representation of the virtual machine; not the current one, but the one that will be used after the next boot:
# Retrieve the representation of the virtual machine; not the
# current one, but the one that will be used after the next
# boot:
vm = vm_service.get(next_run: true)
자세한 내용은 소프트웨어 개발 키트 참조 문서를 참조하십시오.
개체를 검색할 수 없는 경우 소프트웨어 개발 키트는 오류에 대한 세부 정보가 포함된 Error 예외를 발생시킵니다. 존재하지 않는 오브젝트를 검색하려고 하면 이 문제가 발생합니다.
서비스 locator
메서드가 서버에 요청을 보내지 않기 때문에 오브젝트가 없는 경우에도 서비스 로케이터
메서드 호출이 실패하지 않습니다.
다음 예제에서는 get 메서드의 예외를 발생시키는 동안 서비스 로케이터 메서드가 성공합니다.In the following examples, the service locator
method will succeed, while the get
method will raise an exception:
존재하지 않는 가상 머신의 서비스 찾기: 오류 없음
Find the service that manages a virtual machine that does not exist. This will succeed.
# Find the service that manages a virtual machine that does
# not exist. This will succeed.
vm_service = vms_service.vm_service('non_existent_VM')
존재하지 않는 가상 머신 서비스 검색: 오류
Retrieve the virtual machine. This will raise an exception.
# Retrieve the virtual machine. This will raise an exception.
vm = vm_service.get