Desplegar API de Wrapper

Oracle Blockchain Platform Digital Assets Edition permite la generación de API de envoltorio para todas las API de controlador dentro del código de cadena generado por App Builder. En este tema se proporcionan pasos detallados para desplegar el paquete de API de envoltorio en el gestor de recursos de pila y probar las API de envoltorio mediante la recopilación Postman asociada.

Cuando el paquete de API de envoltorio se genera mediante Blockchain App Builder, crea dos archivos con convenciones de nomenclatura por defecto en el directorio elegido:

  1. <ChaincodeName>WrapperAPI.zip: este archivo contiene el script de Terraform necesario para desplegar las API de envoltorio en Oracle Cloud Infrastructure Resource Manager.
  2. <ChaincodeName>_WrapperAPI.postman_collection.json: recopilación de Postman utilizada para probar las API de envoltorio después del despliegue.

Para desplegar las API de envoltorio, el archivo WrapperAPI.zip se debe utilizar en OCI Resource Manager.

Requisitos

Los requisitos para desplegar el paquete de API de envoltorio son los siguientes:

  • El paquete de API de envoltorio se debe generar mediante el creador de aplicaciones.
  • El paquete debe incluir todos los valores de variable de configuración y de punto final necesarios para las API de envoltorio.
Despliegue del paquete de API de Wrapper
  1. Inicie sesión en OCI.
    Abra la consola de OCI y conéctese: https://cloud.oracle.com/.
    Asegúrese de que está en el compartimento donde se desplegará la pila.
  2. Amplíe el menú Navegación. Seleccione Servicios para desarrolladores. En Gestor de recursos, seleccione Pilas.
    Se abre la interfaz de Resource Manager para las pilas. Puede ver pilas existentes, crear nuevas pilas y gestionar su infraestructura como código mediante las configuraciones de Terraform.
  3. Cree una nueva pila haciendo clic en Crear pila.
  4. Configure la información de pila.
    1. En la sección Configuración de Terraform, seleccione Mi configuración.
    2. En Configuración de pila, Origen de configuración de Terraform, seleccione .zip file.
    3. Haga clic en Examinar y vaya al archivo zip de las API de envoltorio.
    4. Una vez cargado, asegúrese de que el nombre de pila es correcto.
    5. Todas las configuraciones restantes se pueden mantener como predeterminadas. Haga clic en Siguiente.
  5. Configure las variables de pila.
    1. Verifique que todos los valores de las variables de configuración sean precisos y se alineen con las variables de configuración especificadas en el paquete de API de envoltorio para cumplir los requisitos de su despliegue.
    2. En ocir_user_name, introduzca la dirección de correo electrónico asociada a su cuenta de OCI.
    3. En ocir_user_password, introduzca la contraseña, que es el token de autenticación de Oracle Cloud Infrastructure. Este token se puede generar en la consola de OCI en la configuración de usuario. El token de autenticación sirve como contraseña para conectarse a Oracle Cloud Infrastructure Registry (OCIR).
      Para obtener instrucciones detalladas sobre la generación del token de autenticación, consulte Generación de un token de autenticación.
    4. Todas las configuraciones restantes se pueden mantener como predeterminadas. Haga clic en Siguiente.
  6. Revise la información de pila. Si todo es correcto, haga clic en Crear.
  7. Ejecute el plan de Terraform.
    1. En la página Detalles de la pila, haga clic en Planificar para iniciar la creación de un plan de ejecución.
    2. Opcionalmente, configure el plan de trabajo. Puede editar el nombre por defecto o seleccionar opciones avanzadas para cambiar la versión del proveedor de la configuración de ajuste.
    3. Haga clic en Plan para crear y ejecutar el trabajo de plan.
      De esta forma se analizará la configuración de Terraform, se generará un plan de ejecución y se ejecutará el plan que realiza lo siguiente:
      • Valida el script de Terraform para garantizar que no haya errores de sintaxis ni de configuración.
      • Simula el proceso de creación de recursos sin realizar ningún cambio en la infraestructura real.
      • Proporciona un resumen de salida que enumera los recursos que la secuencia de comandos pretende crear, modificar o destruir.
    4. Supervise el estado en la sección Trabajos de la pila. Una vez que el plan se haya completado correctamente, revise la salida para confirmar el número de recursos que se crearán y verifique que no hay problemas.
  8. Aplique el plan de Terraform a la pila.
    1. En la página Detalles de la pila, haga clic en Aplicar.
    2. En el panel de aplicación de Terraform, haga clic en Aplicar.
      Esto hará lo siguiente:
      • Aprovisiona todos los siguientes recursos según se definen en el script de Terraform:
        • Red virtual en la nube (VCN)
        • Aplicaciones (OCI Functions)
        • Gateway de API
        • Despliegue de la API
        • Política de IAM
        • Repositorio de registro de OCI
      • Crea toda la infraestructura necesaria para las API de envoltorio.
    3. Supervise el estado en la sección Trabajos de la pila para asegurarse de que el trabajo se ha completado correctamente sin errores.
  9. Recupere los puntos finales de API Gateway.
    1. Una vez finalizado el trabajo Aplicar, vaya a la sección Salidas de la página Aplicar trabajo para ver los valores de salida generados.
    2. La salida devolverá un objeto JSON donde las claves representan los nombres de punto final y los valores son sus valores de punto final correspondientes.
      Por ejemplo:
      api_gateway_endpoints{"api_gateway_endpoint":"https://grqkdiwsugp3fp2m5z3zgpo4.apigateway.ap-mumbai-1.oci.customer-oci.com/WholesaleCBDC"}
    3. Copie el punto final: es necesario para actualizar la recopilación de API Postman.
Prueba de API de Wrapper con Postman

Puede probar las API en Postman. Configure todas las variables de la recopilación Postman de API de envoltorio asignando los valores adecuados. El valor api_gateway_endpoint se debe obtener de la salida del despliegue de pila en OCI, donde se proporcionarán los puntos finales de gateway generados dinámicamente.

Una vez que se hayan actualizado las variables de la recopilación de Postman, puede probar las API de envoltorio. Cada solicitud de API de la recopilación incluye la carga útil necesaria específica para la API de envoltorio correspondiente.

Figura 6-1 Prueba de una Recopilación de Envoltorios de API con Postman


En la imagen se muestra Postman ejecutando una API de la recopilación mediante la API de gateway generada.

Solución de Problemas

A continuación se muestran algunos problemas que se suelen encontrar y sus soluciones.

No autorizado: ocir_user_name o ocir_user_password no válidos
Este error se produce cuando las credenciales de nombre de usuario o contraseña son incorrectas. Para solucionar este problema, siga estos pasos:
  1. Vaya a la sección Variables de la página Detalles de pila.
  2. Haga clic en Editar variables para modificar los valores de nombre de usuario y contraseña.
  3. Actualice las credenciales con la información correcta.
  4. Una vez realizados los cambios, haga clic en Aplicar para volver a desplegar la pila.

Esto debería resolver el problema de autenticación y permitir que el despliegue continúe correctamente.

Fallo de despliegue: "denegado: solo se permite a los usuarios anónimos acceso de lectura en repositorios públicos"
En ocasiones, el despliegue puede fallar con el siguiente error:
denied: Anonymous users are only allowed read access on public repos

Se trata de un problema intermitente relacionado con las operaciones de Docker en el backend de la pila. En concreto, este error se produce al intentar transferir imágenes de Docker a Oracle Cloud Infrastructure Registry (OCIR) sin la autenticación adecuada.

Si bien el paquete de API de envoltorio incluye un script que realiza docker login antes de transferir las imágenes, lo que garantiza una autenticación adecuada, este error puede producirse de forma esporádica. Normalmente ocurre cuando el sistema no reconoce correctamente el paso de autenticación de Docker en el momento de la transferencia de imágenes.

Si se produce este error, siga estos pasos para resolver el problema:

  1. Destruir recursos existentes:

    Haga clic en Destruir en OCI Stack Resource Manager para destruir todos los recursos creados durante el proceso de despliegue.

  2. Vuelva a aplicar la pila:

    Después de destruir los recursos, vuelva a hacer clic en Aplicar para volver a desplegar la pila. Esto disparará la creación de los recursos necesarios, incluida la autenticación adecuada de Docker, y debe resolver el problema.

Fallo de Despliegue Genérico: Problemas Intermitentes
A veces, el despliegue de pila puede fallar debido a problemas aleatorios como los relacionados con docker. En estos casos, siga estos pasos para resolver el problema:
  1. Haga clic en Destruir para eliminar todos los recursos creados durante el despliegue fallido.
  2. Una vez destruidos los recursos, vuelva a la pila y haga clic en Aplicar para volver a desplegar la pila.

Este proceso a menudo resuelve problemas intermitentes, lo que permite que el despliegue continúe correctamente.