2.3.3. Get


get 方法检索单个对象的表示。

以下示例找到并检索具有标识符 123 的虚拟机表示:

# Find the service that manages the virtual machine:
vms_service = system_service.vms_service
vm_service = vms_service.vm_service('123')

# Retrieve the representation of the virtual machine:
vm = vm_service.get

结果将是相应类型的实例。在本例中,结果是 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:
vm = vm_service.get(next_run: true)

详情请查看软件开发工具包的 参考文档

如果无法检索对象,则软件开发工具包将引发 Error 异常,其中包含故障的详细信息。如果您尝试检索不存在的对象,会出现这种情况。

注意

服务 locator 方法的调用永远不会失败,即使对象不存在,因为 服务 locator 方法不会将请求发送到服务器。

在以下示例中,服务 locator 方法将 成功,而 get 方法会引发异常:

查找不存在的虚拟机服务: No Error

# 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.
vm = vm_service.get

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.