Merge pull request #29328 from wxy/20230418.2-️-Talk-to-your-cluster-with-this-open-source-Python-API-wrapper

RP:published/20230418.2 ️ Talk to your cluster with this open source Python API wrapper.md
This commit is contained in:
Xingyu.Wang 2023-05-07 23:30:15 +08:00 committed by GitHub
commit 2079f661d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,24 +3,28 @@
[#]: author: "Ruth Netser https://opensource.com/users/rnetser1"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-15793-1.html"
使用这个开源 Python API 封装器与你的集群对话
使用开源 Python API 封装器与你的集群对话
======
围绕 API 创建封装器的开源项目正变得越来越流行。这些项目使开发人员更容易与 API 交互并在他们的应用中使用它们。`openshift-python-wrapper` 项目是 [openshift-restclient-python][1] 的封装器。最初是一个帮助我们的团队使用 OpenShift API 的内部包,后来变成了一个[开源项目][2] (Apache License 2.0)。
![][0]
> 结合开放的 API 和 Python 编程语言的力量。
围绕 API 创建封装器的开源项目正变得越来越流行。这些项目使开发人员更容易与 API 交互并在他们的应用中使用它们。`openshift-python-wrapper` 项目是 [openshift-restclient-python][1] 的封装器。最初是一个帮助我们的团队使用 OpenShift API 的内部包,后来变成了一个[开源项目][2]Apache 许可证 2.0)。
本文讨论了什么是 API 封装器,为什么它很有用,以及封装器的一些例子。
### 为什么要使用 API 封装器?
API 封装器是位于应用和 API 之间的一层代码。它通过抽象出一些涉及发出请求和解析响应的复杂性来简化 API 访问过程。封装器还可以提供 API 本身提供的功能之外的附加功能,例如缓存或错误处理。
API 封装器是位于应用和 API 之间的一层代码。它通过一些涉及发出请求和解析响应的复杂性抽象出,以简化 API 访问过程。封装器还可以提供 API 本身提供的功能之外的附加功能,例如缓存或错误处理。
使用 API 封装器使代码更加模块化并且更易于维护。无需为每个 API 编写自定义代码,你可以使用封装器来提供与 API 交互的一致接口。它可以节省时间,避免代码重复,并减少出错的机会。
使用 API 封装器的另一个好处是它可以保护你的代码免受 API 更改的影响。如果 API 更改了它的接口,你可以更新封装器代码而无需修改你的应用程序代码。随着时间的推移,这可以减少维护应用程序所需的工作。
使用 API 封装器的另一个好处是它可以保护你的代码免受 API 变化的影响。如果 API 更改了它的接口,你可以更新封装器代码而无需修改你的应用程序代码。随着时间的推移,这可以减少维护应用程序所需的工作。
### 安装
@ -32,9 +36,9 @@ $ python3 -m pip install openshift-python-wrapper
### Python 封装器
[OpenShift REST API][5] 提供对 OpenShift 平台的许多功能的编程访问。封装器提供了一个简单直观的界面,用于使用 `openshift-restclient-python` 库与 API 进行交互。它标准化了如何使用集群资源并提供统一的资源 CRUD创建、读取、更新和删除流程。它还提供额外的功能例如需要由用户实现的特定于资源的功能。随着时间的推移封装器使代码更易于阅读和维护。
[OpenShift REST API][5] 提供对 OpenShift 平台的许多功能的编程访问。封装器提供了一个简单直观的界面,用于使用 `openshift-restclient-python` 库与 API 进行交互。它标准化了如何使用集群资源并提供统一的资源 CRUD创建、读取、更新和删除流程。它还提供额外的功能例如需要由用户实现的特定于资源的功能。随着时间的推移封装器使代码更易于阅读和维护。
简化用法的一个示例是与容器交互。在容器内运行命令需要使用 Kubernetes 流、处理错误等。封装器处理这一切并提供[简单直观的功能][6]。
简化用法的一个示例是与容器交互。在容器内运行命令需要使用 Kubernetes 流、处理错误等。封装器处理这一切并提供 [简单直观的功能][6]。
```
>>> from ocp_resources.pod import Pod
@ -84,10 +88,12 @@ ip-10-0-128-213.ec2.internal
### 开源社区的开源代码
套用一句流行的说法,“如果你喜欢你的代码,就把它释放出来。” `openshift-python-wrapper` 项目最初是作为 [OpenShift 虚拟化][7]的实用模块。随着越来越多的项目从代码中受益,我们决定将这些程序提取到一个单独的仓库中并将其开源。套用另一句俗语,“如果代码没有返回给你,就意味着它从来就不是你的。” 我们喜欢说,一旦发生这种情况,它就是真正的开源。
套用一句流行的说法,“如果你热爱你的代码,就应该让它自由。” `openshift-python-wrapper` 项目最初是作为 [OpenShift 虚拟化][7] 的实用模块。随着越来越多的项目从代码中受益,我们决定将这些程序提取到一个单独的仓库中并将其开源。套用另一句俗语,“如果代码不回到你这里,那就意味着它从未属于你。” 一旦这种情况发生,它就真正成为了开源。
更多的贡献者和维护者意味着代码属于社区。欢迎大家贡献。
*题图MJ/5ca32a4a-2194-4b36-ade9-053433e79201*
--------------------------------------------------------------------------------
via: https://opensource.com/article/23/4/cluster-open-source-python-api-wrapper
@ -95,7 +101,7 @@ via: https://opensource.com/article/23/4/cluster-open-source-python-api-wrapper
作者:[Ruth Netser][a]
选题:[lkxed][b]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
@ -107,4 +113,5 @@ via: https://opensource.com/article/23/4/cluster-open-source-python-api-wrapper
[4]: https://opensource.com/downloads/pip-cheat-sheet
[5]: https://access.redhat.com/documentation/en-us/openshift_container_platform/3.5/html-single/using_the_openshift_rest_api/index?intcmp=7013a000002qLH8AAM
[6]: https://github.com/RedHatQE/openshift-python-wrapper/blob/main/ocp_resources/pod.py#L72
[7]: https://www.redhat.com/en/technologies/cloud-computing/openshift/virtualization?intcmp=7013a000002qLH8AAM
[7]: https://www.redhat.com/en/technologies/cloud-computing/openshift/virtualization?intcmp=7013a000002qLH8AAM
[0]: https://img.linux.net.cn/data/attachment/album/202305/07/232516w8j766mkp7pz7frl.png