Información general

Aquí, con un conocimiento básico de Python, aprenderá cómo aprovechar el poder excepcional de las interfaces de aplicaciones web (API) para ampliar el poder de sus programas. La mayoría de los servicios de hosting web, junto con la mayoría de las aplicaciones web, proporcionan una API que le permite incorporar la funcionalidad de estas aplicaciones de terceros en sus programas. Aprenderá a hacer esto con una API de hosting web. Sin embargo, cuando trabaja con una API, es más fácil aprender a trabajar con cualquier API web. Debería dejar este artículo y tener la oportunidad de aprender y usar la API para cualquier servicio que se le ocurra.

Puede usar una API para automatizar las tareas tediosas que solía hacer manualmente, o puede usar las API para lograr sus objetivos y no solo mostrar sino crear las aplicaciones que muestra. Si alguna vez dices, “Me gustaría que hubiera una aplicación con x, y, y z”, es muy probable que aprender a usar las API te lleve un paso más cerca de crear esa aplicación en lugar de desear que exista.

Instale Python y configure un entorno virtual

Si aún no lo ha hecho, consulte este artículo sobre cómo instalar y configurar Python. Configurar un entorno virtual para separar cada proyecto de otros proyectos y del resto de su sistema operativo es una buena idea. Es posible que esté realizando cambios en su entorno virtual que podrían tener consecuencias no deseadas.

Aprenda los conceptos básicos de Python

Este artículo no requiere que seas un desarrollador experimentado, pero asume algunos conocimientos básicos de Python. Estas <"Einführung in Python"> debería ser suficiente para empezar. Sin embargo, es posible que desee buscar otros tutoriales y formas de practicar la creación de scripts simples.

API (interfaz de programación de aplicaciones web)

Una API es esencialmente una serie de componentes básicos que proporcionan otros servicios y programas para ampliar el alcance de sus programas. Webopedia entra en más detalles con esta definición:

Una interfaz de programa de aplicación (API) es un conjunto de rutinas, protocolos y herramientas que se utilizan para crear aplicaciones de software. Una API especifica cómo deben interactuar los componentes de software. Además, las API se utilizan al programar componentes GUI (interfaz gráfica de usuario). Una buena API facilita el desarrollo de un programa al proporcionar todos los componentes básicos. Luego, un programador junta los bloques.

Sección 1: Uso de una API de hosting web

Muchos servicios de hosting web proporcionan una API web que le permite interactuar mediante programación con su cuenta, crear y eliminar servidores virtuales y prácticamente cualquier cosa que se le ocurra automatizar mediante programación.

En este artículo, usaremos la API de Digital Ocean como un ejemplo ilustrativo para presentar las API y algunas de las posibilidades que puede lograr con ellas.

Métodos básicos de API

Por más complejas que parezcan las API a primera vista, en su mayoría envían solicitudes HTTP al servidor.

  • GET: pide algo al servidor
  • POST: le pide al servidor que cree algo
  • PUT: le pide al servidor que agregue algo
  • ELIMINAR: pide al servidor que elimine algo

Los componentes de una solicitud de API

Ya sea que envíe solicitudes a un servidor directamente a través de un navegador web o mediante programación, una solicitud de API debe contener los siguientes componentes:

  • La url
  • Los encabezados: los encabezados contienen los metadatos que el servidor necesita para procesar su solicitud (por ejemplo, ¿la solicitud es de un dispositivo móvil?).
  • El cuerpo de la solicitud contiene los datos reales (por ejemplo, los detalles del servidor virtual que desea iniciar).

Llamar y contestar

Envían solicitudes e inician acciones a través de comandos enviados a través de http. Esto significa que puede enviar comandos a través de URL utilizando un navegador web u otra aplicación (como Curl) que puede enviar solicitudes http. Luego, la API procesa su solicitud o realiza la acción y devuelve una respuesta.

Respuestas HTTP

Cuando envía una solicitud al servidor, las respuestas se envían de regreso, desde confirmar que se recibió la solicitud, confirmar que está realizando la tarea que solicitó, devolver la información que solicitó o realizar la tarea que solicitó al servidor. . Si algo sale mal, el servidor se lo informará para que pueda tomar medidas correctivas.

Códigos de estado

La mayoría de las personas reconocen los códigos de estado porque son el mismo tipo de códigos que se devuelven cuando un sitio web al que intenta acceder no funciona. Por ejemplo, es probable que haya visto códigos como “404 – Página no encontrada” y “500 – Error interno del servidor”. D, lo que significa éxito porque si todo funciona, no se requiere ningún mensaje de error mientras se navega por Internet sin problemas Su navegador web está extrayendo el código 200 de usted, ya que no es particularmente útil para usted.

Al hablar con servidores mediante programación, desea que su programa sepa que la solicitud al servidor se realizó correctamente o falló (y por qué falló, lo cual se indica mediante un código de estado).

Comprender cómo interactuar con los servicios mediante una API es mucho más que eso. Sin embargo, comprender el patrón básico de llamadas y respuestas es suficiente para comenzar a usar las API y aumentar sus conocimientos y habilidades con el tiempo.

Utilice una API para crear un servidor virtual

Para que le resulte más fácil comenzar a utilizar las API, utilizamos la API y Python de Digital Ocean para iniciar un servidor virtual (DO los llama “gotas”) de acuerdo con nuestras especificaciones. Lo que aprende aquí hace que sea mucho más fácil aprender a usar las API de otros proveedores de hosting web, así como las API de todo tipo de servicios. Una vez que esté utilizando una API en un solo lugar, una mirada instantánea sobre cómo puede automatizar las tareas que afectan a todos los tipos de servicios y sitios web que utiliza. En última instancia, esto puede ayudarlo a mejorar su juego técnico, pero también puede aclarar una gran cantidad de tiempo que solía pasar haciendo todo manualmente.

Genere un token de API único.

Normalmente, cuando desea utilizar una API, debe generar un token de API privado único que puede utilizar para acceder a los servicios de la API. En la práctica, puede pensar en su token de API como una especie de contraseña. Puede generar varios tokens, ya que es una buena idea utilizar un token diferente para diferentes aplicaciones.

El proceso de Digital Ocean (muy similar a otros)

  1. Inicie sesión en su cuenta de Digital Ocean, luego vaya a la suya Tablero de conmutadores.
  2. En el menú de navegación superior, haga clic en API

Luego haga clic en Generar nuevo token

Instale un contenedor de Python para la API de Digital Ocean

A menudo, los usuarios desarrollan “envoltorios” para diferentes lenguajes de programación con el fin de abstraer algunos detalles y facilitar la creación de scripts. En este ejemplo, estamos usando un contenedor de Python llamado Python-Digital Ocean que tiene buenas críticas y comienza con enlaces de GitHub y Digital Ocean, lo que aumenta la credibilidad del contenedor.

A continuación, se supone que ha seguido los pasos de la Guía de instalación de Python, que incluye instrucciones sobre cómo instalar el administrador de paquetes Pip, y que ha iniciado un entorno virtual que es la mejor práctica para cada proyecto (consulte el artículo de instalación para obtener más detalles ).

Aquí está el proyecto Github mantenido por el desarrollador que amablemente creó Python Digitalocean para facilitar la comunicación con la API usando código Python.

Instale la envoltura.

$ pip install -U python-digitalocean

Cree un programa llamado created.py con la siguiente información:

#!/usr/bin/env python3

import digitalocean
import time 

droplet="Your_Secret_API_Token", # replace with your API token
                               name="Example1", # give your virtual server (droplet) a name
                               region='sfo2', # choose region (find in "Droplets" in nav bar in Digital Ocean)
                               image="ubuntu-14-04-x64", # Ubuntu 14.04 x64 # Choose your OS details
                               size_slug='1GB',  # Choose size
                               backups=True)
# The backup attribute's an example. There are many more things you can do.

droplet.create() # Now the script runs the droplet create function!

created = False # Initialize "created" to false 
# Run the following while and for loop until the server returns "completed," 
while not created: # while loop
    print('Creating Droplet')
    time.sleep(10) # This prints to your console every 10 seconds until droplet's completed
   actions = droplet.get_actions()
    for action in actions: # A for loop embedded in the while loop
        action.load()
        if action.status == 'completed': # When the droplet's ready, completed is true
            created = True # Completed is true, and loop ends.

# Once loop ends the program moves on to whatever's after the loop

print("Droplet Completed!")

Ejecutemos nuestro programa.

$ python created.py
Creating Droplet
Creating Droplet
Completed

El programa se repitió unas cuantas veces (agregamos un retraso de 10 segundos en el medio) y esperamos a que el servidor regresara al estado “Completado”. A continuación, se le devolverá “Droplet Complete”.

Este script lo mantuvo simple, pero puede agregar más para automatizar el proceso, incluida la instalación del firewall, la configuración de ssh, etc. Si necesita crear varios servidores virtuales al mismo tiempo, puede modificar el script para automatizar este proceso.

Conclusión

Entonces, puede ver cómo al aprender Python y trabajar con API puede ahorrar mucho trabajo manual, automatizar tareas tediosas y administrar su hosting web de manera más eficiente. Al aprender sobre Python y cómo funciona una API, puede ampliar enormemente su conocimiento sobre cómo funciona la web, mejorando así sus habilidades y conocimientos técnicos.

Ha dado los primeros pasos en el uso de la programación para resolver problemas y trabajar de manera más eficiente. Siga buscando libros, tutoriales y formas de crear guiones más útiles. Se sorprenderá de lo rápido que puede pasar de los ejercicios de aprendizaje a la creación de guiones útiles.

Consulte los 3 mejores servicios VPS: