Klientská knihovna Azure Text Analysis pro JavaScript – verze 6.0.0-beta.1
Azure Cognitive Service for Language je cloudová služba, která poskytuje pokročilé zpracování přirozeného jazyka pro nezpracovaný text a zahrnuje následující hlavní funkce:
Poznámka: Tato sada SDK cílí na službu Azure Cognitive Service pro rozhraní API jazyka verze 2022-04-01-preview.
- Rozpoznávání jazyka
- Analýza mínění
- Extrakce klíčových frází
- Rozpoznávání pojmenovaných entit
- Rozpoznávání identifikovatelných osobních údajů
- Entity Linking
- Analýza zdravotní péče
- Extrahovaná sumarizace
- Vlastní rozpoznávání entit
- Vlastní klasifikace dokumentů
- Podpora více akcí na dokument
Klientská knihovna slouží k:
- Zjistit, v jakém jazyce je napsaný vstupní text.
- Zjistěte, co si zákazníci myslí o vaší značce nebo tématu tím, že analyzujete nezpracovaný text, který obsahuje stopy o pozitivním nebo negativním mínění.
- Automatická extrakce klíčových frází a rychlé zjištění hlavních bodů.
- Identifikujte a kategorizujte entity v textu jako osoby, místa, organizace, datum a čas, množství, procenta, měny, zdravotnictví a další.
- Proveďte několik z výše uvedených úloh najednou.
Klíčové odkazy:
Začínáme
Aktuálně podporovaná prostředí
- LtS verze Node.js
- Nejnovější verze prohlížečů Safari, Chrome, Edge a Firefox.
Další podrobnosti najdete v našich zásadách podpory .
Požadavky
- Předplatné Azure
- Existující prostředek služeb Cognitive Services nebo jazyk. Pokud potřebujete prostředek vytvořit, můžete použít Azure Portal nebo Azure CLI.
Pokud používáte Azure CLI, nahraďte <your-resource-group-name>
a <your-resource-name>
vlastními jedinečnými názvy:
az cognitiveservices account create --kind TextAnalytics --resource-group <your-resource-group-name> --name <your-resource-name> --sku <your-sku-name> --location <your-location>
Nainstalujte balíček @azure/ai-text-analytics
.
Nainstalujte klientskou knihovnu Azure Text Analysis pro JavaScript pomocí příkazu npm
:
npm install @azure/ai-text-analytics
Vytvoření a ověření TextAnalysisClient
K vytvoření objektu klienta pro přístup k rozhraní LANGUAGE API budete potřebovat endpoint
prostředek jazyka a credential
. Klient analýzy textu může k ověření použít přihlašovací údaje Azure Active Directory nebo přihlašovací údaje klíče rozhraní API.
Koncový bod pro váš prostředek jazyka najdete na webu Azure Portal nebo pomocí fragmentu kódu Azure CLI níže:
az cognitiveservices account show --name <your-resource-name> --resource-group <your-resource-group-name> --query "properties.endpoint"
Použití klíče rozhraní API
Pomocí webu Azure Portal přejděte k prostředku jazyka a načtěte klíč rozhraní API nebo použijte následující fragment kódu Azure CLI :
Poznámka: Někdy se klíč rozhraní API označuje jako klíč předplatného nebo klíč rozhraní API předplatného.
az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>
Jakmile budete mít klíč rozhraní API a koncový bod, můžete pomocí AzureKeyCredential
třídy ověřit klienta následujícím způsobem:
const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
Použití přihlašovacích údajů Azure Active Directory
Ve většině příkladů se používá ověřování pomocí klíče rozhraní API klienta, ale ověření můžete provést také v Azure Active Directory pomocí knihovny Azure Identity. Pokud chcete použít zprostředkovatele DefaultAzureCredential uvedeného níže nebo jiné zprostředkovatele přihlašovacích údajů poskytnuté se sadou Azure SDK, nainstalujte @azure/identity
balíček :
npm install @azure/identity
Budete také muset zaregistrovat novou aplikaci AAD a udělit přístup k jazyku přiřazením "Cognitive Services User"
role k vašemu instančnímu objektu (poznámka: jiné role, jako "Owner"
jsou, neudělí potřebná oprávnění, stačí pouze "Cognitive Services User"
ke spuštění příkladů a vzorového kódu).
Nastavte hodnoty ID klienta, ID tenanta a tajného klíče klienta aplikace AAD jako proměnné prostředí: AZURE_CLIENT_ID
, AZURE_TENANT_ID
, AZURE_CLIENT_SECRET
.
const { TextAnalysisClient } = require("@azure/ai-text-analytics");
const { DefaultAzureCredential } = require("@azure/identity");
const client = new TextAnalysisClient("<endpoint>", new DefaultAzureCredential());
Klíčové koncepty
TextAnalysisClient
TextAnalysisClient
je primární rozhraní pro vývojáře, kteří používají klientskou knihovnu pro analýzu textu. Prozkoumejte metody tohoto objektu klienta, abyste porozuměli různým funkcím služby Language, ke které máte přístup.
Vstup
Dokument představuje jednu jednotku vstupu, kterou mají analyzovat prediktivní modely ve službě Language. Operace na TextAnalysisClient
přebírají kolekci vstupů, které se mají analyzovat jako dávka. Metody operací mají přetížení, která umožňují, aby vstupy byly reprezentovány jako řetězce nebo jako objekty s připojenými metadaty.
Každý dokument může být například předán jako řetězec v poli, např.
const documents = [
"I hated the movie. It was so slow!",
"The movie made it into my top ten favorites.",
"What a great movie!",
];
nebo pokud chcete předat dokument id
pro jednotlivé položky nebo language
countryHint
/, mohou být uvedeny jako seznam TextDocumentInput
nebo DetectLanguageInput
v závislosti na operaci;
const textDocumentInputs = [
{ id: "1", language: "en", text: "I hated the movie. It was so slow!" },
{ id: "2", language: "en", text: "The movie made it into my top ten favorites." },
{ id: "3", language: "en", text: "What a great movie!" },
];
Projděte si omezení služby pro vstup, včetně omezení délky dokumentu, maximální velikosti dávky a podporovaných kódování textu.
Návratová hodnota
Vrácená hodnota odpovídající jednomu dokumentu je buď úspěšný výsledek, nebo objekt chyby. Každá TextAnalysisClient
metoda vrací heterogenní pole výsledků a chyb, které odpovídají vstupům podle indexu. Textový vstup a jeho výsledek budou mít stejný index v kolekci vstupů a výsledků.
Výsledek, například SentimentAnalysisResult
, je výsledkem operace Jazyk, která obsahuje předpověď nebo předpovědi týkající se jednoho textového vstupu. Typ výsledku operace může také volitelně obsahovat informace o vstupním dokumentu a způsobu jeho zpracování.
Objekt error označuje, TextAnalysisErrorResult
že služba zjistila chybu při zpracování dokumentu, a obsahuje informace o chybě.
Zpracování chyb dokumentu
V kolekci vrácené operací se chyby odlišují od úspěšných error
odpovědí přítomností vlastnosti, která obsahuje vnitřní TextAnalysisError
objekt, pokud došlo k chybě. Pro úspěšné výsledné objekty je tato vlastnost vždyundefined
.
Pokud chcete například vyfiltrovat všechny chyby, můžete použít následující filter
:
const results = await client.analyze("SentimentAnalysis", documents);
const onlySuccessful = results.filter((result) => result.error === undefined);
Poznámka: Uživatelé TypeScriptu můžou těžit z lepší kontroly typů objektů výsledků a chyb, pokud compilerOptions.strictNullChecks
je v konfiguraci nastavená tsconfig.json
na true
. Příklad:
const [result] = await client.analyze("SentimentAnalysis", ["Hello world!"]);
if (result.error !== undefined) {
// In this if block, TypeScript will be sure that the type of `result` is
// `TextAnalysisError` if compilerOptions.strictNullChecks is enabled in
// the tsconfig.json
console.log(result.error);
}
Příklady
Analýza mínění
Analyzujte mínění textu a zjistěte, jestli je pozitivní, negativní, neutrální nebo smíšený, včetně analýzy mínění pro jednotlivé věty a skóre spolehlivosti.
const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"I did not like the restaurant. The food was too spicy.",
"The restaurant was decorated beautifully. The atmosphere was unlike any other restaurant I've been to.",
"The food was yummy. :)",
];
async function main() {
const results = await client.analyze("SentimentAnalysis", documents);
for (const result of results) {
if (result.error === undefined) {
console.log("Overall sentiment:", result.sentiment);
console.log("Scores:", result.confidenceScores);
} else {
console.error("Encountered an error:", result.error);
}
}
}
main();
Pokud chcete získat podrobnější informace o názorech týkajících se aspektů produktu nebo služby, označované také jako analýza mínění založené na aspektech ve zpracování přirozeného jazyka (NLP), podívejte se na ukázku analýzy mínění s dolováním názorů tady.
Rozpoznávání entit
Rozpoznávat a kategorizovat entity v textu jako osoby, místa, organizace, data a časy, množství, měny atd.
Parametr language
je volitelný. Pokud není zadaný, použije se výchozí anglický model.
const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"Microsoft was founded by Bill Gates and Paul Allen.",
"Redmond is a city in King County, Washington, United States, located 15 miles east of Seattle.",
"Jeff bought three dozen eggs because there was a 50% discount.",
];
async function main() {
const results = await client.analyze("EntityRecognition", documents, "en");
for (const result of results) {
if (result.error === undefined) {
console.log(" -- Recognized entities for input", result.id, "--");
for (const entity of result.entities) {
console.log(entity.text, ":", entity.category, "(Score:", entity.confidenceScore, ")");
}
} else {
console.error("Encountered an error:", result.error);
}
}
}
main();
Rozpoznávání entit PII
K rozpoznání identifikovatelných osobních údajů (PII) v textu, jako jsou čísla sociálního pojištění, informace o bankovním účtu, čísla platebních karet atd. existuje samostatná akce. Jeho použití je velmi podobné standardnímu rozpoznávání entit výše:
const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"The employee's SSN is 555-55-5555.",
"The employee's phone number is (555) 555-5555.",
];
async function main() {
const results = await client.analyze("PiiEntityRecognition", documents, "en");
for (const result of results) {
if (result.error === undefined) {
console.log(" -- Recognized PII entities for input", result.id, "--");
for (const entity of result.entities) {
console.log(entity.text, ":", entity.category, "(Score:", entity.confidenceScore, ")");
}
} else {
console.error("Encountered an error:", result.error);
}
}
}
main();
Entity Linking
Propojená entita je entita, která existuje v znalostní báze (například Wikipedia). Akce EntityLinking
může rozluštit entity tím, že určí, na který záznam v znalostní báze pravděpodobně odkazují (například v části textu slovo "Mars" odkazuje na planetu nebo na římského boha války). Propojené entity obsahují přidružené adresy URL k znalostní báze, která poskytuje definici entity.
const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"Microsoft was founded by Bill Gates and Paul Allen.",
"Easter Island, a Chilean territory, is a remote volcanic island in Polynesia.",
"I use Azure Functions to develop my product.",
];
async function main() {
const results = await client.analyze("EntityLinking", documents, "en");
for (const result of results) {
if (result.error === undefined) {
console.log(" -- Recognized linked entities for input", result.id, "--");
for (const entity of result.entities) {
console.log(entity.name, "(URL:", entity.url, ", Source:", entity.dataSource, ")");
for (const match of entity.matches) {
console.log(
" Occurrence:",
'"' + match.text + '"',
"(Score:",
match.confidenceScore,
")"
);
}
}
} else {
console.error("Encountered an error:", result.error);
}
}
}
main();
Extrakce klíčových frází
Extrakce klíčových frází identifikuje hlavní body v dokumentu. Například vstupní text "Jídlo bylo chutné a tam byl skvělý personál", služba vrátí "jídlo" a "báječný personál".
const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"Redmond is a city in King County, Washington, United States, located 15 miles east of Seattle.",
"I need to take my cat to the veterinarian.",
"I will travel to South America in the summer.",
];
async function main() {
const results = await client.analyze("KeyPhraseExtraction", documents, "en");
for (const result of results) {
if (result.error === undefined) {
console.log(" -- Extracted key phrases for input", result.id, "--");
console.log(result.keyPhrases);
} else {
console.error("Encountered an error:", result.error);
}
}
}
main();
Rozpoznávání jazyka
Určení jazyka části textu
Parametr countryHint
je volitelný, ale může službě pomoct při poskytování správného výstupu, pokud je země původu známá. Pokud je zadán, měl by být nastaven na ISO-3166 Alpha-2 dvoupísmenný kód země (například "nás" pro USA nebo "jp" pro Japonsko) nebo na hodnotu "none"
. Pokud parametr není zadaný, použije se výchozí "us"
model (USA). Pokud neznáte zemi původu dokumentu, měl by se použít parametr "none"
a služba Language použije model vyladěný pro neznámou zemi původu.
const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"This is written in English.",
"Il documento scritto in italiano.",
"Dies ist in deutscher Sprache verfasst.",
];
async function main() {
const results = await client.analyze("LanguageDetection", documents, "none");
for (const result of results) {
if (result.error === undefined) {
const { primaryLanguage } = result;
console.log(
"Input #",
result.id,
"identified as",
primaryLanguage.name,
"( ISO6391:",
primaryLanguage.iso6391Name,
", Score:",
primaryLanguage.confidenceScore,
")"
);
} else {
console.error("Encountered an error:", result.error);
}
}
}
main();
Analýza zdravotní péče
Analýza zdravotní péče identifikuje zdravotnické subjekty. Například při zadávání textu "Předepisuje se 100mgmg, brát dvakrát denně", vrátí služba "100mg" kategorizovaný jako Dávkování, "latence" jako DrugName a "dvakrát denně" jako Frequency.
const {
AnalyzeBatchAction,
AzureKeyCredential,
TextAnalysisClient,
} = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"Prescribed 100mg ibuprofen, taken twice daily.",
"Patient does not suffer from high blood pressure.",
];
async function main() {
const actions: AnalyzeBatchAction[] = [
{
kind: "Healthcare",
},
];
const poller = await client.beginAnalyzeBatch(actions, documents, "en");
const results = await poller.pollUntilDone();
for await (const actionResult of results) {
if (actionResult.kind !== "Healthcare") {
throw new Error(`Expected a healthcare results but got: ${actionResult.kind}`);
}
if (actionResult.error) {
const { code, message } = actionResult.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
for (const result of actionResult.results) {
console.log(`- Document ${result.id}`);
if (result.error) {
const { code, message } = result.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
console.log("\tRecognized Entities:");
for (const entity of result.entities) {
console.log(`\t- Entity "${entity.text}" of type ${entity.category}`);
if (entity.dataSources.length > 0) {
console.log("\t and it can be referenced in the following data sources:");
for (const ds of entity.dataSources) {
console.log(`\t\t- ${ds.name} with Entity ID: ${ds.entityId}`);
}
}
}
}
}
}
main();
Extrahovaná sumarizace
Extrahovaná sumarizace identifikuje věty, které shrnují článek, do kterého patří.
const {
AnalyzeBatchAction,
AzureKeyCredential,
TextAnalysisClient,
} = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"Prescribed 100mg ibuprofen, taken twice daily.",
"Patient does not suffer from high blood pressure.",
];
async function main() {
const actions: AnalyzeBatchAction[] = [
{
kind: "ExtractiveSummarization",
maxSentenceCount: 2,
},
];
const poller = await client.beginAnalyzeBatch(actions, documents, "en");
const results = await poller.pollUntilDone();
for await (const actionResult of results) {
if (actionResult.kind !== "ExtractiveSummarization") {
throw new Error(`Expected extractive summarization results but got: ${actionResult.kind}`);
}
if (actionResult.error) {
const { code, message } = actionResult.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
for (const result of actionResult.results) {
console.log(`- Document ${result.id}`);
if (result.error) {
const { code, message } = result.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
console.log("Summary:");
console.log(result.sentences.map((sentence) => sentence.text).join("\n"));
}
}
}
main();
Vlastní rozpoznávání entit
Rozpoznávání a kategorizace entit v textu jako entit pomocí vlastních modelů detekce entit vytvořených pomocí nástroje Azure Language Studio
const {
AnalyzeBatchAction,
AzureKeyCredential,
TextAnalysisClient,
} = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"We love this trail and make the trip every year. The views are breathtaking and well worth the hike! Yesterday was foggy though, so we missed the spectacular views. We tried again today and it was amazing. Everyone in my family liked the trail although it was too challenging for the less athletic among us.",
"Last week we stayed at Hotel Foo to celebrate our anniversary. The staff knew about our anniversary so they helped me organize a little surprise for my partner. The room was clean and with the decoration I requested. It was perfect!",
];
async function main() {
const actions: AnalyzeBatchAction[] = [
{
kind: "CustomEntityRecognition",
deploymentName,
projectName,
},
];
const poller = await client.beginAnalyzeBatch(actions, documents, "en");
for await (const actionResult of results) {
if (actionResult.kind !== "CustomEntityRecognition") {
throw new Error(`Expected a CustomEntityRecognition results but got: ${actionResult.kind}`);
}
if (actionResult.error) {
const { code, message } = actionResult.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
for (const result of actionResult.results) {
console.log(`- Document ${result.id}`);
if (result.error) {
const { code, message } = result.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
console.log("\tRecognized Entities:");
for (const entity of result.entities) {
console.log(`\t- Entity "${entity.text}" of type ${entity.category}`);
}
}
}
}
main();
Vlastní klasifikace bez přípony
Klasifikujte dokumenty pomocí vlastních modelů bez přípon vytvořených pomocí nástroje Azure Language Studio.
const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"The plot begins with a large group of characters where everyone thinks that the two main ones should be together but foolish things keep them apart. Misunderstandings, miscommunication, and confusion cause a series of humorous situations.",
];
async function main() {
const actions: AnalyzeBatchAction[] = [
{
kind: "CustomSingleLabelClassification",
deploymentName,
projectName,
},
];
const poller = await client.beginAnalyzeBatch(actions, documents, "en");
const results = await poller.pollUntilDone();
for await (const actionResult of results) {
if (actionResult.kind !== "CustomSingleLabelClassification") {
throw new Error(
`Expected a CustomSingleLabelClassification results but got: ${actionResult.kind}`
);
}
if (actionResult.error) {
const { code, message } = actionResult.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
for (const result of actionResult.results) {
console.log(`- Document ${result.id}`);
if (result.error) {
const { code, message } = result.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
console.log(`\tClassification: ${result.classification.category}`);
}
}
}
main();
Vlastní klasifikace s více popisky
Klasifikujte dokumenty pomocí vlastních modelů s více popisky vytvořených pomocí nástroje Azure Language Studio.
const {
AnalyzeBatchAction,
AzureKeyCredential,
TextAnalysisClient,
} = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"The plot begins with a large group of characters where everyone thinks that the two main ones should be together but foolish things keep them apart. Misunderstandings, miscommunication, and confusion cause a series of humorous situations.",
];
async function main() {
const actions: AnalyzeBatchAction[] = [
{
kind: "CustomMultiLabelClassification",
deploymentName,
projectName,
},
];
const poller = await client.beginAnalyzeBatch(actions, documents, "en");
const results = await poller.pollUntilDone();
for await (const actionResult of results) {
if (actionResult.kind !== "CustomMultiLabelClassification") {
throw new Error(
`Expected a CustomMultiLabelClassification results but got: ${actionResult.kind}`
);
}
if (actionResult.error) {
const { code, message } = actionResult.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
for (const result of actionResult.results) {
console.log(`- Document ${result.id}`);
if (result.error) {
const { code, message } = result.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
console.log(`\tClassification:`);
for (const classification of result.classifications) {
console.log(`\t\t-category: ${classification.category}`);
}
}
}
}
main();
Dávkování akcí
Použije více akcí na každý vstupní dokument v jedné žádosti o služby.
const {
AnalyzeBatchAction,
AzureKeyCredential,
TextAnalysisClient,
} = require("@azure/ai-text-analytics");
const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));
const documents = [
"Microsoft was founded by Bill Gates and Paul Allen.",
"The employee's SSN is 555-55-5555.",
"Easter Island, a Chilean territory, is a remote volcanic island in Polynesia.",
"I use Azure Functions to develop my product.",
];
async function main() {
const actions: AnalyzeBatchAction[] = [
{
kind: "EntityRecognition",
modelVersion: "latest",
},
{
kind: "PiiEntityRecognition",
modelVersion: "latest",
},
{
kind: "KeyPhraseExtraction",
modelVersion: "latest",
},
];
const poller = await client.beginAnalyzeBatch(actions, documents, "en");
const actionResults = await poller.pollUntilDone();
for await (const actionResult of actionResults) {
if (actionResult.error) {
const { code, message } = actionResult.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
switch (actionResult.kind) {
case "KeyPhraseExtraction": {
for (const doc of actionResult.results) {
console.log(`- Document ${doc.id}`);
if (!doc.error) {
console.log("\tKey phrases:");
for (const phrase of doc.keyPhrases) {
console.log(`\t- ${phrase}`);
}
} else {
console.error("\tError:", doc.error);
}
}
break;
}
case "EntityRecognition": {
for (const doc of actionResult.results) {
console.log(`- Document ${doc.id}`);
if (!doc.error) {
console.log("\tEntities:");
for (const entity of doc.entities) {
console.log(`\t- Entity ${entity.text} of type ${entity.category}`);
}
} else {
console.error("\tError:", doc.error);
}
}
break;
}
case "PiiEntityRecognition": {
for (const doc of actionResult.results) {
console.log(`- Document ${doc.id}`);
if (!doc.error) {
console.log("\tPii Entities:");
for (const entity of doc.entities) {
console.log(`\t- Entity ${entity.text} of type ${entity.category}`);
}
} else {
console.error("\tError:", doc.error);
}
}
break;
}
default: {
throw new Error(`Unexpected action results: ${actionResult.kind}`);
}
}
}
}
main();
Řešení potíží
protokolování
Povolení protokolování může pomoct odhalit užitečné informace o selháních. Pokud chcete zobrazit protokol požadavků a odpovědí HTTP, nastavte proměnnou AZURE_LOG_LEVEL
prostředí na info
. Případně je možné protokolování povolit za běhu voláním setLogLevel
v :@azure/logger
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Podrobnější pokyny k povolení protokolů najdete v dokumentaci k balíčkům @azure/protokolovacího nástroje.
Další kroky
Podrobné příklady použití této knihovny najdete v adresáři ukázek .
Přispívání
Pokud chcete přispívat do této knihovny, přečtěte si příručku pro přispívání , kde najdete další informace o tom, jak sestavit a otestovat kód.
Související projekty
Azure SDK for JavaScript