Ereignisse
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge aus, um die neuesten Funktionen, Sicherheitsupdates und technischen Support zu nutzen.
Die Azure SDK-Clientbibliotheken stellen eine Schnittstelle zu Azure-Diensten bereit, indem Methodenaufrufe in Nachrichten übersetzt werden, die über das jeweilige Dienstprotokoll gesendet werden. Bei REST-API-Diensten bedeutet dies, dass HTTP-Anforderungen gesendet und die Antworten in Runtimetypen konvertiert werden. In diesem Artikel erfahren Sie mehr über die verschiedenen Arten von Methoden, die von den Clientbibliotheken verfügbar gemacht werden. Außerdem werden Implementierungsmuster genauer untersucht.
Ein Azure SDK für .NET-Clientbibliotheken kann zwei verschiedene Kategorien von Methoden verfügbar machen, um Anforderungen an einen Azure-Dienst zu stellen:
Protokoll- und Hilfsmethoden implementieren etwas unterschiedliche Muster basierend auf der zugrunde liegenden Paketabhängigkeitskette der jeweiligen Bibliothek. Ein Azure SDK für .NET-Clientbibliotheken hängt von einer von zwei verschiedenen grundlegenden Bibliotheken ab:
Azure.Storage.Blobs
.System.ClientModel
-Bibliothek ist ein universelles Toolset, das darauf ausgelegt ist, Bibliotheken für verschiedene Plattformen und Dienste zu erstellen, während die Azure.Core
-Bibliothek speziell für die Erstellung von Azure-Clientbibliotheken konzipiert ist.Hinweis
Die Azure.Core
-Bibliothek selbst hängt auch von System.ClientModel
für verschiedene Clientbausteine ab. Im Sinne dieses Artikels liegt das Hauptunterscheidungsmerkmal der Methodenmuster darin, ob eine Clientbibliothek direkt von Azure.Core
oder System.ClientModel
abhängt oder über eine transitive Abhängigkeit.
In der folgenden Tabelle werden einige Anforderungs- und Antworttypen miteinander verglichen, die von Protokoll- und Hilfsmethoden in Abhängigkeit davon, ob die Bibliothek von Azure.Core
oder von System.ClientModel
abhängt, verwendet werden.
Thema der Anforderung oder der Antwort | Azure.Core | System.ClientModel |
---|---|---|
Anforderungstext | RequestContent | BinaryContent |
Erweiterte Anforderungsoptionen | RequestContext | RequestOptions |
Unformatierte HTTP-Antwort | Response | PipelineResponse |
Rückgabetyp mit Ausgabemodell | Response<T> | ClientResult<T> |
Die folgenden Abschnitte enthalten Implementierungsbeispiele für diese Konzepte.
Die Codierungsmuster und Typen, die von den Protokoll- und Hilfsmethoden einer Clientbibliothek verwendet werden, variieren geringfügig, je nachdem, ob die Bibliothek von Azure.Core
oder System.ClientModel
abhängt. Die Unterschiede beeinflussen in erster Linie die .NET-Typen, die für die Verarbeitung von Anforderungs- und Antwortdaten verwendet werden.
Azure SDK-Clientbibliotheken, die den neuesten Entwurfsrichtlinien entsprechen, hängen von der Azure.Core
-Bibliothek ab. Beispielsweise hängt die Azure.AI.ContentSafety
-Bibliothek von der Azure.Core
-Bibliothek ab und stellt eine ContentSafetyClient
-Klasse bereit, die sowohl Protokoll- als auch Hilfsmethoden verfügbar macht.
Der folgende Code verwendet ContentSafetyClient
, um die AnalyzeText
-Hilfsmethode aufzurufen:
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}");
}
Im vorherigen Code werden die folgenden Muster der Azure.Core
-Hilfsmethode veranschaulicht:
Einige Clientbibliotheken, die eine Verbindung mit Nicht-Azure-Diensten herstellen, verwenden ähnliche Muster wie die Bibliotheken, die von Azure.Core
abhängen. Beispielsweise stellt die OpenAI
-Bibliothek einen Client bereit, der mit den OpenAI-Diensten verbunden wird. Diese Bibliotheken basieren auf einer Bibliothek namens System.ClientModel
, die Muster ähnlich wie Azure.Core
aufweist.
Betrachten Sie den folgenden Code, der ChatClient
verwendet, um die CompleteChat
-Hilfsmethode aufzurufen:
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}");
Im vorherigen Code werden die folgenden Muster der System.ClientModel
-Hilfsmethode veranschaulicht:
ClientResult
-Typ zurück, der das Ergebnis des Vorgangs darstellt.Wenn ein Dienstaufruf fehlschlägt, löst der Dienstclient eine Ausnahme aus, die den HTTP-Statuscode und die Details der Dienstantwort zur Verfügung stellt (falls verfügbar). Eine von System.ClientModel
abhängige Bibliothek löst eine ClientResultException aus, während eine von Azure.Core
abhängige Bibliothek eine RequestFailedException auslöst.
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}");
}
Obwohl das Azure SDK für .NET-Clientbibliotheken die Möglichkeit bietet, Protokoll- oder Hilfsmethoden zu verwenden, priorisieren Sie in den meisten Szenarien die Verwendung von Hilfsmethoden. Hilfsmethoden sind darauf ausgelegt, die Entwicklungserfahrung zu verbessern. Außerdem bieten sie Flexibilität bei der Erstellung von Anforderungen und der Behandlung von Antworten. Beide Methodentypen können jedoch nach Bedarf in Ihrer App verwendet werden. Berücksichtigen Sie die folgenden Kriterien, wenn Sie entscheiden, welcher Methodentyp verwendet werden soll.
Hilfsmethoden:
Protokollmethoden:
RequestContext
und RequestOptions
, die nicht über Hilfsmethoden verfügbar sind.Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben:
Ereignisse
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenSchulung
Modul
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).
Dokumentation