Cette page s'applique à Apigee et à Apigee hybrid.
Consultez la documentation d'Apigee Edge.
Développez et testez vos proxys d'API programmables à l'aide d'Apigee dans VS Code. Déployez ensuite une archive de votre environnement de configuration de proxy d'API dans votre environnement de test et de production Apigee comme décrit dans les sections suivantes.
Activer le déploiement d'archive dans un environnement Apigee
Avant de pouvoir déployer une archive, vous devez activer le déploiement d'archive dans votre environnement Apigee.
Activez le déploiement d'archive comme décrit dans les sections suivantes.
Interface utilisateur classique d'Apigee
Pour activer le déploiement d'archive dans votre environnement Apigee, lorsque vous créez un environnement Apigee (en dehors de l'assistant de provisionnement), sélectionnez Archive (Archiver) sous "Deployment type" (Type de déploiement).
API Apigee
Pour activer le déploiement d'archive lors de la création d'un environnement à l'aide de l'API, définissez deploymentType
sur ARCHIVE
dans le corps de la requête.
Exemple :
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" }'
Où $TOKEN
est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl
utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement utilisées, consultez la section Définir des variables d'environnement pour les requêtes API Apigee.
Voici un exemple de réponse :
{ "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" } }
Vous pouvez vérifier l'état de l'opération. Exemple :
curl https://apigee.googleapis.com/v1/organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7 / -H "Authorization: Bearer $TOKEN"
Voici un exemple de réponse : Notez que l'état de l'opération est FINISHED
et que l'état de l'environnement est défini sur 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" } }
Pour en savoir plus sur l'API, consultez la page API Créer des environnements.
Déployer une archive dans un environnement Apigee
Pour déployer une archive dans un environnement Apigee, utilisez la commande gcloud
suivante :
gcloud beta apigee archives deploy \ --environment=$ENV \ [--organization=$ORG] \ [--source=$SOURCE] \ [--labels $KEY=$VALUE[,$KEY2=$VALUE2,$KEY3=$VALUE3,...]]
Vous devez spécifier l'environnement Apigee dans lequel vous souhaitez déployer l'archive à l'aide de l'option --environment
. L'environnement Apigee doit être activé pour les déploiements d'archives.
Pour en savoir plus, consultez déploiement d'archives apigee bêta gcloud.
Par défaut, l'archive est déployée :
- À l'organisation associée au projet actif actuel configuré pour
gcloud
.Pour afficher la configuration gcloud actuelle, exécutez
gcloud config list
. Pour spécifier l'organisation, utilisez l'option--organization
. - Depuis le répertoire de travail actuel.
Si le répertoire racinesrc/main/apigee
de l'archive se trouve à un emplacement autre que celui du répertoire de travail actuel, utilisez l'indicateur--source
pour spécifier l'emplacement du répertoire racine de l'archive. Voir aussi Comprendre la structure d'un espace de travail Apigee.
Vous pouvez éventuellement ajouter jusqu'à 64 paires clé/valeur d'étiquettes personnalisées à un déploiement d'archive à l'aide de l'option --labels
. Par exemple, vous pouvez attribuer une étiquette avec un numéro de build à une archive. Les libellés s'afficheront lorsque vous répertoriez les déploiements d'archive. Les clé-valeurs doivent respecter les consignes suivantes :
- Longueur maximale de 63 caractères
- Taille maximale de 128 octets.
- Encodage UTF-8
- Être conforme à l'expression régulière compatible Perl suivante :
[\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
En arrière-plan, la commande gcloud
effectue les étapes suivantes lors du déploiement sur Apigee sur Google Cloud :
- Crée un fichier ZIP du répertoire d'espace de travail Apigee
src/main/apigee
. Pour en savoir plus, consultez la page Comprendre la structure d'un espace de travail Apigee. - Déploie l'archive sur Apigee sur Google Cloud, comme suit :
- Génère une URL signée pour le bucket Google Cloud Storage du projet associé à l'organisation Apigee actuelle à l'aide de l'API generateUploadUrl.
- importe le fichier ZIP d'archive dans le bucket Cloud Storage à l'aide de l'URL signée ;
- Elle déploie l'archive en cours de préproduction dans le bucket Cloud Storage vers Apigee sur Google Cloud. À l'aide de l'API Archive Deployments.
Exemples de requête
L'exemple suivant crée une archive zip de src/main/apigee
dans le répertoire actuel et la déploie dans l'environnement Apigee spécifié :
gcloud beta apigee archives deploy --environment=$ENV
L'exemple suivant montre comment spécifier une organisation qui n'est pas associée au projet actuellement actif et configuré pour gcloud
:
gcloud beta apigee archives deploy --environment=$ENV --organization=$ORG
L'exemple suivant crée une archive ZIP du répertoire src/main/apigee
sous myarchive
et la déploie dans l'environnement Apigee spécifié :
gcloud beta apigee archives deploy --environment=$ENV --source=/myarchive
L'exemple suivant ajoute les étiquettes status
et build_id
au déploiement d'archive :
gcloud beta apigee archives deploy --environment=$ENV --labels=status=released,build=210315
Exemple de réponse
Voici un exemple de réponse :
Using Apigee organization 'myorg' Waiting for operation [b64c2665-b5ac-43cc-9e2d-232e8895c2ed] to complete...done.
Vérifier l'état du déploiement de l'archive
Pour vérifier l'état du déploiement de l'archive, exécutez la commande gcloud alpha apigee operations.
L'exemple suivant montre l'état de déploiement de l'archive pour l'opération dont l'ID de révision 439fa3f7-6aa4-42ad-8b12-3ca912c75d5c
est IN_PROGRESS
.
gcloud alpha apigee operations describe b64c2665-b5ac-43cc-9e2d-232e8895c2ed
Voici un exemple de réponse : Notez que state
est défini sur 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
Une fois l'opération terminée, state
est défini sur FINISHED
.
Répertorier tous les déploiements d'archives dans un environnement
Répertoriez tous les déploiements d'archives dans un environnement, comme décrit dans les sections suivantes.
gcloud
Pour répertorier tous les déploiements d'archive dans Apigee sur Google Cloud, utilisez la commande gcloud
suivante :
gcloud beta apigee archives list --environment=$ENV
Vous devez spécifier l'environnement Apigee dans lequel vous souhaitez afficher les déploiements d'archive à l'aide de l'indicateur --environment
.
L'environnement Apigee doit être Afficher les détails d'un déploiement d'archive.
Pour en savoir plus, consultez liste d'archives apigee bêta gcloud.
Voici un exemple de réponse :
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 Apigee
Pour répertorier les déploiements d'archive dans un environnement, envoyez une requête GET à l'API suivante : https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments
.
Exemple :
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments" \ -H "Authorization: Bearer $TOKEN"
Où $TOKEN
est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl
utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement utilisées, consultez la section Définir des variables d'environnement pour les requêtes API Apigee.
Voici un exemple de réponse :
{ "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" } ] }
Afficher les détails d'un déploiement d'archive
Affichez les détails d'un déploiement d'archive, comme décrit dans les sections suivantes.
gcloud
Pour afficher les détails d'un déploiement d'archive dans Apigee sur Google Cloud, utilisez la commande gcloud
suivante :
gcloud beta apigee archives describe $ID --environment=$ENV
Vous devez spécifier les éléments suivants :
- ID de la révision du déploiement de l'archive.
- Environnement Apigee dans lequel vous souhaitez afficher les déploiements d'archive à l'aide de l'indicateur
--environment
. L'environnement Apigee doit être activé pour les déploiements d'archives.
Pour en savoir plus, consultez description d'archives apigee bêta gcloud.
Exemple :
gcloud apigee archives describe pzfbs8uidbdv224joz --environment=$ENV
Voici un exemple de réponse :
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 Apigee
Pour afficher les détails d'un déploiement d'archive, envoyez une requête GET à l'API suivante : https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID
.
Vous devez transmettre l'ID de la révision du déploiement de l'archive. Pour afficher la liste des ID de révision de déploiement d'archive pour un environnement Apigee, voir Répertorier tous les déploiements d'archive dans un environnement.
Exemple :
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/pzfbs8uidbdv224joz" \ -X GET \ -H "Authorization: Bearer $TOKEN"
Où $TOKEN
est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl
utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement utilisées, consultez la section Définir des variables d'environnement pour les requêtes API Apigee.
Voici un exemple de réponse :
{ "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" }
Mettre à jour les libellés d'un déploiement d'archive
Mettez à jour les libellés d'un déploiement d'archive, comme décrit dans les sections suivantes.
gcloud
Pour mettre à jour les libellés d'un déploiement d'archive dans Apigee sur Google Cloud, utilisez la commande gcloud
suivante :
gcloud beta apigee archives update [$ID] --environment=$ENV [--update-labels=$KEY=$VALUE[,$KEY2=$VALUE2...$KEYn=$VALUEn]], [--clear-labels | --remove-labels=$KEY[,$KEY2...$KEYn]]
Vous devez spécifier les éléments suivants :
- ID de la révision de déploiement de l'archive
- Environnement Apigee dans lequel vous souhaitez afficher les déploiements d'archive à l'aide de l'indicateur
--environment
. L'environnement Apigee doit être activé pour les déploiements d'archives. - Un ou plusieurs des indicateurs suivants :
Indicateur Description --clear-labels
Supprime tous les libellés. Si --update-labels
est également spécifié,--clear-labels
est appliqué en premier.Ce champ ne peut pas être spécifié si
--remove-labels
est spécifié.--remove-labels
Supprime les libellés spécifiés. Si --update-labels
est également spécifié, il est appliqué en premier.Ce champ ne peut pas être spécifié si
--clear-labels
est spécifié.--update-labels
Mettez à jour les étiquettes. Si un libellé existe, sa valeur est modifiée. Sinon, un libellé est créé. Combinez-les à des indicateurs --remove-labels
ou--clear-labels
pour supprimer un sous-ensemble ou tous les libellés, respectivement, avant de mettre à jour des libellés.
Pour en savoir plus, consultez mise à jour d'archives apigee bêta gcloud.
Exemple :
gcloud apigee archives update pzfbs8uidbdv224joz --environment=$ENV \ --clear-labels --update-labels=status=released,build=210315,tier=1
Voici un exemple de réponse :
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 Apigee
Pour mettre à jour les libellés d'un déploiement d'archive dans Apigee sur Google Cloud, envoyez une requête PATCH à l'API suivante : https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID
.
Vous devez transmettre l'ID de la révision du déploiement de l'archive. Pour afficher la liste des ID de révision de déploiement d'archive pour un environnement Apigee, reportez-vous à la section Répertorier tous les déploiements d'archive dans un environnement.
Transmettez tous les libellés que vous souhaitez ajouter à l'archive dans le corps de la requête. Les libellés que vous transmettez écrasent l'ensemble actuel d'étiquettes. Vous pouvez ainsi supprimer des étiquettes en les omettant dans le corps de la requête ou en supprimant toutes les étiquettes en transmettant une liste vide.
Exemple :
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID" \ -X PATCH \ -H "Authorization: Bearer $TOKEN" \ -d '{ "labels": { "status" : "released", "build" : "210315" } }'
Où $TOKEN
est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl
utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement utilisées, consultez la section Définir des variables d'environnement pour les requêtes API Apigee.
Voici un exemple de réponse :
{ "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" }
Supprimer un environnement Apigee avec des déploiements d'archives
Pour supprimer un environnement Apigee avec des déploiements d'archives, procédez comme suit :
- Dans un dossier temporaire, créez la structure de répertoire suivante, où $ENV correspond au nom de l'environnement que vous souhaitez supprimer.
Par exemple :
mkdir -p /$TEMP/archive/src/main/apigee/environments/$ENV
- Ajoutez le fichier
deployments.json
au répertoire. Par exemple :touch /$TEMP/archive/src/main/apigee/environments/$ENV/deployments.json
- Mettez à jour le fichier
deployments.json
pour inclure un tableauproxies
vide, comme illustré ci-dessous.{ "proxies" : [] }
- Remplacez le répertoire (cd) par le dossier
$TEMP/archive
.cd $TEMP/archive
En effet,
- Déployez l'archive dans l'environnement Apigee que vous souhaitez supprimer.
gcloud beta apigee archives deploy --environment=$ENV
- Supprimez l'environnement Apigee.
Supprimer une révision d'un déploiement d'archive
Supprimez une révision d'un déploiement d'archive comme décrit dans la section suivante.
gcloud
Pour supprimer une révision d'un déploiement d'archive dans Apigee sur Google Cloud, utilisez la commande gcloud
suivante :
gcloud apigee archives delete $ID --environment=$ENV
Vous devez spécifier les éléments suivants :
- ID de la révision que vous souhaitez supprimer.
- Environnement Apigee dans lequel vous souhaitez afficher les déploiements d'archive à l'aide de l'indicateur
--environment
. L'environnement Apigee doit être activé pour les déploiements d'archives.
Exemple :
gcloud apigee archives delete fb4r8log2gm63r3gtu --environment=dev
Voici un exemple de réponse :
Archive deployment revision "fb4r8log2gm63r3gtu" deleted
API Apigee
Pour supprimer une révision d'un déploiement d'archive dans Apigee sur Google Cloud, envoyez une requête DELETE à l'API suivante : https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID
.
Vous devez transmettre l'ID de la révision de déploiement d'archive que vous souhaitez supprimer. Pour afficher la liste des ID de révision de déploiement d'archive pour un environnement Apigee, reportez-vous à la section Répertorier tous les déploiements d'archive dans un environnement.
Exemple :
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID" \ -X DELETE \ -H "Authorization: Bearer $TOKEN" \
Où $TOKEN
est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl
utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement utilisées, consultez la section Définir des variables d'environnement pour les requêtes API Apigee.
Voici un exemple de réponse :
{}