Événement
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Les bibliothèques clientes du SDK Azure fournissent une interface aux services Azure en convertissant les appels de méthode en messages envoyés via le protocole de service respectif. Pour les services d’API REST, cela signifie envoyer des requêtes HTTP et convertir les réponses en types d’exécution. Dans cet article, vous allez découvrir les différents types de méthodes exposées par les bibliothèques clientes et explorer leurs modèles d’implémentation.
Une bibliothèque cliente Azure SDK pour .NET peut exposer deux catégories différentes de méthodes pour effectuer des requêtes auprès d’un service Azure :
Les méthodes de protocole et les méthodes pratiques implémentent des modèles légèrement différents en fonction de la chaîne de dépendance de package sous-jacente de la bibliothèque correspondante. Une bibliothèque cliente Azure SDK pour .NET dépend de l’une des deux bibliothèques fondamentales différentes :
Azure.Storage.Blobs
.System.ClientModel
est un ensemble d’outils à usage général conçu pour aider à créer des bibliothèques pour diverses plateformes et services, tandis que la bibliothèque Azure.Core
est spécifiquement conçue pour la création de bibliothèques clientes Azure.Note
La bibliothèque Azure.Core
elle-même dépend également de System.ClientModel
pour différents blocs de construction clients. Dans le contexte de cet article, le différentiateur clé pour les modèles de méthode est de savoir si une bibliothèque cliente dépend de Azure.Core
ou de System.ClientModel
directement, plutôt que par le biais d’une dépendance transitive.
Le tableau suivant compare certains des types de requête et de réponse utilisés par le protocole et les méthodes pratiques, selon que la bibliothèque dépend de Azure.Core
ou de System.ClientModel
.
Problème de demande ou de réponse | Azure.Core | System.ClientModel |
---|---|---|
Corps de la demande | RequestContent | BinaryContent |
Options de demande avancées | RequestContext | RequestOptions |
Réponse HTTP brute | Response | PipelineResponse |
Type de retour avec le modèle de sortie | Response<T> | ClientResult<T> |
Les sections à venir fournissent des exemples d’implémentation de ces concepts.
Les modèles de codage et les types utilisés par le protocole de bibliothèque cliente et les méthodes pratiques varient légèrement selon que la bibliothèque dépend de Azure.Core
ou de System.ClientModel
. Les différences influencent principalement les types .NET utilisés pour la gestion des données de demande et de réponse.
Les bibliothèques clientes du SDK Azure qui respectent les dernières instructions de conception dépendent de la bibliothèque Azure.Core
. Par exemple, la bibliothèque Azure.AI.ContentSafety
dépend de la bibliothèque Azure.Core
et fournit une classe ContentSafetyClient
qui expose les méthodes de protocole et les méthodes pratiques.
Le code suivant utilise ContentSafetyClient
pour appeler la méthode pratique AnalyzeText
:
using Azure.AI.ContentSafety;
using Azure.Identity;
// Create the client
ContentSafetyClient client = new(
new Uri("https://contentsafetyai.cognitiveservices.azure.com/"),
new DefaultAzureCredential());
// Call the convenience method
AnalyzeTextResult result = client.AnalyzeText("What is Microsoft Azure?");
// Display the results
foreach (TextCategoriesAnalysis item in result.CategoriesAnalysis)
{
Console.WriteLine($"{item.Category}: {item.Severity}");
}
Le code précédent illustre les modèles de méthode pratique Azure.Core
suivants :
Certaines bibliothèques clientes qui se connectent à des services non Azure utilisent des modèles similaires aux bibliothèques qui dépendent de Azure.Core
. Par exemple, la bibliothèque OpenAI
fournit un client qui se connecte aux services OpenAI. Ces bibliothèques sont basées sur une bibliothèque appelée System.ClientModel
qui présente des modèles similaires à Azure.Core
.
Tenez compte du code suivant qui utilise ChatClient
pour appeler la méthode pratique CompleteChat
:
using OpenAI.Chat;
// Create the client
ChatClient client = new(
model: "gpt-4o-mini",
credential: Environment.GetEnvironmentVariable("OPENAI_API_KEY")!);
// Call the convenience method
ChatCompletion completion = client.CompleteChat("What is Microsoft Azure?");
// Display the results
Console.WriteLine($"[{completion.Role}]: {completion}");
Le code précédent illustre les modèles de méthode pratique System.ClientModel
suivants :
ClientResult
qui représente le résultat de l’opération.Lorsqu'un appel de service échoue, le client du service lève une exception qui expose le code d'état HTTP et les détails de la réponse du service, s'ils sont disponibles. Une bibliothèque dépendante de System.ClientModel
provoque un ClientResultException, tandis qu'une bibliothèque dépendante de Azure.Core
provoque un RequestFailedException.
using Azure.AI.ContentSafety;
using Azure.Identity;
using Azure;
// Create the client
ContentSafetyClient client = new(
new Uri("https://contentsafetyai.cognitiveservices.azure.com/"),
new DefaultAzureCredential());
try
{
// Call the convenience method
AnalyzeTextResult result = client.AnalyzeText("What is Microsoft Azure?");
// Display the results
foreach (TextCategoriesAnalysis item in result.CategoriesAnalysis)
{
Console.WriteLine($"{item.Category}: {item.Severity}");
}
}
catch (RequestFailedException ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
Bien que le SDK Azure pour les bibliothèques clientes .NET offre la possibilité d’utiliser des méthodes de protocole ou des méthodes pratiques, favorisez l’utilisation des méthodes pratiques dans la plupart des scénarios. Les méthodes pratiques sont conçues pour améliorer l’expérience de développement et offrir une flexibilité pour la création de demandes et la gestion des réponses. Toutefois, les deux types de méthode peuvent être utilisés dans votre application en fonction des besoins. Tenez compte des critères suivants pour décider du type de méthode à utiliser.
Les méthodes pratiques :
Les méthodes de protocole :
RequestContext
et RequestOptions
, qui ne sont pas disponibles avec les méthodes pratiques.Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Événement
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantFormation
Module
Zugreifen auf Daten in Azure Blob Storage mit verschiedenen Protokollen - Training
Sie können auf Ihre Daten in Azure Blob Storage mit verschiedenen Protokollen zugreifen, z. B. Representational State Transfer (REST), Hadoop Distributed File System (HDFS), Network File System (NFS) und Secure File Transfer Protocol (SFTP).
Documentation