Guide de démarrage rapide : effectuer un appel d’API authentifié
Cet article vous apprend à créer une demande authentifiée au service de recommandations intelligentes et à voir les résultats.
Résumé
Pour réussir une demande d’API, vous devez préparer les informations suivantes :
- ID du locataire Microsoft Entra ID
- ID client de l’application de l’appelant
- Valeur du secret de l’application
- La requête HTTP utilisant le compte Recommandations intelligentes d’URL point de terminaison de service composée d’un chemin/des paramètres de requête valides, comme indiqué dans l’API Recommandations intelligentes.
Pour obtenir de l’aide pour localiser ces informations, continuez à lire.
Si vous avez préparé ces informations, vous pouvez passer directement à la section Construire la requête API de ce guide de démarrage rapide.
Conditions préalables
Avant de commencer, assurez-vous d’avoir :
Un compte Recommandations intelligentes approvisionné. Si vous n’avez pas encore créé de compte Recommandations intelligentes, accédez à Créer un compte Recommandations intelligentes. Vous pouvez également suivre les instructions du Guide de démarrage rapide : configurer et exécuter des recommandations intelligentes avec des exemples de données.
Une application (identité Microsoft Entra ID) pour appeler le service de recommandations intelligentes.
Note
Une fois le service configuré avec succès, la formation du modèle AI-ML peut prendre jusqu’à une journée pour traiter les données d’entrée et produire des listes classées. Si vous venez d’approvisionner votre premier compte Recommandations intelligentes, vous voudrez peut-être attendre avant de continuer.
Étape 1 : créer l’URL du point de terminaison
Chaque compte Recommandations intelligentes nécessite au moins un point de terminaison de service pour traiter les demandes. Un point de terminaison de service fournit une URL unique pour appeler le service.
Pour créer une demande d’API appropriée, localisez l’URL du point de terminaison de service à l’aide de votre compte de portail Azure :
Connectez-vous au portail Azure.
Accédez à Comptes Recommandations intelligentes.
Sélectionnez le compte à interroger.
Dans la section Composants du menu, sélectionnez Points de terminaison de service.
Sélectionnez le point de terminaison de service à utiliser.
Recherchez l’URL dans les propriétés de la ressource point de terminaison, comme indiqué :
L’URL est structurée comme suit :
https://{ir-account-name}-{service-endpoint-name}.mir.prod.reco.microsoft.com/
Étape 2 : Configurer une application cliente
Les recommandations intelligentes nécessitent l’authentification OAuth2. Déterminez (ou créez) l’application Microsoft Entra ID à partir de laquelle appeler le point de terminaison de service avec authentification. Tout appel non authentifié échoue avec une erreur.
Connectez-vous au portail Azure.
Accédez à Microsoft Entra ID.
Accédez à Inscriptions d’applications.
Sélectionnez une application existante ou créez-en une.
Une fois l’application prête, localisez l’ID client et l’ID locataire dans les propriétés de l’application :
Notez l’ID client et l’ID locataire. Ces valeurs sont utilisées pour créer la requête API.
Ajouter la ou les identités autorisées au compte Recommandations intelligentes
Avant de continuer, vous devez ajouter l’identité à la liste authentifiée dans votre compte Recommandations intelligentes.
- Connectez-vous au portail Azure.
- Accédez à Comptes Recommandations intelligentes.
- Sélectionnez le compte à interroger.
- Dans le menu sélectionnez Authentifications de points de terminaison.
- Ajoutez le nouvel ID principal de l’application (l’ID principal est le même que l’ID client que vous avez trouvé précédemment).
- Changez le type de principal en "Application".
Note
La mise à jour de ces paramètres peut prendre jusqu’à 15 minutes.
Étape 3 : Configurer l’authentification
La dernière étape consiste à configurer le mécanisme d’authentification. Vous pouvez utiliser un secret ou un certificat. Dans ce guide de démarrage rapide, vous voyez comment créer un secret.
- Dans le volet de navigation de gauche, sélectionnez Certificats et secrets.
- Sélectionnez Nouvelle clé secrète client. Cette valeur de secret est privée et doit être stockée dans un endroit sécurisé, car vous en aurez besoin à l’étape suivante.
Note
Vous pouvez uniquement copier la valeur de la clé secrète juste après la création comme indiqué :
Maintenant que vous avez préparé les informations nécessaires, vous êtes prêt à créer une demande d’API et à appeler le service Recommandations intelligentes.
Construire la requête API
La section suivante fournit deux exemples de façons d’appeler l’API Recommandations intelligentes avec les outils API REST. Pour utiliser une autre application pour appeler le point de terminaison des recommandations intelligentes, assurez-vous que vous utilisez un outil API REST qui prend en charge l’authentification OAuth2.
Dans ce guide de démarrage rapide, vous découvrirez comment configurer une demande d’API pour récupérer une liste populaire d’éléments à la fois avec Insomnia et avec le code C#.
Avant de continuer, assurez-vous que vous disposez de chacun des prérequis suivants :
- ID du locataire Microsoft Entra ID
- ID client de l’application de l’appelant
- Valeur du secret de l’application
- La requête HTTP utilisant le compte Recommandations intelligentes d’URL point de terminaison de service composée d’un chemin/des paramètres de requête valides, comme indiqué dans l’API Recommandations intelligentes
Note
Dans l’exemple de demande suivant, nous utilisons le nom du compte irtest et le service point de terminaison serving01.
https://irtest-serving01.mir.prod.reco.microsoft.com/Reco/V1.0/Popular
Appelez le point de terminaison avec l’explorateur de résultats
IMPORTANT Depuis avril 2023, le site web IR Portal et l’outil Results Explorer sont obsolètes et ne sont plus utilisés. Pour voir les résultats, utilisez l’une des options dans les sections suivantes :
Appel du point de terminaison avec Insomnia
Vous pouvez utiliser Insomnia ou un outil API REST similaire qui prend en charge l’authentification OAuth2 pour envoyer des demandes de test à un point de terminaison Recommandations intelligentes.
Pour plus de détails, consultez Utiliser Insomnia avec l’API web Dataverse
Processus d’authentification
Sous la section Commencer, sélectionnez Créer une demande.
Naviguez vers l’onglet Autorisation du composeur de requêtes et configurez-le avec les valeurs suivantes :
- Définir le type sur OAuth 2.0
- Définissez Ajouter des en-têtes d’autorisation sur En-têtes de demande
- Créez un jeton avec un nom de jeton.
- Type d’autorisation = Informations d’identification du client
-
URL du jeton d’accès =
https://login.microsoftonline.com/<callerTenantID>/oauth2/v2.0/token
- ID client = <yourAppClientID>
- Clé secrète client = <yourAppSecretValue>
- Portée = <VOTRE URL DE POINT DE TERMINAISON>/.default
- Gardez l’authentification client définie sur Envoyer comme en-tête d’authentification de base
Voici à quoi cela ressemble avant la génération du jeton :
Faites défiler la page jusqu’à ce que vous trouviez le bouton Obtenez le nouveau token. S’il est configuré correctement, le bouton ouvre une nouvelle fenêtre avec un jeton viable lorsque vous le sélectionnez.
Sélectionnez Utiliser un jeton.
Publier la demande
Maintenant que vous êtes authentifié, vous pouvez publier la demande réelle.
Publiez votre demande, puis sélectionnez Envoyer. Consultez notre Guide des exemples de demandes pour obtenir une liste de demandes d’API préconfigurées supplémentaires que vous pouvez essayer.
La réponse JSON apparaît en bas de l’écran :
Note
Une réponse réussie renverra une liste classée des articles dans la section Articles de la réponse JSON. Pour ce scénario, l’ID d’article le plus populaire est 712. Vous pouvez consulter la liste complète des codes de statuts API.
Appel du point de terminaison avec le code C#
Pour réussir un appel au point de terminaison recommandations intelligentes à l’aide de C#, préparez les informations suivantes :
- ID du locataire Microsoft Entra ID
- ID client de l’application de l’appelant
- Valeur du secret de l’application
- La requête HTTP utilisant le compte Recommandations intelligentes d’URL point de terminaison de service composée d’un chemin/des paramètres de requête valides, comme indiqué dans la spécification de l’API Recommandations intelligentes
Ensuite, copiez l’exemple de code donné, mettez à jour les champs pertinents et exécutez.
public static async Task CallIRApiAsync()
{
// *************************************************************************
// The code depends on the Microsoft.Identity.Client library
// Please note the code sections that have to be modified below
// *************************************************************************
// Recommendations AAD app ID
var scope = "<YOUR ENDPOINT URL>";
// Your client AAD app ID
var callerAadAppId = "<YOUR AAD APP ID>";
// AAD Tenant ID
var callerAadTenantId = "<YOUR AAD TENANT ID>";
var token = await AcquireTokenWithSecret(callerAadAppId, callerAadTenantId, scope);
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization = AuthenticationHeaderValue.Parse(token.CreateAuthorizationHeader());
// **************************************************
// and now, use httpClient to execute IR requests..
// **************************************************
}
public static Task<AuthenticationResult> AcquireTokenWithSecret (
string callerAadAppId, string callerTenantId, string scope )
{
// The below example uses a secret to authenticate to AAD
// An alternative certificate-based method can be used instead:
// replace: "WithClientCert(string secret)" ==> "WithCertificate(X509Certificate certificate)"
var secret = "<YOUR AAD APP SECRET>";
var app = ConfidentialClientApplicationBuilder.Create(callerAadAppId).WithAuthority($"https://login.microsoftonline.com/{callerTenantId}").WithClientSecret(secret).Build();
var scopes = new[] { $"{scope}/.default" };
return app.AcquireTokenForClient(scopes).ExecuteAsync(CancellationToken.None); }
}
Une réponse réussie contient une liste classée des articles recommandés en fonction du scénario sous la section Articles. Pour ce scénario, l’ID d’article le plus populaire est 712. Vous pouvez consulter la liste complète des codes de statuts API.
Appel du point de terminaison avec Azure Machine Learning
Pour envoyer des demandes d’API au service Recommandations intelligentes à l’aide d’Azure Machine Learning, vous pouvez utiliser Jupyter Notebook Retail Recommender. En prime, le bloc-notes comprend également des étapes pour combiner les recommandations intelligentes avec Azure Personalizer ! Pour en savoir plus : Jupyter Notebook Retail Recommender.
Voir aussi
Référence de l’API Recommandations intelligentes
Codes de statut API
Guide de démarrage rapide : configurer et exécuter des recommandations intelligentes avec des exemples de données
Présentation du déploiement
Utiliser des contrats de données pour partager des données