Crea un proxy de API configurable

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

Con los proxies de API de VISTA PREVIA configurables, los usuarios de Apigee pueden crear e implementar un proxy ligero mediante una configuración declarativa, similar al modelo de recursos de Kubernetes. En esta página, se describen los pasos necesarios para crear un proxy configurable y, luego, implementarlo mediante el nuevo mecanismo de implementación basado en archivos.

Para obtener más información sobre los proxies de API de VISTA PREVIA configurables, consulta Proxies de API configurables.

El desarrollo de proxy de API configurable de VISTA PREVIA está disponible solo para clientes con organizaciones de suscripción pagada de Apigee. Los clientes de Apigee con organizaciones de prepago pueden crear proxies de API programables.

Antes de comenzar

En este instructivo, suponemos que ya aprovisionaste una organización de Apigee y que instalaste Apigee. De lo contrario, consulta la Introducción al aprovisionamiento para conocer los pasos necesarios a fin de instalar y configurar Apigee antes de continuar.

Antes de comenzar este instructivo, completa los siguientes pasos adicionales:

  1. Confirma que el SDK de Cloud se haya descargado e instalado en tu máquina.

    Descarga el SDK de Cloud

  2. Actualiza los componentes de gcloud:
    gcloud components update
  3. Confirma tus credenciales de Apigee y detalles de la organización, ya que serán necesarios a fin de aprovisionar un entorno para el proxy de API configurable.

Aprovisiona un entorno de Apigee

Antes de crear la configuración de tu proxy, debes aprovisionar un entorno de Apigee que admita proxies configurables. Un entorno es un contexto de ejecución del entorno de ejecución para los proxies de API y los flujos compartidos en una organización. Debes implementar un proxy de API en un entorno para poder acceder a él. Puedes implementar un proxy de API en un solo entorno o en varios.

Para obtener más detalles, consulta Información acerca de los entornos y grupos de entornos.

To create a new environment in the UI:

  1. Open the Apigee UI in a browser.
  2. Select Admin > Environments > Overview in the left navigation menu.

    The UI displays a set of cards, each one representing an existing environment:

    Environment cards

    If this is your first time accessing the Environment view, there will be no environments.

  3. Click +ENVIRONMENT.

    The New environment dialog box displays:

    New Environment dialog

  4. Enter the following information in the New Environment dialog box:
    1. Display name: A friendly name for the environment that is used in the UI. For example, My Test Environment.
    2. Environment name: The programmatic name for the environment. This value will be part of the request URL for your API proxies and should not contain any spaces or other special characters. It can only letters, numbers, and hyphens. For example, my-environment-1.

      The new environment's name cannot be changed after it has been created.

    3. Description (optional): Additional information about the environment that you want to add as a reminder.
    4. Deployment type (Preview): Select Archive as the deployment type.

    All fields except Description are required.

  5. Click OK.

    The card displays Pending Provisioning status while Apigee creates the new environment, as the following example shows:

    Pending provisioning label

    There can be a several minute delay before the new environment is provisioned.

    When it's done, the Apigee UI displays the new environment as a card with other environments that you have created:

    Environment cards

Adjunta el entorno a una instancia de Apigee

Después de crear un entorno nuevo, debes adjuntar el entorno nuevo a la instancia de Apigee para que sea accesible. Puedes hacerlo a través de la IU cuando creas una instancia nueva (si el entorno ya existe). En este caso, si ya creaste una instancia, puedes adjuntar el entorno nuevo con la API de creación de adjuntos de instancias.

Para ver un ejemplo del proceso, consulta Crea un entorno en la documentación de aprovisionamiento de la línea de comandos.

Para este instructivo, puedes usar el siguiente comando:

operation_name=$(curl -s -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  "https://apigee.googleapis.com/v1/organizations/PROJECT_ID/instances/INSTANCE_NAME/attachments" \
  -X POST -H "content-type:application/json"\
  -d '{"environment":"ENV_NAME"}' | jq -r '.name' )

Aquí:

  • PROJECT_ID es el ID del proyecto de Cloud en el que se crea tu entorno de Apigee. Debería ser el mismo que el nombre de la organización de Apigee.
  • INSTANCE_NAME es el nombre de tu instancia de Apigee.
  • ENV_NAME es el nombre del entorno en el que se implementará el proxy de API configurable.

Esto muestra una operación de larga duración. Puedes sondear la operación con el siguiente comando hasta que el resultado muestre que la operación es done: true.

curl -s -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  "https://apigee.googleapis.com/v1/$operation_name"

Configura un grupo de entorno

Un grupo de entornos (a veces llamado envgroup en las API de Apigee) es el mecanismo básico para definir la forma en que se enrutan las solicitudes a entornos individuales. Defines nombres de host en tus grupos de entornos (no en entornos individuales), y Apigee enruta las solicitudes a los entornos dentro de un grupo mediante esas definiciones de nombre de host.

Los entornos no asignados a grupos no tienen nombres de host que apunten a ellos y, por lo tanto, no se puede acceder a ellos. Para obtener más información, consulta Crea grupos de entornos.

A fin de configurar un grupo de entornos para tu entorno nuevo, haz lo siguiente:

  1. In the Apigee UI, select Admin > Environments > Groups.
  2. Click +Environment Group:

    Add environment button

    The Add an Environment Group dialog displays.

  3. Enter a name for your new environment group:

    Add environment group

    The name can contain only lower case letters, numbers, and hyphens. In addition, it must start with a letter, be at least two characters long, and cannot end with a hyphen. Valid names include my-env-group and prod2.

  4. Click Add.

    Apigee creates a new environment group. This is usually a very quick operation.

    On a successful operation, Apigee confirms that the group has been created with a banner that looks like the following:

    Group confirmation banner

    Apigee also assigns a default host name to the new group.

  5. (Optional) Assign additional host names to the new group by clicking for that group.

    Apigee displays the Environment group details pane:

    Environment group details

  6. Add host names to the Hostnames field. Each host name must be on a separate line.
  7. Click Save when you're done.

    You can add and remove host names to this list at any time using the same procedure.

Crea el archivo del proxy

Para crear un archivo de proxy de API de VISTA PREVIA configurable, haz lo siguiente:

  1. En su entorno local, crea un directorio para almacenar su lugar de trabajo de Apigee en tu sistema de archivos local. Este directorio será la base de la estructura de su archivo de proxies de API de PREVIEW configurable, como se muestra a continuación:
    .
    └── src
        └── main
            └── apigee
                ├── apiproxies
                │   ├── <proxy-name>
                │   │   └── config.yaml
                │   ├── <proxy-name>
                │   │   └── config.yaml
                └── environments
                    ├── <env-name>
                    │   ├── deployments.json
                    │   └── targetservers.json
    mkdir -p SOURCE_DIR/src/main/apigee/apiproxies/PROXY_NAME

    Donde:

    • SOURCE_DIR es el nombre del directorio de archivos.
    • PROXY_NAME es el nombre del proxy configurable.

    Por ejemplo:

    mkdir -p my-dir/src/main/apigee/apiproxies/my-proxy
  2. Crea un archivo nuevo para la configuración del proxy con el siguiente comando:
    vi SOURCE_DIR/src/main/apigee/apiproxies/PROXY_NAME/config.yaml

    Por ejemplo:

    vi my-dir/src/main/apigee/apiproxies/my-proxy/config.yaml

    Tu archivo de configuración de proxy debe usar uno de los siguientes nombres de archivo:

    • config.yaml
    • config.json
    • config.yml
  3. Copia la siguiente configuración de proxy en el archivo config.yaml nuevo:
    # config.yaml
    
    basepath: "/helloworld"
    operations:
    - id: get-user
      http_match:
      - path_template: "/user"
        method: GET
    target:
      uri: "https://mocktarget.apigee.net"
    
  4. Crea un archivo deployments.json con el siguiente comando:
    vi SOURCE_DIR/src/main/apigee/environments/ENV_NAME/deployments.json
    

    Por ejemplo:

    vi my-dir/src/main/apigee/environments/prod/deployments.json
  5. Copia lo siguiente en el archivo deployments.json nuevo:
  6. {
      "proxies" : ["PROXY_NAME"]
    }
      

Para obtener más ejemplos, consulta Ejemplos de configuración de proxy configurable.

Implementa el archivo

Para implementar un archivo en un entorno de Apigee, usa el siguiente comando de gcloud:

gcloud alpha apigee archives deploy \
--organization=PROJECT_ID \
--environment=ENV_NAME \
--source=SOURCE_DIR

Por ejemplo:

gcloud alpha apigee archives deploy \
--organization=my-project \
--environment=prod \
--source=my-dir

Debes especificar el entorno de Apigee en el que deseas implementar el archivo mediante la marca --environment. El entorno de Apigee debe estar habilitado para las implementaciones de archivo.

Para obtener más información sobre la administración de implementaciones de archivos, consulta Implementa y administra archivos en un entorno de Apigee.

Comprueba el estado de implementación del archivo

Para verificar el estado de implementación del archivo, usa el comando gcloud alpha apigee operations.

En el siguiente ejemplo, se muestra el estado de implementación del archivo para la operación con el ID de revisión 439fa3f7-6aa4-42ad-8b12-3ca912c75d5c es IN_PROGRESS.

gcloud alpha apigee operations describe b64c2665-b5ac-43cc-9e2d-232e8895c2ed

A continuación, se proporciona un ejemplo de la respuesta:

Using Apigee organization 'myorg'
Waiting for operation [b64c2665-b5ac-43cc-9e2d-232e8895c2ed] to complete...done.

Para obtener información adicional sobre cómo enumerar implementaciones de archivos, ver detalles de tus implementaciones o borrar un entorno con implementaciones de archivos, consulta Implementa y administra archivos en un entorno de Apigee.