CloudControl es una plataforma en la nube muy parecida a Heroku. Crear un complemento de cloudControl es muy similar a crear un complemento de Heroku, pero hay algunas diferencias. Este artículo explica esas diferencias.
Introducción
El complemento de GroupDocs para cloudControl es una herramienta web que se puede instalar en cualquier aplicación web para proporcionar la funcionalidad de GroupDocs:
- Cree un nuevo usuario de GroupDocs con un plan gratuito y obtenga el ID de usuario y la clave privada para este usuario. Esto se hace automáticamente cuando se instala el complemento.
- El usuario puede cambiar el plan de pago utilizando la función de cambio de plan del complemento.
- Acceda a cualquier método de la API de GroupDocs utilizando la identificación del cliente y la clave privada (que puede obtener del complemento). Creamos este ejemplo que muestra cómo usar el complemento y el SDK de Python de GroupDocs para algunas acciones básicas.
Requisitos
- Herramienta Kensa
- herramienta de control de la nube
- Python 2.7
- aplicación de control en la nube
Crear el complemento
El proceso para crear un complemento de cloudControl es el mismo que para crear un complemento de Heroku, pero, como dije antes, con un par de diferencias. No entraremos en cómo crear el complemento porque Heroku tiene mucha documentación para esto y tú decides cómo lo construyes. Solo mostraré cuáles son exactamente las diferencias. Supongamos que ya tenemos un complemento genial de Heroku y queremos reconstruirlo para cloudControl:
- Instale las herramientas Kensa y cloudControl. Lo ayudan a administrar aplicaciones complementarias y de control de nube. Descubra cómo instalar la herramienta cloudControl.
- Después de instalar las herramientas, cambie el archivo addon-manifest.json. Contiene toda la información básica para la instalación de complementos, como qué variables de entorno se crearán y desde dónde descargar e instalar los archivos de complementos.
- Antes de cargar el archivo addon-manifest.json editado, configure la variable de entorno ADDONS\URL=https://api.cloudcontrol.com:.
- Especifique el servidor de producción. Heroku le pidió que especificara el servidor de producción y luego construyó la URL utilizada para aprovisionar su complemento al agregarle “/heroku/resources”. Ahora, proporcione un hash en lugar de una cadena y cambie “/heroku/resources” a “/cloudcontrol/resources”.
- Agregue “sso\salt”:“CONTRASEÑA” y “producción”: {“base\url”:“https://your.add-on.com/cloudcontrol/resources", “sso\url”:“https:/ /your.add-on.com/cloudcontrol/resources”}.
- Cambie “heroku\id” a “cloudcontrol\id” en los archivos adicionales.
- Cuando se hayan realizado los cambios, pruebe el complemento con las pruebas de Kensa ejecutándolo en la consola: kensa test provision y kensa deprovision test. [caption id=“adjunto\3488” align=“alignnone” width=“600” caption=“Kensa tests”]
- Si las pruebas pasan, envíe addon-manifest.json a cloudControl con kensa push -f addon-manifest.json. [caption id=“adjunto\3489” align=“alignnone” width=“600” caption=“Kensa push”]
- Instale el complemento en su aplicación cloudControl: cctrlapp TU\APLICACIÓN\NOMBRE addon.add TU\COMPLEMENTO\NOMBRE.AVIÓN
Ahora hemos publicado un complemento de cloudControl y lo hemos instalado. Hasta ahora, todo bien. ¿Cómo obtenemos las variables de entorno que crea el complemento? Vamos a averiguar.
Cómo obtener variables de entorno
En Heroku, esto es fácil. Por ejemplo, en Python podemos hacer esto con la línea os.environ[‘VARIABLE NAME’]. Si prueba esto en cloudControl, obtendrá solo algunas propiedades básicas de Python y no sus variables complementarias. En cloudControl, todas las variables de entorno creadas por el complemento se escriben en el archivo json que podemos obtener mediante CRED\FILE. Este es el nombre de una propiedad del sistema que contiene la ruta al archivo JSON con variables de entorno. Para obtener nuestros datos, todo lo que necesitamos es leer este archivo JSON y decodificar la cadena JSON. En Python, podemos hacer esto con este código:
credentialsFile = os.getenv('CRED\_FILE')
credentials = open(credentialsFile)
data = json.load(credentials)
credentials.close()
clientId = data\['GROUPDOCS'\]\['GROUPDOCS\_CID'\]
privateKey = data\['GROUPDOCS'\]\['GROUPDOCS\_PKEY'\]
Así es como obtenemos la identificación del cliente y la clave privada del usuario del complemento GroupDocs. Y eso es todo. Ahora sabe cuál es la diferencia entre los complementos de Heroku y cloudControl.