azd
Azure API Center est un service qui vous aide à développer et à maintenir un inventaire structuré des API de votre organisation. Avec API Center, vous pouvez suivre toutes vos API dans un emplacement centralisé, quel que soit leur type, leur étape de cycle de vie ou leur emplacement de déploiement. API Center permet la découverte, la réutilisation et la gouvernance des API, renforçant ainsi les équipes de la plate-forme API.
Le portail API Center est un site Web qui permet aux développeurs et aux parties prenantes de découvrir et d'interagir de manière transparente avec les API. Notre implémentation de référence du portail API Center permet aux équipes de la plateforme API de fournir une expérience de découverte et de consommation d'API basée sur le Web aux consommateurs d'API.
L'implémentation de référence du portail API Center fournit :
Pour les instances SKU API Center gratuites, un maximum de 5 API seront affichées dans le portail API Center, quel que soit le nombre d'API présentes dans l'API Center.
Pour les SKU standard, il n’y a pas de limite et toutes les API seront affichées.
Avant de commencer, assurez-vous que vous remplissez les conditions suivantes :
Vous disposez de deux options pour déployer ce portail API Center auto-hébergé :
azd
) pour le déploiement en une étape de l'application de portail. Cette option est recommandée pour un processus de déploiement rationalisé.azd
NOTE : Vous aurez besoin des prérequis supplémentaires pour cette option
- ✅ Azure Developer CLI (
azd
)- ✅ Azure CLI
- ✅ CLI GitHub
Forkez ce référentiel sur votre compte GitHub et clonez-le.
git clone https://github.com/ < YOUR_GITHUB_ALIAS > /APICenter-Portal-Starter.git
Connectez-vous avec la commande suivante. Ensuite, vous pourrez utiliser l’ azd
cli pour provisionner et déployer rapidement l’application.
# Authenticate with Azure Developer CLI
azd auth login
# Authenticate with Azure CLI
az login
Exécutez azd up
pour provisionner toutes les ressources sur Azure et déployer le code sur ces ressources.
azd up
Entrez un nom d'environnement et sélectionnez l' subscription
et location
souhaités. Ensuite, il vous sera demandé de saisir quelques valeurs supplémentaires :
apiCenterExisted
).apiCenterName
, apiCenterRegion
et apiCenterResourceGroupName
, si vous choisissez d'utiliser la ressource du centre API existante (valeur apiCenterExisted
sur true
).apiCenterExisted
sur false
).staticAppLocation
pour l’instance Azure Static Web Apps. Attendez un moment que le déploiement des ressources soit terminé.Il existe deux scénarios :
- Portail avec le nouveau Centre API – Vous devez donner
False
àapiCenterExisted
et laisserapiCenterName
,apiCenterRegion
etapiCenterResourceGroupName
vides.- Portail avec API Center existant – Vous devez attribuer
True
àapiCenterExisted
et transmettre les valeurs àapiCenterName
,apiCenterRegion
etapiCenterResourceGroupName
.
Si vous souhaitez intégrer le pipeline CI/CD avec GitHub Actions, vous pouvez utiliser la commande suivante pour créer un référentiel GitHub et transférer le code vers le référentiel. Tout d'abord, connectez-vous à GitHub.
# Authenticate with GitHub CLI
gh auth login
Exécutez les commandes suivantes pour mettre à jour les variables de votre référentiel GitHub.
REMARQUE : assurez-vous d'avoir transféré ce référentiel sur votre compte GitHub avant d'exécuter les commandes suivantes.
# Bash
AZURE_CLIENT_ID= $( ./infra/scripts/get-azdvariable.sh --key AZURE_CLIENT_ID )
azd pipeline config --principal-id $AZURE_CLIENT_ID
# PowerShell
$AZURE_CLIENT_ID = $( ./infra/scripts/Get-AzdVariable.ps1 -Key AZURE_CLIENT_ID )
azd pipeline config --principal-id $AZURE_CLIENT_ID
Maintenant, vous êtes prêt à partir ! Envoyez le code vers le référentiel GitHub ou exécutez manuellement le workflow GitHub Actions pour déployer votre portail.
Par défaut, le portail affiche toutes les API de votre instance API Center. Vous pouvez configurer votre instance de portail pour filtrer certaines API en définissant la propriété scopingFilter
dans le fichier public/config.example
à l'aide de la syntaxe de requête OData. Par exemple:
{
"dataApiHostName": ".data..azure-apicenter.ms/workspaces/default",
"title": "API portal",
"authentication": {
"clientId": "",
"tenantId": "",
"scopes": ["https://azure-apicenter.net/user_impersonation"],
"authority": "https://login.microsoftonline.com/"
},
"scopingFilter": "customProperties/compliant eq true"
}
Pour obtenir la liste complète des propriétés filtrables, reportez-vous au modèle de ressource API du plan de données.
NOTE : Vous aurez besoin des prérequis supplémentaires pour cette option
- ✅ Enregistrement de l'application configuré dans votre locataire Microsoft Entra ID avec la portée d'autorisation API et l'URI de redirection appropriés.
- ✅ Connexion au portail activée avec la bonne attribution de rôle
Suivez ces étapes pour configurer votre environnement de développement :
Cloner le référentiel
git clone https://github.com/Azure/APICenter-Portal-Starter.git
Passer à la branche principale :
git checkout main
Copiez ou renommez le fichier public/config.example
en public/config.json
.
Configurez le fichier public/config.json
pour qu’il pointe vers votre service Azure API Center. Voici un exemple de configuration :
{ "dataApiHostName" : ".data. , "title" : " API portal " , "authentication" : { "clientId" : ".azure-apicenter.ms/workspaces/default " " , "tenantId" : "" , "scopes" : [ " https://azure-apicenter.net/user_impersonation " ], "authority" : " https://login.microsoftonline.com/ " } }
Installez les packages requis.
npm install
Démarrer le serveur de développement - Cette commande démarrera le portail en mode développement en s'exécutant localement :
npm start
Azure Static Web Apps est un service qui crée et déploie automatiquement des applications Web complètes sur Azure à partir d'un référentiel de code. Ce didacticiel utilise GitHub Actions pour déployer sur Azure Static Web Apps.
Pour afficher votre portail API Center exécuté sur des applications Web statiques, cliquez sur Afficher l'application dans le navigateur dans l'onglet Présentation de la ressource Application Web statique que vous avez créée dans le portail Azure.
Consultez les directives de contribution pour obtenir des idées et des conseils sur la manière d'améliorer le modèle. Merci!
☀️ Nous aimons avoir de vos nouvelles ! ☀️
Vos commentaires nous sont inestimables et nous vous encourageons à partager vos réflexions et suggestions dans la section Problèmes du référentiel. Vous pouvez également y signaler des bogues ou soumettre des demandes de fonctionnalités. Rassurez-vous, nous garderons un œil attentif sur vos commentaires pour nous améliorer continuellement. Même si nous nous engageons à surveiller ces problèmes, veuillez noter que ce canal ne fait pas partie de notre support de service Microsoft Azure.
L’assistance du support Microsoft Azure est limitée à la configuration initiale de l’application Azure Function qui exécute le moteur de linting. Une assistance au mieux est fournie pour les problèmes causés par des facteurs environnementaux, tels que (mais sans s'y limiter) : la plate-forme d'hébergement, l'environnement de développement, la configuration du réseau.
Si vous avez besoin d'une assistance technique pour étendre le moteur de linting ou améliorer les règles existantes, veuillez tirer parti des communautés techniques existantes telles que Stack Overflow. Nous ne fournissons pas d'assistance via les problèmes GitHub.
Nous accueillons et apprécions les contributions de la communauté.
Ce projet a adopté le code de conduite Microsoft Open Source. Pour plus d’informations, consultez la FAQ sur le code de conduite ou contactez [email protected] pour toute question ou commentaire supplémentaire.
Marques déposées Ce projet peut contenir des marques ou des logos pour des projets, des produits ou des services. L'utilisation autorisée des marques ou logos Microsoft est soumise et doit respecter les directives relatives aux marques et aux marques de Microsoft. L'utilisation des marques ou logos Microsoft dans les versions modifiées de ce projet ne doit pas prêter à confusion ni impliquer le parrainage de Microsoft. Toute utilisation de marques ou de logos tiers est soumise aux politiques de ces tiers.
Collecte de données. Le logiciel peut collecter des informations sur vous et votre utilisation du logiciel et les envoyer à Microsoft. Microsoft peut utiliser ces informations pour fournir des services et améliorer nos produits et services. Vous pouvez désactiver la télémétrie comme décrit dans le référentiel. Certaines fonctionnalités du logiciel peuvent également vous permettre, à vous et à Microsoft, de collecter des données auprès des utilisateurs de vos applications. Si vous utilisez ces fonctionnalités, vous devez vous conformer à la loi applicable, notamment en fournissant des notifications appropriées aux utilisateurs de vos applications ainsi qu'une copie de la déclaration de confidentialité de Microsoft. Notre déclaration de confidentialité se trouve à l'adresse https://go.microsoft.com/fwlink/?LinkID=824704. Vous pouvez en savoir plus sur la collecte et l'utilisation des données dans la documentation d'aide et dans notre déclaration de confidentialité. Votre utilisation du logiciel constitue votre consentement à ces pratiques.
MIT