Esta página se aplica a Apigee y Apigee Hybrid.
Consulta la documentación de Apigee Edge.
Desarrolla y prueba tus proxies de API programables con Apigee en VS Code. Luego, implementa un archivo del entorno de configuración del proxy de API en el entorno de producción y de prueba de integración de Apigee, como se describe en las siguientes secciones.
Habilita la implementación de archivos en un entorno de Apigee
Antes de implementar un archivo, debes habilitar la implementación del archivo en el entorno de Apigee.
Habilita la implementación de archivos como se describe en las siguientes secciones.
IU clásica de Apigee
Para habilitar la implementación de archivos en tu entorno de Apigee, cuando crees un entorno de Apigee (fuera del asistente de aprovisionamiento), selecciona Archivar en Tipo de implementación.
API de Apigee
Para habilitar la implementación de archivos cuando creas un entorno con la API, configura deploymentType
como ARCHIVE
en el cuerpo de la solicitud.
Por ejemplo:
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-type: application/json" \ -d '{ "name": "integration-test", "description": "Integration test environment", "displayName" : "Integration test", "deploymentType" : "ARCHIVE" }'
En el ejemplo anterior, $TOKEN
está configurado como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0. Para obtener información sobre las opciones de curl
que se usan en este ejemplo, consulta Usa curl. Para obtener una descripción de las variables de entorno utilizadas, consulta Configura variables de entorno para solicitudes a la API de Apigee.
A continuación, se proporciona un ejemplo de la respuesta.
{ "name": "organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/$ORG/environments/integration-test", "state": "IN_PROGRESS" } }
Puedes verificar el estado de la operación. Por ejemplo:
curl https://apigee.googleapis.com/v1/organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7 / -H "Authorization: Bearer $TOKEN"
A continuación, se proporciona un ejemplo de la respuesta. Ten en cuenta que el estado de la operación es FINISHED
y el estado del entorno está configurado como ACTIVE
.
{ "name": "organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/$ORG/environments/integration-test", "state": "FINISHED" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.apigee.v1.Environment", "name": "integration-test", "description": "Integration test environment", "createdAt": "1615553880084", "lastModifiedAt": "1615553881911", "displayName": "Integration test", "state": "ACTIVE", "deploymentType": "ARCHIVE" } }
Para obtener más información sobre la API, consulta API de creación de entornos.
Implementa un archivo en un entorno de Apigee
Para implementar un archivo en un entorno de Apigee, usa el siguiente comando de gcloud
:
gcloud beta apigee archives deploy \ --environment=$ENV \ [--organization=$ORG] \ [--source=$SOURCE] \ [--labels $KEY=$VALUE[,$KEY2=$VALUE2,$KEY3=$VALUE3,...]]
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, consulta gcloud beta apigee archives deploy.
De forma predeterminada, el archivo se implementa:
- A la organización asociada con el proyecto activo actual configurado para
gcloud
.Para ver la configuración actual de gcloud, ejecuta
gcloud config list
. Para especificar la organización, usa la marca--organization
. - Desde el directorio de trabajo actual.
Si el directorio raíz desrc/main/apigee
del archivo está en una ubicación que no es el directorio de trabajo actual, usa la marca--source
para especificar la ubicación del directorio raíz del archivo. También consulta Comprende la estructura de un lugar de trabajo de Apigee.
De manera opcional, puedes agregar hasta 64 pares clave-valor de etiquetas personalizadas a una implementación de archivo con la marca --labels
. Por ejemplo, es posible que desees etiquetar un archivo con un número de compilación. Las etiquetas se mostrarán cuando enumeras las implementaciones de archivo. Los valores clave deben cumplir con los siguientes lineamientos:
- Longitud máxima de 63 caracteres
- El tamaño máximo es de 128 bytes.
- Codificado en UTF-8
- Se ajusta a la siguiente expresión regular compatible con Perl (PCRE):
[\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
En segundo plano, el comando gcloud
realiza los siguientes pasos cuando se implementa en Apigee en Google Cloud:
- Crea un archivo ZIP del directorio de tu lugar de trabajo de Apigee de
src/main/apigee
. Para obtener más información, consulta Comprende la estructura de un lugar de trabajo de Apigee. - Implementa el archivo en Apigee en Google Cloud de la siguiente manera:
- Genera una URL firmada para el bucket de Google Cloud Storage en el proyecto asociado con la organización de Apigee actual mediante la API de generateUploadUrl.
- Sube el archivo ZIP del bucket de Cloud Storage con la URL firmada.
- Implementa el archivo que se encuentra en etapa intermedia en el bucket de Cloud Storage en Apigee en Google Cloud. Usa la API de implementaciones de archivos.
Solicitudes de ejemplo
En el ejemplo siguiente, se crea un archivo ZIP de src/main/apigee
en el directorio actual y se implementa en el entorno de Apigee especificado:
gcloud beta apigee archives deploy --environment=$ENV
En el siguiente ejemplo, se muestra cómo puedes especificar una organización que no esté asociada con el proyecto activo actual configurado para gcloud
:
gcloud beta apigee archives deploy --environment=$ENV --organization=$ORG
En el siguiente ejemplo, se crea un archivo ZIP del directorio src/main/apigee
en myarchive
y se implementa en el entorno de Apigee especificado:
gcloud beta apigee archives deploy --environment=$ENV --source=/myarchive
En el siguiente ejemplo, se agregan las etiquetas status
y build_id
a la implementación del archivo:
gcloud beta apigee archives deploy --environment=$ENV --labels=status=released,build=210315
Respuesta de ejemplo
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.
Verifica 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. Ten en cuenta que state
se configura como IN_PROGRESS
.
Using Apigee organization 'myorg' done: true metadata: '@type': type.googleapis.com/google.cloud.apigee.v1.OperationMetadata operationType: INSERT state: IN_PROGRESS targetResourceName: uri name: organizations/myorg/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed organization: myorg response: '@type': type.googleapis.com/google.cloud.apigee.v1.CanaryEvaluation control: 1-5-0-20210319-071117-ghq74 endTime: '2021-03-20T06:15:44.329363950Z' metricLabels: env: test location: us-central1 name: uri startTime: '2021-03-20T06:14:44.306534584Z' treatment: 1-5-0-20210319-190954-if0wk verdict: NONE uuid: b64c2665-b5ac-43cc-9e2d-232e8895c2ed
Una vez que se completa la operación, state
se establece en FINISHED
.
Enumera todas las implementaciones de archivo en un entorno
Enumera todas las implementaciones de archivos en un entorno como se describe en las siguientes secciones.
gcloud
Para enumerar todas las implementaciones de archivos en Apigee en Google Cloud, usa el siguiente comando de gcloud
:
gcloud beta apigee archives list --environment=$ENV
Debes especificar el entorno de Apigee en el que deseas ver las implementaciones de archivo mediante la marca --environment
.
El entorno de Apigee debe ver detalles de una implementación de archivo.
Para obtener más información, consulta la gcloud beta apigee archives list.
A continuación, se proporciona un ejemplo de la respuesta.
Using Apigee organization 'myorg' ARCHIVE ID ENVIRONMENT DEPLOYED AT LABELS OPERATION STATUS pzfbs8uidbdv224joz myorg 2021-03-10 11:21:29 status=released,build=210315 Deployed fb4r8log2gm63r3gtu myorg 2021-03-05 13:40:30 vrytwbhso558oil53m myorg 2021-03-03 21:20:53
API de Apigee
Para enumerar las implementaciones de archivo en un entorno, envía una solicitud GET a la siguiente API: https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments
.
Por ejemplo:
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments" \ -H "Authorization: Bearer $TOKEN"
En el ejemplo anterior, $TOKEN
está configurado como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0. Para obtener información sobre las opciones de curl
que se usan en este ejemplo, consulta Usa curl. Para obtener una descripción de las variables de entorno utilizadas, consulta Configura variables de entorno para solicitudes a la API de Apigee.
A continuación, se proporciona un ejemplo de la respuesta.
{ "archiveDeployments": [ { "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz", "labels": { "status": "released", "build": "210315" }, "createdAt": "1615821232451727", "updatedAt": "1615821232451727", "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed" }, { "name": "organizations/myorg/environments/integration-test/archiveDeployments/fb4r8log2gm63r3gtu", "createdAt": "1615819281858447", "updatedAt": "1615819281858447", "operation": "organizations/apigee-docs-c/operations/71549b9c-4493-41b6-9838-c0ad5b1b3181" }, { "name": "organizations/myorg/environments/integration-test/archiveDeployments/vrytwbhso558oil53m", "createdAt": "1615578337832207", "updatedAt": "1615578337832207", "operation": "organizations/apigee-docs-c/operations/a2eb50b5-f276-4de4-96a3-72fac3d4c05e" } ] }
Visualiza los detalles de una implementación de archivo
Consulta los detalles de una implementación de archivo, como se describe en las siguientes secciones.
gcloud
Para ver los detalles de una implementación de archivos en Apigee en Google Cloud, usa el siguiente comando de gcloud
:
gcloud beta apigee archives describe $ID --environment=$ENV
Debes especificar lo siguiente:
- ID de la revisión de la implementación del archivo.
- Entorno de Apigee en el que deseas ver las implementaciones de archivo con la marca
--environment
. El entorno de Apigee debe estar habilitado para las implementaciones de archivo.
Para obtener más información, consulta gcloud beta apigee archives describe.
Por ejemplo:
gcloud apigee archives describe pzfbs8uidbdv224joz --environment=$ENV
A continuación, se proporciona un ejemplo de la respuesta.
Using Apigee organization 'myorg' createdAt: '1615578337832207' labels: status: 'released' build: '210315' name: organizations/myorg/environments/$ENV/archiveDeployments/pzfbs8uidbdv224joz operation: organizations/myorg/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed operationStatus: Deployed updatedAt: '1615821232451727'
API de Apigee
Para ver los detalles de una implementación de archivo, envía una solicitud GET a la siguiente API: https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID
.
Debes pasar el ID de la revisión de la implementación del archivo. Para ver la lista de ID de revisión de la implementación de archivos para un entorno de Apigee, consulta Enumera todas las implementaciones de archivos en un entorno.
Por ejemplo:
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/pzfbs8uidbdv224joz" \ -X GET \ -H "Authorization: Bearer $TOKEN"
En el ejemplo anterior, $TOKEN
está configurado como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0. Para obtener información sobre las opciones de curl
que se usan en este ejemplo, consulta Usa curl. Para obtener una descripción de las variables de entorno utilizadas, consulta Configura variables de entorno para solicitudes a la API de Apigee.
A continuación, se proporciona un ejemplo de la respuesta.
{ "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz", "labels": { "status": "released", "build": "210315" }, "createdAt": "1615578337832207", "updatedAt": "1615821232451727", "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed" }
Actualiza etiquetas para una implementación de archivo
Actualiza las etiquetas de una implementación de archivo como se describe en las siguientes secciones.
gcloud
Para actualizar las etiquetas de una implementación de archivo en Apigee en Google Cloud, usa el siguiente comando de gcloud
:
gcloud beta apigee archives update [$ID] --environment=$ENV [--update-labels=$KEY=$VALUE[,$KEY2=$VALUE2...$KEYn=$VALUEn]], [--clear-labels | --remove-labels=$KEY[,$KEY2...$KEYn]]
Debes especificar lo siguiente:
- ID de la revisión de la implementación del archivo
- Entorno de Apigee en el que deseas ver las implementaciones de archivo con la marca
--environment
. El entorno de Apigee debe estar habilitado para las implementaciones de archivo. - Una o más de las siguientes marcas:
Marca Descripción --clear-labels
Quita todas las etiquetas. Si también se especifica --update-labels
, primero se aplica--clear-labels
.No se puede especificar si se indica
--remove-labels
.--remove-labels
Quita las etiquetas especificadas. Si también se especifica --update-labels
, primero se aplica.No se puede especificar si se indica
--clear-labels
.--update-labels
Actualiza las etiquetas. Si una etiqueta existe, su valor se modifica; de lo contrario, se crea una nueva. Combina las marcas --remove-labels
o--clear-labels
para quitar un subconjunto o todas las etiquetas, respectivamente, antes de actualizar las etiquetas.
Para obtener más información, consulta gcloud beta apigee archives update.
Por ejemplo:
gcloud apigee archives update pzfbs8uidbdv224joz --environment=$ENV \ --clear-labels --update-labels=status=released,build=210315,tier=1
A continuación, se proporciona un ejemplo de la respuesta.
Using Apigee organization `myorg` createdAt: 2020-04-04T04:04:04.004Z labels: status: released, build: 210315, tier: 1 name: organizations/apigee-docs-c/environments/dev/archiveDeployments/pzfbs8uidbdv224joz operation: organizations/apigee-docs-c/operations/bf587121-8b5c-4897-9d8f-9b1ef0cb06ca updatedAt: '1633450432067431'
API de Apigee
A fin de actualizar las etiquetas de una implementación de archivos en Apigee en Google Cloud, envía una solicitud PATCH a la siguiente API: https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID
.
Debes pasar el ID de la revisión de la implementación del archivo. Para ver la lista de ID de revisión de la implementación del archivo para un entorno de Apigee, consulta Enumera todas las implementaciones de archivos en un entorno.
Pasa todas las etiquetas que deseas agregar al archivo en el cuerpo de la solicitud. Las etiquetas que pasas reemplazan el conjunto actual de etiquetas, por lo que puedes quitar etiquetas si las omites del cuerpo de la solicitud o quitas todas las etiquetas mediante una lista vacía.
Por ejemplo:
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID" \ -X PATCH \ -H "Authorization: Bearer $TOKEN" \ -d '{ "labels": { "status" : "released", "build" : "210315" } }'
En el ejemplo anterior, $TOKEN
está configurado como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0. Para obtener información sobre las opciones de curl
que se usan en este ejemplo, consulta Usa curl. Para obtener una descripción de las variables de entorno utilizadas, consulta Configura variables de entorno para solicitudes a la API de Apigee.
A continuación, se proporciona un ejemplo de la respuesta.
{ "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz", "labels": { "status": "released", "build": "210315" }, "createdAt": "1615578337832207", "updatedAt": "1615821232451727", "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed" }
Borra un entorno de Apigee con implementaciones de archivo
Para borrar un entorno de Apigee con implementaciones de archivo, haz lo siguiente:
- En una carpeta temporal, crea la siguiente estructura de directorio en la que $ENV coincide con el nombre del entorno que deseas borrar.
Por ejemplo:
mkdir -p /$TEMP/archive/src/main/apigee/environments/$ENV
. - Agrega el archivo
deployments.json
al directorio. Por ejemplo:touch /$TEMP/archive/src/main/apigee/environments/$ENV/deployments.json
. - Actualiza
deployments.json
para que incluya un arrayproxies
vacío, como se muestra a continuación.{ "proxies" : [] }
- Cambia el directorio (cd) a la carpeta
$TEMP/archive
.cd $TEMP/archive
Si:
- Implementas el archivo en el entorno de Apigee que deseas borrar.
gcloud beta apigee archives deploy --environment=$ENV
- Borra el entorno de Apigee.
Borra una revisión de una implementación de archivo
Borra una revisión de una implementación de archivo como se describe en la siguiente sección.
gcloud
Para borrar una revisión de una implementación de archivo en Apigee en Google Cloud, usa el siguiente comando gcloud
:
gcloud apigee archives delete $ID --environment=$ENV
Debes especificar lo siguiente:
- El ID de la clave que deseas borrar.
- Entorno de Apigee en el que deseas ver las implementaciones de archivo con la marca
--environment
. El entorno de Apigee debe estar habilitado para las implementaciones de archivo.
Por ejemplo:
gcloud apigee archives delete fb4r8log2gm63r3gtu --environment=dev
A continuación, se proporciona un ejemplo de la respuesta.
Archive deployment revision "fb4r8log2gm63r3gtu" deleted
API de Apigee
Para borrar una revisión de una implementación de archivo en Apigee en Google Cloud, envía una solicitud DELETE a la siguiente API: https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID
.
Debes pasar el ID de la revisión de la implementación de archivo que deseas borrar. Para ver la lista de ID de revisión de la implementación de archivos de un entorno, consulta Enumera todas las implementaciones de archivos en un entorno.
Por ejemplo:
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID" \ -X DELETE \ -H "Authorization: Bearer $TOKEN" \
En el ejemplo anterior, $TOKEN
está configurado como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0. Para obtener información sobre las opciones de curl
que se usan en este ejemplo, consulta Usa curl. Para obtener una descripción de las variables de entorno utilizadas, consulta Configura variables de entorno para solicitudes a la API de Apigee.
A continuación, se proporciona un ejemplo de la respuesta.
{}