gebeurtenis
17 mrt, 21 - 21 mrt, 10
Neem deel aan de meetup-serie om schaalbare AI-oplossingen te bouwen op basis van praktijkgebruiksvoorbeelden met collega-ontwikkelaars en experts.
Nu registrerenDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
De Azure SDK-clientbibliotheken bieden een interface voor Azure-services door methodeaanroepen te vertalen naar berichten die via het respectieve serviceprotocol worden verzonden. Voor REST API-services betekent dit het verzenden van HTTP-aanvragen en het converteren van de antwoorden naar runtimetypen. In dit artikel leert u meer over de verschillende typen methoden die door de clientbibliotheken worden weergegeven en verkent u hun implementatiepatronen.
Een Azure SDK voor .NET-clientbibliotheek kan twee verschillende categorieën methoden beschikbaar maken om aanvragen te doen voor een Azure-service:
Protocol- en gemaksmethoden implementeren enigszins verschillende patronen op basis van de onderliggende pakketafhankelijkheidsketen van de respectieve bibliotheek. Een Azure SDK voor .NET-clientbibliotheek is afhankelijk van een van de twee verschillende basisbibliotheken:
Azure.Storage.Blobs
.System.ClientModel
bibliotheek is een hulpmiddelenset voor algemeen gebruik die is ontworpen om bibliotheken te bouwen voor verschillende platforms en services, terwijl de bibliotheek speciaal is ontworpen voor het Azure.Core
bouwen van Azure-clientbibliotheken.Notitie
De Azure.Core
bibliotheek zelf is ook afhankelijk System.ClientModel
van verschillende clientbouwstenen. In de context van dit artikel is de belangrijkste differentiator voor methodepatronen of een clientbibliotheek afhankelijk is van Azure.Core
of System.ClientModel
rechtstreeks, in plaats van via een transitieve afhankelijkheid.
In de volgende tabel worden enkele van de aanvraag- en antwoordtypen vergeleken die worden gebruikt door protocol- en gemaksmethoden, afhankelijk van of de bibliotheek afhankelijk is van Azure.Core
of System.ClientModel
.
Aanvraag- of antwoordprobleem | Azure.Core | System.ClientModel |
---|---|---|
Aanvraagtekst | RequestContent | BinaryContent |
Geavanceerde aanvraagopties | RequestContext | RequestOptions |
Onbewerkt HTTP-antwoord | Response | PipelineResponse |
Retourtype met uitvoermodel | Response<T> | ClientResult<T> |
De volgende secties bevatten implementatievoorbeelden van deze concepten.
De coderingspatronen en -typen die worden gebruikt door het clientbibliotheekprotocol en de gemaksmethoden variëren enigszins op basis van of afhankelijk van Azure.Core
System.ClientModel
de bibliotheek. De verschillen zijn voornamelijk van invloed op de .NET-typen die worden gebruikt voor het verwerken van aanvraag- en antwoordgegevens.
Azure SDK-clientbibliotheken die voldoen aan de nieuwste ontwerprichtlijnen , zijn afhankelijk van de Azure.Core
bibliotheek. De Azure.AI.ContentSafety
bibliotheek is bijvoorbeeld afhankelijk van de Azure.Core
bibliotheek en biedt een ContentSafetyClient
klasse die zowel protocol- als gemaksmethoden beschikbaar maakt.
De volgende code maakt gebruik van een ContentSafetyClient
methode voor het aanroepen van de AnalyzeText
gemaksmethode:
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}");
}
De voorgaande code demonstreert de volgende Azure.Core
gemaksmethodepatronen:
Sommige clientbibliotheken die verbinding maken met niet-Azure-services gebruiken patronen die vergelijkbaar zijn met de bibliotheken die afhankelijk Azure.Core
zijn van. De bibliotheek biedt bijvoorbeeld OpenAI
een client die verbinding maakt met de OpenAI-services. Deze bibliotheken zijn gebaseerd op een bibliotheek System.ClientModel
die patronen bevat die vergelijkbaar zijn met Azure.Core
.
Houd rekening met de volgende code die gebruikmaakt van een ChatClient
methode voor het aanroepen van de CompleteChat
gemaksmethode:
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}");
De voorgaande code demonstreert de volgende System.ClientModel
gemaksmethodepatronen:
ClientResult
type dat het resultaat van de bewerking aangeeft.Wanneer een serviceaanroep mislukt, genereert de serviceclient een uitzondering die de HTTP-statuscode en de details van het serviceantwoord weergeeft, indien beschikbaar. Een System.ClientModel
-afhankelijke bibliotheek genereert een ClientResultException, terwijl een Azure.Core
afhankelijke bibliotheek een 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}");
}
Hoewel de Azure SDK voor .NET-clientbibliotheken de mogelijkheid bieden om protocol- of gemaksmethoden te gebruiken, kunt u prioriteit geven aan het gebruik van gemaksmethoden in de meeste scenario's. Gemaksmethoden zijn ontworpen om de ontwikkelervaring te verbeteren en flexibiliteit te bieden voor het ontwerpen van aanvragen en het verwerken van reacties. Beide methodetypen kunnen echter indien nodig in uw app worden gebruikt. Houd rekening met de volgende criteria bij het bepalen welk type methode u wilt gebruiken.
Handige methoden:
Protocolmethoden:
RequestContext
en RequestOptions
, die niet beschikbaar zijn via gemaksmethoden..NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven:
gebeurtenis
17 mrt, 21 - 21 mrt, 10
Neem deel aan de meetup-serie om schaalbare AI-oplossingen te bouwen op basis van praktijkgebruiksvoorbeelden met collega-ontwikkelaars en experts.
Nu registrerenTraining
Module
Toegang tot gegevens uit Azure Blob Storage met behulp van meerdere protocollen - Training
U hebt toegang tot uw gegevens vanuit Azure Blob Storage met behulp van verschillende protocollen, zoals representational state transfer (REST), Hadoop Distributed File System (HDFS), Network File System (NFS) en Secure File Transfer Protocol (SFTP).
Documentatie