Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Ogni risorsa Content Understanding fornisce l'accesso a tutti gli analizzatori predefiniti per impostazione predefinita. Per un elenco completo, vedere analizzatori predefiniti. Gli analizzatori personalizzati sono analizzatori definiti per elaborare contenuto specifico in cui è possibile definire il tipo di contenuto, lo schema e qualsiasi altra logica di elaborazione. Per altre informazioni sulla definizione di un analizzatore personalizzato, vedere Definizione di un analizzatore personalizzato.
L'operazione di copia negli analizzatori supporta alcuni scenari diversi:
- Copiare all'interno di una risorsa per creare una copia di un analizzatore esistente nella stessa risorsa di un backup o di una versione su cui è possibile eseguire l'iterazione.
- Copia tra le risorse per copiare un analizzatore da una risorsa Foundry a un'altra. Ciò supporta scenari di failover e analizzatori di condivisione tra team.
Importante
L'operazione di copia per la copia tra le risorse supporta la copia degli analizzatori tra sottoscrizioni e persino i tenant di Azure.
Questa guida illustra come usare l'API REST Content Understanding per copiare analizzatori personalizzati all'interno di una risorsa e tra le risorse foundry.
Prerequisiti
- Sottoscrizione attiva Azure. Se non si ha un account Azure, crearne uno gratuitamente.
- Una risorsa Microsoft Foundry creata in un'area supportata.
- cURL installato per l'ambiente di sviluppo.
- Analizzatore personalizzato esistente nella risorsa. Consultare Creare un analizzatore personalizzato se è necessario crearne uno.
Copiare all'interno di una risorsa Foundry
L'operazione di copia all'interno di una risorsa Foundry è un'operazione in un unico passaggio. Specificare l'ID dell'analizzatore di destinazione nell'URL della richiesta e specificare l'ID dell'analizzatore di origine nel corpo della richiesta.
POST https://{resource}.services.ai.azure.com/contentunderstanding/analyzers/{targetAnalyzer}:copy?api-version=2025-11-01
Content-Type: application/json
Ocp-Apim-Subscription-Key: {Auth key}
{
"sourceAnalyzerId": "{sourceAnalyzerId}"
}
Copiare tra le risorse Foundry
La copia di un analizzatore tra le risorse Foundry è un processo a più fasi perché un'entità servizio potrebbe non avere autorizzazioni su entrambe le risorse.
- Chiamare l'API Concedi autorizzazione di copia nell'analizzatore di origine, specificando l'ID risorsa completo della destinazione di copia e l'area di destinazione. La risposta contiene un token di autorizzazione di copia con una scadenza (
expiresAt). - Chiamare l'API di copia nella risorsa di destinazione, specificando l'ID risorsa di origine completo, l'ID dell'analizzatore di origine e l'area di origine.
Importante
Sia le risorse di origine che di destinazione richiedono che il ruolo utente di Servizi cognitivi venga concesso alle credenziali usate per eseguire il codice. Questo ruolo è necessario per le operazioni di copia tra risorse.
POST https://{source resource}.services.ai.azure.com/contentunderstanding/analyzers/{source analyzer id}:grantCopyAuthorization?api-version=2025-11-01
Content-Type: application/json
Ocp-Apim-Subscription-Key: {Auth key}
{
"targetAzureResourceId":"/subscriptions/{subscription guid}/resourceGroups/{resource group}/providers/Microsoft.CognitiveServices/accounts/{target resource}",
"targetRegion":"{region}"
}
POST https://{target resource}.services.ai.azure.com/contentunderstanding/analyzers/{target analyzer id}:copy?api-version=2025-11-01
Content-Type: application/json
Ocp-Apim-Subscription-Key: {Auth key}
{
"sourceAzureResourceId":"/subscriptions/{subscription guid}/resourceGroups/{resource group}/providers/Microsoft.CognitiveServices/accounts/{source resource}",
"sourceAnalyzerId":"{source analyzer id}",
"sourceRegion":"{region}"
}
Nota
Gli analizzatori supportano ora la classificazione/segmentazione e l'analisi di ognuna delle classi e dei segmenti identificati in una singola richiesta. Quando si copia un analizzatore che usa questa funzionalità, è necessario copiare anche eventuali analizzatori a cui si fa riferimento.
Verificare la copia
È possibile verificare che l'analizzatore sia stato copiato chiamando l'analizzatore GET sulla risorsa se la copia si trovava all'interno della risorsa o nella risorsa di destinazione se la copia si trovava tra le risorse.
GET https://{target resource}.services.ai.azure.com/contentunderstanding/analyzers/{target analyzer id}?api-version=2025-11-01
Ocp-Apim-Subscription-Key: {Auth key}
Questa guida illustra come usare Content Understanding Python SDK per copiare analizzatori personalizzati all'interno di una risorsa e tra le risorse foundry.
Prerequisiti
- Sottoscrizione attiva Azure. Se non si ha un account Azure, crearne uno gratuitamente.
- Una risorsa Microsoft Foundry creata in un'area supportata.
- L'endpoint della risorsa e la chiave API.
- Python 3.9 o versione successiva.
- Analizzatore personalizzato esistente nella risorsa. Consultare Creare un analizzatore personalizzato se è necessario crearne uno.
Configurare
Installare la libreria client di Content Understanding per Python con pip:
pip install azure-ai-contentunderstandingFacoltativamente, installare la libreria di identità Azure per l'autenticazione Microsoft Entra:
pip install azure-identity
Configurare le variabili di ambiente
Per eseguire l'autenticazione con il servizio Content Understanding, impostare le variabili di ambiente con i propri valori prima di eseguire l'esempio:
-
CONTENTUNDERSTANDING_ENDPOINT- l'endpoint della risorsa di Comprensione dei Contenuti. -
CONTENTUNDERSTANDING_KEY: chiave API di Content Understanding (facoltativa se si usa Microsoft Entra ID DefaultAzureCredential).
Windows
setx CONTENTUNDERSTANDING_ENDPOINT "your-endpoint"
setx CONTENTUNDERSTANDING_KEY "your-key"
Linux/macOS
export CONTENTUNDERSTANDING_ENDPOINT="your-endpoint"
export CONTENTUNDERSTANDING_KEY="your-key"
Creare il client
import os
from azure.ai.contentunderstanding import ContentUnderstandingClient
from azure.core.credentials import AzureKeyCredential
from azure.identity import DefaultAzureCredential
endpoint = os.environ["CONTENTUNDERSTANDING_ENDPOINT"]
key = os.getenv("CONTENTUNDERSTANDING_KEY")
credential = AzureKeyCredential(key) if key else DefaultAzureCredential()
client = ContentUnderstandingClient(
endpoint=endpoint, credential=credential
)
Copiare all'interno di una risorsa Foundry
Per copiare un analizzatore all'interno della stessa risorsa, chiamare il metodo begin_copy_analyzer con l'ID dell'analizzatore di origine e l'ID dell'analizzatore di destinazione.
source_analyzer_id = "my-source-analyzer"
target_analyzer_id = "my-target-analyzer"
poller = client.begin_copy_analyzer(
analyzer_id=target_analyzer_id,
source_analyzer_id=source_analyzer_id,
)
poller.result()
print("Analyzer copied successfully!")
Suggerimento
Questo codice si basa sull'esempio di analizzatore copy nel repository SDK.
Copiare tra le risorse Foundry
La copia di un analizzatore tra le risorse Foundry è un processo in più passaggi:
- Concedere l'autorizzazione di copia alla risorsa di origine.
- Usare l'autorizzazione per chiamare l'API di copia nella risorsa di destinazione.
Importante
Sia le risorse di origine che di destinazione richiedono che il ruolo utente di Servizi cognitivi venga concesso alle credenziali usate per eseguire il codice. Questo ruolo è necessario per le operazioni di copia tra risorse.
Per la copia tra risorse, impostare le variabili di ambiente aggiuntive seguenti:
-
CONTENTUNDERSTANDING_SOURCE_RESOURCE_ID- ID completo risorsa Azure Resource Manager della risorsa di origine. -
CONTENTUNDERSTANDING_SOURCE_REGION: area Azure della risorsa di origine. -
CONTENTUNDERSTANDING_TARGET_ENDPOINT- Endpoint della risorsa di destinazione. -
CONTENTUNDERSTANDING_TARGET_RESOURCE_ID- ID completo del Gestore risorse di Azure della risorsa di destinazione. -
CONTENTUNDERSTANDING_TARGET_REGION: area Azure della risorsa di destinazione. -
CONTENTUNDERSTANDING_TARGET_KEY- Chiave API di destinazione (facoltativa se si usa DefaultAzureCredential).
Formato ID risorsa di esempio: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{name}
source_endpoint = os.environ["CONTENTUNDERSTANDING_ENDPOINT"]
source_key = os.getenv("CONTENTUNDERSTANDING_KEY")
source_credential = (
AzureKeyCredential(source_key) if source_key else DefaultAzureCredential()
)
source_resource_id = os.environ["CONTENTUNDERSTANDING_SOURCE_RESOURCE_ID"]
source_region = os.environ["CONTENTUNDERSTANDING_SOURCE_REGION"]
target_endpoint = os.environ["CONTENTUNDERSTANDING_TARGET_ENDPOINT"]
target_key = os.getenv("CONTENTUNDERSTANDING_TARGET_KEY")
target_credential = (
AzureKeyCredential(target_key) if target_key else DefaultAzureCredential()
)
target_resource_id = os.environ["CONTENTUNDERSTANDING_TARGET_RESOURCE_ID"]
target_region = os.environ["CONTENTUNDERSTANDING_TARGET_REGION"]
source_analyzer_id = "my-source-analyzer"
target_analyzer_id = "my-target-analyzer"
# Create source and target clients
source_client = ContentUnderstandingClient(
endpoint=source_endpoint, credential=source_credential
)
target_client = ContentUnderstandingClient(
endpoint=target_endpoint, credential=target_credential
)
# Step 1: Grant copy authorization on the source resource
copy_auth = source_client.grant_copy_authorization(
analyzer_id=source_analyzer_id,
target_azure_resource_id=target_resource_id,
target_region=target_region,
)
print("Authorization granted successfully!")
print(f" Target Azure Resource ID: {copy_auth.target_azure_resource_id}")
print(f" Expires at: {copy_auth.expires_at}")
# Step 2: Copy analyzer to target resource
copy_poller = target_client.begin_copy_analyzer(
analyzer_id=target_analyzer_id,
source_analyzer_id=source_analyzer_id,
source_azure_resource_id=source_resource_id,
source_region=source_region,
)
copy_poller.result()
print("Analyzer copied successfully to target resource!")
Suggerimento
Questo codice si basa sull'esempio grant copy auth nel repository SDK.
Nota
Gli analizzatori supportano ora la classificazione/segmentazione e l'analisi di ognuna delle classi e dei segmenti identificati in una singola richiesta. Quando si copia un analizzatore che usa questa funzionalità, è necessario copiare anche eventuali analizzatori a cui si fa riferimento.
Verificare la copia
Verificare che l'analizzatore sia stato copiato recuperandolo dalla risorsa di destinazione.
copied_analyzer = target_client.get_analyzer(
analyzer_id=target_analyzer_id
)
print(f" Target Analyzer ID: {copied_analyzer.analyzer_id}")
print(f" Description: {copied_analyzer.description}")
print(f" Status: {copied_analyzer.status}")
Questa guida illustra come usare Content Understanding .NET SDK per copiare analizzatori personalizzati all'interno di una risorsa e tra le risorse foundry.
Prerequisiti
- Sottoscrizione attiva Azure. Se non si ha un account Azure, crearne uno gratuitamente.
- Una risorsa Microsoft Foundry creata in un'area supportata.
- L'endpoint della risorsa e la chiave API.
- Versione corrente di .NET.
- Analizzatore personalizzato esistente nella risorsa. Consultare Creare un analizzatore personalizzato se è necessario crearne uno.
Configurare
Creare una nuova applicazione console .NET:
dotnet new console -n CopyAnalyzerExample cd CopyAnalyzerExampleInstallare la libreria client di Content Understanding per .NET:
dotnet add package Azure.AI.ContentUnderstandingFacoltativamente, installare la libreria di identità Azure per l'autenticazione Microsoft Entra:
dotnet add package Azure.Identity
Configurare le variabili di ambiente
Per eseguire l'autenticazione con il servizio Content Understanding, impostare le variabili di ambiente con i propri valori prima di eseguire l'esempio:
-
CONTENTUNDERSTANDING_ENDPOINT- l'endpoint della risorsa di Comprensione dei Contenuti. -
CONTENTUNDERSTANDING_KEY: chiave API di Content Understanding (facoltativa se si usa Microsoft Entra ID DefaultAzureCredential).
Windows
setx CONTENTUNDERSTANDING_ENDPOINT "your-endpoint"
setx CONTENTUNDERSTANDING_KEY "your-key"
Linux/macOS
export CONTENTUNDERSTANDING_ENDPOINT="your-endpoint"
export CONTENTUNDERSTANDING_KEY="your-key"
Creare il client
using Azure;
using Azure.AI.ContentUnderstanding;
using Azure.Identity;
string endpoint = Environment.GetEnvironmentVariable(
"CONTENTUNDERSTANDING_ENDPOINT");
string apiKey = Environment.GetEnvironmentVariable(
"CONTENTUNDERSTANDING_KEY");
var client = !string.IsNullOrEmpty(apiKey)
? new ContentUnderstandingClient(
new Uri(endpoint),
new AzureKeyCredential(apiKey))
: new ContentUnderstandingClient(
new Uri(endpoint),
new DefaultAzureCredential());
Copiare all'interno di una risorsa Foundry
Per copiare un analizzatore all'interno della stessa risorsa, chiamare il metodo CopyAnalyzerAsync con l'ID dell'analizzatore di origine e l'ID dell'analizzatore di destinazione.
string sourceAnalyzerId = "my-source-analyzer";
string targetAnalyzerId = "my-target-analyzer";
await client.CopyAnalyzerAsync(
WaitUntil.Completed,
targetAnalyzerId,
sourceAnalyzerId);
Suggerimento
Questo codice si basa sull'esempio di analizzatore copy nel repository SDK.
Copiare tra le risorse Foundry
La copia di un analizzatore tra le risorse Foundry è un processo in più passaggi:
- Concedere l'autorizzazione di copia alla risorsa di origine.
- Usare l'autorizzazione per chiamare l'API di copia nella risorsa di destinazione.
Importante
Sia le risorse di origine che di destinazione richiedono che il ruolo utente di Servizi cognitivi venga concesso alle credenziali usate per eseguire il codice. Questo ruolo è necessario per le operazioni di copia tra risorse.
// Get source endpoint from configuration
string sourceEndpoint =
"https://source-resource.services.ai.azure.com/";
// Create source client using DefaultAzureCredential
ContentUnderstandingClient sourceClient =
new ContentUnderstandingClient(
new Uri(sourceEndpoint),
new DefaultAzureCredential());
// Source analyzer ID (must already exist in the source resource)
string sourceAnalyzerId =
"my_source_analyzer";
// Target analyzer ID (will be created during copy)
string targetAnalyzerId =
"my_target_analyzer";
// Get source and target resource information
string sourceResourceId =
"/subscriptions/{subscriptionId}"
+ "/resourceGroups/{resourceGroupName}"
+ "/providers/Microsoft.CognitiveServices"
+ "/accounts/{name}";
string sourceRegion = "eastus";
string targetEndpoint =
"https://target-resource.services.ai.azure.com/";
string targetResourceId =
"/subscriptions/{subscriptionId}"
+ "/resourceGroups/{resourceGroupName}"
+ "/providers/Microsoft.CognitiveServices"
+ "/accounts/{name}";
string targetRegion = "westus";
// Create target client using DefaultAzureCredential
ContentUnderstandingClient targetClient =
new ContentUnderstandingClient(
new Uri(targetEndpoint),
new DefaultAzureCredential());
// Step 1: Grant copy authorization
var copyAuth = await
sourceClient.GrantCopyAuthorizationAsync(
sourceAnalyzerId,
targetResourceId,
targetRegion);
Console.WriteLine("Copy authorization granted successfully!");
Console.WriteLine(
$" Target Azure Resource ID: "
+ $"{copyAuth.Value.TargetAzureResourceId}");
Console.WriteLine(
$" Expires at: {copyAuth.Value.ExpiresAt}");
// Step 2: Copy analyzer to target resource
var copyOperation = await
targetClient.CopyAnalyzerAsync(
WaitUntil.Completed,
targetAnalyzerId,
sourceAnalyzerId,
sourceResourceId,
sourceRegion);
var targetResult = copyOperation.Value;
Console.WriteLine(
$"Target analyzer '{targetAnalyzerId}' "
+ "copied successfully to target resource!");
Console.WriteLine(
$"Target analyzer description: "
+ $"{targetResult.Description}");
Suggerimento
Questo codice si basa sull'esempio grant copy auth nel repository SDK.
Nota
Gli analizzatori supportano ora la classificazione/segmentazione e l'analisi di ognuna delle classi e dei segmenti identificati in una singola richiesta. Quando si copia un analizzatore che usa questa funzionalità, è necessario copiare anche eventuali analizzatori a cui si fa riferimento.
Verificare la copia
Verificare che l'analizzatore sia stato copiato recuperandolo dalla risorsa di destinazione.
var analyzerDetails = await
targetClient.GetAnalyzerAsync(targetAnalyzerId);
var result = analyzerDetails.Value;
Console.WriteLine(
$"Analyzer '{targetAnalyzerId}' found.");
if (result.Description != null)
{
Console.WriteLine(
$" Description: {result.Description}");
}
Questa guida illustra come usare Content Understanding Java SDK per copiare analizzatori personalizzati all'interno di una risorsa e tra le risorse foundry.
Prerequisiti
- Sottoscrizione attiva Azure. Se non si ha un account Azure, crearne uno gratuitamente.
- Una risorsa Microsoft Foundry creata in un'area supportata.
- L'endpoint della risorsa e la chiave API.
- Java Development Kit (JDK) versione 8 o successiva.
- Apache Maven.
- Analizzatore personalizzato esistente nella risorsa. Consultare Creare un analizzatore personalizzato se è necessario crearne uno.
Configurare
Aggiungi la dipendenza Content Understanding al file pom.xml nella sezione
<dependencies>:<dependency> <groupId>com.azure</groupId> <artifactId>azure-ai-contentunderstanding</artifactId> <version>1.0.0</version> </dependency>Facoltativamente, aggiungere la libreria di identità Azure per l'autenticazione Microsoft Entra:
<dependency> <groupId>com.azure</groupId> <artifactId>azure-identity</artifactId> <version>1.14.2</version> </dependency>
Configurare le variabili di ambiente
Per eseguire l'autenticazione con il servizio Content Understanding, impostare le variabili di ambiente con i propri valori prima di eseguire l'esempio:
-
CONTENTUNDERSTANDING_ENDPOINT- l'endpoint della risorsa di Comprensione dei Contenuti. -
CONTENTUNDERSTANDING_KEY: chiave API di Content Understanding (facoltativa se si usa Microsoft Entra ID DefaultAzureCredential).
Windows
setx CONTENTUNDERSTANDING_ENDPOINT "your-endpoint"
setx CONTENTUNDERSTANDING_KEY "your-key"
Linux/macOS
export CONTENTUNDERSTANDING_ENDPOINT="your-endpoint"
export CONTENTUNDERSTANDING_KEY="your-key"
Creare il client
import com.azure.core.credential.AzureKeyCredential;
import com.azure.core.util.polling.SyncPoller;
import com.azure.ai.contentunderstanding.ContentUnderstandingClient;
import com.azure.ai.contentunderstanding.ContentUnderstandingClientBuilder;
import com.azure.ai.contentunderstanding.models.ContentAnalyzer;
import com.azure.ai.contentunderstanding.models.ContentAnalyzerOperationStatus;
import com.azure.ai.contentunderstanding.models.CopyAuthorization;
import com.azure.identity.DefaultAzureCredentialBuilder;
String endpoint = System.getenv("CONTENTUNDERSTANDING_ENDPOINT");
String key = System.getenv("CONTENTUNDERSTANDING_KEY");
ContentUnderstandingClientBuilder builder =
new ContentUnderstandingClientBuilder()
.endpoint(endpoint);
ContentUnderstandingClient client;
if (key != null && !key.trim().isEmpty()) {
client = builder.credential(
new AzureKeyCredential(key)).buildClient();
} else {
client = builder.credential(
new DefaultAzureCredentialBuilder()
.build()).buildClient();
}
Copiare all'interno di una risorsa Foundry
Per copiare un analizzatore all'interno della stessa risorsa, chiamare il metodo beginCopyAnalyzer con l'ID dell'analizzatore di origine e l'ID dell'analizzatore di destinazione.
String sourceAnalyzerId = "my-source-analyzer";
String targetAnalyzerId = "my-target-analyzer";
SyncPoller<ContentAnalyzerOperationStatus, ContentAnalyzer>
copyPoller = client.beginCopyAnalyzer(
targetAnalyzerId, sourceAnalyzerId);
ContentAnalyzer copiedAnalyzer =
copyPoller.getFinalResult();
System.out.println(
"Analyzer copied to '"
+ targetAnalyzerId + "' successfully!");
Suggerimento
Questo codice si basa sull'esempio di analizzatore copy nel repository SDK.
Copiare tra le risorse Foundry
La copia di un analizzatore tra le risorse Foundry è un processo in più passaggi:
- Concedere l'autorizzazione di copia alla risorsa di origine.
- Usare l'autorizzazione per chiamare l'API di copia nella risorsa di destinazione.
Importante
Sia le risorse di origine che di destinazione richiedono che il ruolo utente di Servizi cognitivi venga concesso alle credenziali usate per eseguire il codice. Questo ruolo è necessario per le operazioni di copia tra risorse.
Formato ID risorsa di esempio: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{name}
String sourceEndpoint =
System.getenv("CONTENTUNDERSTANDING_ENDPOINT");
String sourceKey =
System.getenv("CONTENTUNDERSTANDING_KEY");
String sourceResourceId =
System.getenv(
"CONTENTUNDERSTANDING_SOURCE_RESOURCE_ID");
String sourceRegion =
System.getenv(
"CONTENTUNDERSTANDING_SOURCE_REGION");
String targetEndpoint =
System.getenv(
"CONTENTUNDERSTANDING_TARGET_ENDPOINT");
String targetKey =
System.getenv("CONTENTUNDERSTANDING_TARGET_KEY");
String targetResourceId =
System.getenv(
"CONTENTUNDERSTANDING_TARGET_RESOURCE_ID");
String targetRegion =
System.getenv(
"CONTENTUNDERSTANDING_TARGET_REGION");
String sourceAnalyzerId = "my-source-analyzer";
String targetAnalyzerId = "my-target-analyzer";
// Build source client
ContentUnderstandingClientBuilder sourceBuilder =
new ContentUnderstandingClientBuilder()
.endpoint(sourceEndpoint);
ContentUnderstandingClient sourceClient;
if (sourceKey != null
&& !sourceKey.trim().isEmpty()) {
sourceClient = sourceBuilder.credential(
new AzureKeyCredential(sourceKey))
.buildClient();
} else {
sourceClient = sourceBuilder.credential(
new DefaultAzureCredentialBuilder()
.build()).buildClient();
}
// Build target client
ContentUnderstandingClientBuilder targetBuilder =
new ContentUnderstandingClientBuilder()
.endpoint(targetEndpoint);
ContentUnderstandingClient targetClient;
if (targetKey != null
&& !targetKey.trim().isEmpty()) {
targetClient = targetBuilder.credential(
new AzureKeyCredential(targetKey))
.buildClient();
} else {
targetClient = targetBuilder.credential(
new DefaultAzureCredentialBuilder()
.build()).buildClient();
}
// Step 1: Grant copy authorization on source client
CopyAuthorization copyAuth =
sourceClient.grantCopyAuthorization(
sourceAnalyzerId,
targetResourceId,
targetRegion);
System.out.println(
"Copy authorization granted successfully!");
System.out.println(
" Target Azure Resource ID: "
+ copyAuth.getTargetAzureResourceId());
System.out.println(
" Expires at: " + copyAuth.getExpiresAt());
// Step 2: Copy analyzer to target resource
SyncPoller<ContentAnalyzerOperationStatus,
ContentAnalyzer> copyPoller =
targetClient.beginCopyAnalyzer(
targetAnalyzerId,
sourceAnalyzerId,
false,
sourceResourceId,
sourceRegion);
ContentAnalyzer targetResult =
copyPoller.getFinalResult();
System.out.println(
"Target analyzer '"
+ targetAnalyzerId + "' copied successfully!");
System.out.println(
" Description: "
+ targetResult.getDescription());
Suggerimento
Questo codice si basa sull'esempio grant copy auth nel repository SDK.
Nota
Gli analizzatori supportano ora la classificazione/segmentazione e l'analisi di ognuna delle classi e dei segmenti identificati in una singola richiesta. Quando si copia un analizzatore che usa questa funzionalità, è necessario copiare anche eventuali analizzatori a cui si fa riferimento.
Verificare la copia
Verificare che l'analizzatore sia stato copiato recuperandolo dalla risorsa di destinazione.
ContentAnalyzer analyzer =
targetClient.getAnalyzer(targetAnalyzerId);
System.out.println(
"Analyzer '" + targetAnalyzerId + "' found.");
if (analyzer.getDescription() != null) {
System.out.println(
" Description: "
+ analyzer.getDescription());
}
Questa guida illustra come usare Content Understanding JavaScript SDK per copiare analizzatori personalizzati all'interno di una risorsa e tra le risorse foundry.
Prerequisiti
- Sottoscrizione attiva Azure. Se non si ha un account Azure, crearne uno gratuitamente.
- Una risorsa Microsoft Foundry creata in un'area supportata.
- L'endpoint della risorsa e la chiave API.
- Node.js Versione LTS.
- Analizzatore personalizzato esistente nella risorsa. Consultare Creare un analizzatore personalizzato se è necessario crearne uno.
Configurare
Creare un nuovo progetto Node.js:
mkdir copy-analyzer-example cd copy-analyzer-example npm init -yInstallare la libreria client content Understanding:
npm install @azure/ai-content-understandingFacoltativamente, installare la libreria di identità Azure per l'autenticazione Microsoft Entra:
npm install @azure/identity
Configurare le variabili di ambiente
Per eseguire l'autenticazione con il servizio Content Understanding, impostare le variabili di ambiente con i propri valori prima di eseguire l'esempio:
-
CONTENTUNDERSTANDING_ENDPOINT- l'endpoint della risorsa di Comprensione dei Contenuti. -
CONTENTUNDERSTANDING_KEY: chiave API di Content Understanding (facoltativa se si usa Microsoft Entra ID DefaultAzureCredential).
Windows
setx CONTENTUNDERSTANDING_ENDPOINT "your-endpoint"
setx CONTENTUNDERSTANDING_KEY "your-key"
Linux/macOS
export CONTENTUNDERSTANDING_ENDPOINT="your-endpoint"
export CONTENTUNDERSTANDING_KEY="your-key"
Creare il client
const { AzureKeyCredential } =
require("@azure/core-auth");
const { DefaultAzureCredential } =
require("@azure/identity");
const {
ContentUnderstandingClient,
} = require("@azure/ai-content-understanding");
const endpoint =
process.env["CONTENTUNDERSTANDING_ENDPOINT"];
const key =
process.env["CONTENTUNDERSTANDING_KEY"];
const credential = key
? new AzureKeyCredential(key)
: new DefaultAzureCredential();
const client = new ContentUnderstandingClient(
endpoint,
credential
);
Copiare all'interno di una risorsa Foundry
Per copiare un analizzatore all'interno della stessa risorsa, chiamare il metodo copyAnalyzer con l'ID dell'analizzatore di origine e l'ID dell'analizzatore di destinazione.
const sourceAnalyzerId = "my-source-analyzer";
const targetAnalyzerId = "my-target-analyzer";
const copyPoller = client.copyAnalyzer(
targetAnalyzerId, sourceAnalyzerId
);
await copyPoller.pollUntilDone();
console.log("Analyzer copied successfully!");
Suggerimento
Questo codice si basa sull'esempio di analizzatore copy nel repository SDK.
Copiare tra le risorse Foundry
La copia di un analizzatore tra le risorse Foundry è un processo in più passaggi:
- Concedere l'autorizzazione di copia alla risorsa di origine.
- Usare l'autorizzazione per chiamare l'API di copia nella risorsa di destinazione.
Importante
Sia le risorse di origine che di destinazione richiedono che il ruolo utente di Servizi cognitivi venga concesso alle credenziali usate per eseguire il codice. Questo ruolo è necessario per le operazioni di copia tra risorse.
Per la copia tra risorse, impostare le variabili di ambiente aggiuntive seguenti:
-
CONTENTUNDERSTANDING_SOURCE_RESOURCE_ID- ID completo risorsa Azure Resource Manager della risorsa di origine. -
CONTENTUNDERSTANDING_SOURCE_REGION: area Azure della risorsa di origine. -
CONTENTUNDERSTANDING_TARGET_ENDPOINT- Endpoint della risorsa di destinazione. -
CONTENTUNDERSTANDING_TARGET_RESOURCE_ID- ID completo del Gestore risorse di Azure della risorsa di destinazione. -
CONTENTUNDERSTANDING_TARGET_REGION: area Azure della risorsa di destinazione. -
CONTENTUNDERSTANDING_TARGET_KEY- Chiave API di destinazione (facoltativa se si usa DefaultAzureCredential).
Formato ID risorsa di esempio: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{name}
const { DefaultAzureCredential } = require("@azure/identity");
const sourceEndpoint =
process.env["CONTENTUNDERSTANDING_ENDPOINT"];
const sourceKey =
process.env["CONTENTUNDERSTANDING_KEY"];
const sourceResourceId =
process.env[
"CONTENTUNDERSTANDING_SOURCE_RESOURCE_ID"
];
const sourceRegion =
process.env["CONTENTUNDERSTANDING_SOURCE_REGION"];
const targetEndpoint =
process.env[
"CONTENTUNDERSTANDING_TARGET_ENDPOINT"
];
const targetKey =
process.env["CONTENTUNDERSTANDING_TARGET_KEY"];
const targetResourceId =
process.env[
"CONTENTUNDERSTANDING_TARGET_RESOURCE_ID"
];
const targetRegion =
process.env[
"CONTENTUNDERSTANDING_TARGET_REGION"
];
const sourceAnalyzerId = "my-source-analyzer";
const targetAnalyzerId = "my-target-analyzer";
// Create clients for source and target resources
const sourceCredential = sourceKey
? new AzureKeyCredential(sourceKey)
: new DefaultAzureCredential();
const targetCredential = targetKey
? new AzureKeyCredential(targetKey)
: new DefaultAzureCredential();
const sourceClient = new ContentUnderstandingClient(
sourceEndpoint,
sourceCredential
);
const targetClient = new ContentUnderstandingClient(
targetEndpoint,
targetCredential
);
// Step 1: Grant copy authorization on the source
const copyAuth =
await sourceClient.grantCopyAuthorization(
sourceAnalyzerId,
targetResourceId,
{ targetRegion: targetRegion }
);
console.log("Copy authorization granted!");
console.log(
` Target resource: `
+ `${copyAuth.targetAzureResourceId}`
);
console.log(
` Expires at: ${copyAuth.expiresAt}`
);
// Step 2: Copy the analyzer from source to target
const copyPoller = targetClient.copyAnalyzer(
targetAnalyzerId,
sourceAnalyzerId,
{
sourceAzureResourceId: sourceResourceId,
sourceRegion: sourceRegion,
}
);
await copyPoller.pollUntilDone();
console.log("Analyzer copied successfully!");
// Verify the copy
const targetInfo = await targetClient.getAnalyzer(
targetAnalyzerId
);
console.log(
`Target analyzer '${targetAnalyzerId}':`
);
console.log(
` Description: ${targetInfo.description}`
);
console.log(
` Status: ${targetInfo.status}`
);
Suggerimento
Questo codice si basa sull'esempio grant copy auth nel repository SDK.
Nota
Gli analizzatori supportano ora la classificazione/segmentazione e l'analisi di ognuna delle classi e dei segmenti identificati in una singola richiesta. Quando si copia un analizzatore che usa questa funzionalità, è necessario copiare anche eventuali analizzatori a cui si fa riferimento.
Verificare la copia
Verificare che l'analizzatore sia stato copiato recuperandolo dalla risorsa di destinazione.
const analyzer = await client.getAnalyzer(
targetAnalyzerId
);
console.log(
`Analyzer '${targetAnalyzerId}' found.`
);
if (analyzer.description) {
console.log(
` Description: ${analyzer.description}`
);
}
Questa guida illustra come usare Content Understanding TypeScript SDK per copiare analizzatori personalizzati all'interno di una risorsa e tra le risorse foundry.
Prerequisiti
- Sottoscrizione attiva Azure. Se non si ha un account Azure, crearne uno gratuitamente.
- Una risorsa Microsoft Foundry creata in un'area supportata.
- L'endpoint della risorsa e la chiave API.
- Node.js Versione LTS.
- TypeScript 5.x o versione successiva.
- Analizzatore personalizzato esistente nella risorsa. Consultare Creare un analizzatore personalizzato se è necessario crearne uno.
Configurare
Creare un nuovo progetto Node.js:
mkdir copy-analyzer-example cd copy-analyzer-example npm init -yInstallare TypeScript e la libreria client content Understanding:
npm install typescript ts-node @azure/ai-content-understandingFacoltativamente, installare la libreria di identità Azure per l'autenticazione Microsoft Entra:
npm install @azure/identity
Configurare le variabili di ambiente
Per eseguire l'autenticazione con il servizio Content Understanding, impostare le variabili di ambiente con i propri valori prima di eseguire l'esempio:
-
CONTENTUNDERSTANDING_ENDPOINT- l'endpoint della risorsa di Comprensione dei Contenuti. -
CONTENTUNDERSTANDING_KEY: chiave API di Content Understanding (facoltativa se si usa Microsoft Entra ID DefaultAzureCredential).
Windows
setx CONTENTUNDERSTANDING_ENDPOINT "your-endpoint"
setx CONTENTUNDERSTANDING_KEY "your-key"
Linux/macOS
export CONTENTUNDERSTANDING_ENDPOINT="your-endpoint"
export CONTENTUNDERSTANDING_KEY="your-key"
Creare il client
import { AzureKeyCredential } from "@azure/core-auth";
import { DefaultAzureCredential } from
"@azure/identity";
import {
ContentUnderstandingClient,
} from "@azure/ai-content-understanding";
import type {
ContentAnalyzer,
} from "@azure/ai-content-understanding";
const endpoint =
process.env["CONTENTUNDERSTANDING_ENDPOINT"]!;
const key =
process.env["CONTENTUNDERSTANDING_KEY"];
const credential = key
? new AzureKeyCredential(key)
: new DefaultAzureCredential();
const client = new ContentUnderstandingClient(
endpoint,
credential
);
Copiare all'interno di una risorsa Foundry
Per copiare un analizzatore all'interno della stessa risorsa, chiamare il metodo copyAnalyzer con l'ID dell'analizzatore di origine e l'ID dell'analizzatore di destinazione.
const sourceAnalyzerId = "my-source-analyzer";
const targetAnalyzerId = "my-target-analyzer";
const copyPoller = client.copyAnalyzer(
targetAnalyzerId, sourceAnalyzerId
);
await copyPoller.pollUntilDone();
console.log("Analyzer copied successfully!");
Suggerimento
Questo codice si basa sull'esempio di analizzatore copy nel repository SDK.
Copiare tra le risorse Foundry
La copia di un analizzatore tra le risorse Foundry è un processo in più passaggi:
- Concedere l'autorizzazione di copia alla risorsa di origine.
- Usare l'autorizzazione per chiamare l'API di copia nella risorsa di destinazione.
Importante
Sia le risorse di origine che di destinazione richiedono che il ruolo utente di Servizi cognitivi venga concesso alle credenziali usate per eseguire il codice. Questo ruolo è necessario per le operazioni di copia tra risorse.
Per la copia tra risorse, impostare le variabili di ambiente aggiuntive seguenti:
-
CONTENTUNDERSTANDING_SOURCE_RESOURCE_ID- ID completo risorsa Azure Resource Manager della risorsa di origine. -
CONTENTUNDERSTANDING_SOURCE_REGION: area Azure della risorsa di origine. -
CONTENTUNDERSTANDING_TARGET_ENDPOINT- Endpoint della risorsa di destinazione. -
CONTENTUNDERSTANDING_TARGET_RESOURCE_ID- ID completo del Gestore risorse di Azure della risorsa di destinazione. -
CONTENTUNDERSTANDING_TARGET_REGION: area Azure della risorsa di destinazione. -
CONTENTUNDERSTANDING_TARGET_KEY- Chiave API di destinazione (facoltativa se si usa DefaultAzureCredential).
Formato ID risorsa di esempio: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{name}
import { DefaultAzureCredential } from
"@azure/identity";
const sourceEndpoint =
process.env["CONTENTUNDERSTANDING_ENDPOINT"]!;
const sourceKey =
process.env["CONTENTUNDERSTANDING_KEY"];
const sourceResourceId =
process.env[
"CONTENTUNDERSTANDING_SOURCE_RESOURCE_ID"
]!;
const sourceRegion =
process.env[
"CONTENTUNDERSTANDING_SOURCE_REGION"
]!;
const targetEndpoint =
process.env[
"CONTENTUNDERSTANDING_TARGET_ENDPOINT"
]!;
const targetKey =
process.env["CONTENTUNDERSTANDING_TARGET_KEY"];
const targetResourceId =
process.env[
"CONTENTUNDERSTANDING_TARGET_RESOURCE_ID"
]!;
const targetRegion =
process.env[
"CONTENTUNDERSTANDING_TARGET_REGION"
]!;
const sourceAnalyzerId = "my-source-analyzer";
const targetAnalyzerId = "my-target-analyzer";
// Create clients for source and target resources
const sourceCredential = sourceKey
? new AzureKeyCredential(sourceKey)
: new DefaultAzureCredential();
const targetCredential = targetKey
? new AzureKeyCredential(targetKey)
: new DefaultAzureCredential();
const sourceClient = new ContentUnderstandingClient(
sourceEndpoint, sourceCredential
);
const targetClient = new ContentUnderstandingClient(
targetEndpoint, targetCredential
);
// Step 1: Grant copy authorization on the source
const copyAuth =
await sourceClient.grantCopyAuthorization(
sourceAnalyzerId,
targetResourceId,
{ targetRegion: targetRegion }
);
console.log("Copy authorization granted!");
console.log(
` Target resource: `
+ `${copyAuth.targetAzureResourceId}`
);
console.log(
` Expires at: ${copyAuth.expiresAt}`
);
// Step 2: Copy the analyzer from source to target
const copyPoller = targetClient.copyAnalyzer(
targetAnalyzerId,
sourceAnalyzerId,
{
sourceAzureResourceId: sourceResourceId,
sourceRegion: sourceRegion,
}
);
await copyPoller.pollUntilDone();
console.log("Analyzer copied successfully!");
// Verify the copy
const targetInfo = await targetClient.getAnalyzer(
targetAnalyzerId
);
console.log(
`Target analyzer '${targetAnalyzerId}':`
);
console.log(
` Description: ${targetInfo.description}`
);
console.log(
` Status: ${targetInfo.status}`
);
Suggerimento
Questo codice si basa sull'esempio grant copy auth nel repository SDK.
Nota
Gli analizzatori supportano ora la classificazione/segmentazione e l'analisi di ognuna delle classi e dei segmenti identificati in una singola richiesta. Quando si copia un analizzatore che usa questa funzionalità, è necessario copiare anche eventuali analizzatori a cui si fa riferimento.
Verificare la copia
Verificare che l'analizzatore sia stato copiato recuperandolo dalla risorsa di destinazione.
const analyzer = await client.getAnalyzer(
targetAnalyzerId
);
console.log(
`Analyzer '${targetAnalyzerId}' found.`
);
if (analyzer.description) {
console.log(
` Description: ${analyzer.description}`
);
}
Contenuto correlato
- Esplorare altri esempi Python SDK
- Esplorare altri esempi .NET SDK
- Esplorare altri esempi Java SDK
- Esplorare altri esempi JavaScript SDK
- Esplorare altri esempi TypeScript SDK