View a markdown version of this page

Cerca i record del registro - Fondamento Amazon AgentCore

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Cerca i record del registro

La migrazione è ora aperta

AWS Agent Registry è stato lanciato con il nuovo agent-registry namespace. Il supporto per il bedrock-agentcore namespace di anteprima pubblico verrà interrotto il 17 settembre 2026. Per le istruzioni sulla migrazione, consulta la Guida completa alla migrazione del registro.

In qualità di consumatore, puoi cercare i record approvati di un registro utilizzando l'API SearchDiscoverableRegistryRecords data-plane. L'API accetta una query in linguaggio naturale, applica la ricerca ibrida che combina la comprensione semantica con la corrispondenza delle parole chiave e restituisce risultati classificati limitatamente ai record la cui ultima revisione ha lo stato Approvato. I record con stato Bozza, In attesa di approvazione , Rifiutato o Obsoleto non vengono restituiti. Per sfogliare il catalogo senza una richiesta, utilizza BatchGetDiscoverableRegistryRecord invece ListDiscoverableRegistryRecords and: consulta Sfoglia i record approvati.

È inoltre possibile richiamare le API di discovery data-plane tramite l'endpoint MCP () del registro utilizzando qualsiasi client. InvokeRegistryMcp MCP-compatible L'endpoint espone e BatchGetDiscoverableRegistryRecord come strumenti SearchDiscoverableRegistryRecords MCP che ListDiscoverableRegistryRecords puoi chiamare direttamente.

Parametri della richiesta

  • SearchQuery (obbligatorio): può essere qualsiasi query in linguaggio naturale da 1 a 256 caratteri

  • RegistryIds (obbligatorio): in quale registro effettuare la ricerca. Supporta esattamente un ARN o ID del registro

  • MaxResults (opzionale): quanti record vengono restituiti nella risposta di ricerca. Può assumere qualsiasi valore compreso tra 1 e 20 e il valore predefinito è 10

  • filtri (opzionale) — Espressione del filtro dei metadati

Filtri per metadati

Operatori:$eq,,$ne. $in Logico:$and,$or. Campi:name,recordType,recordVersion.

Ad esempio: {"recordType": {"$eq": "MCP"}}

Combinato: {"$and": [{"recordType": {"$eq": "MCP"}}, {"recordVersion": {"$eq": "1.0"}}]}

Console

Esempio
AWS Agent Registry namespace
  1. Aprire la console AWS Agent Registry.

  2. Nel riquadro di navigazione, scegli Record directory.

  3. Scegli il registro in cui desideri cercare. La pagina richiama ListDiscoverableRegistryRecords e visualizza automaticamente i record approvati nel registro.

  4. Nella barra di ricerca, inserisci la tua query di ricerca. Questo attiva SearchDiscoverableRegistryRecords e visualizza i risultati classificati.

  5. (Facoltativo) Per filtrare i risultati in base a una proprietà specifica, scegli il campo di ricerca per espandere il menu Proprietà, quindi scegli un filtro: Nome , Tipo di record o Versione.

  6. Scegli un record dai risultati per visualizzarne il contenuto completo del descrittore.

Amazon Bedrock AgentCore namespace (to be deprecated)
  1. Aprire la pagina AWS Agent Registry nella Bedrock-AgentCore console.

  2. Nel riquadro di navigazione, scegli Registro, quindi scegli il nome del registro.

  3. Scegli la scheda Cerca nei record.

  4. Inserisci la tua query di ricerca e visualizza i risultati.

Nota

La ricerca nella console è disponibile solo per i registri che utilizzano l'autorizzazione IAM-based in entrata. Per JWT-authorized i registri, utilizza l'API di ricerca direttamente con un client HTTP (ad esempiocurl) e un token portante JWT valido oppure utilizza l'endpoint MCP per il registro tramite un client MCP.

AWS CLI (registro con autorizzazione in entrata basata su IAM)

Esempio
AWS Agent Registry namespace
aws agent-registry search-discoverable-registry-records \ --search-query "weather" \ --registry-ids "<registryARN>" \ --region us-east-1
Amazon Bedrock AgentCore namespace (to be deprecated)
aws bedrock-agentcore search-registry-records \ --search-query "weather" \ --registry-ids "<registryARN>" \ --region us-east-1

AWS SDK (registro con autorizzazione in entrata basata su IAM)

Esempio
AWS Agent Registry namespace
import boto3 client = boto3.client('agent-registry') response = client.search_discoverable_registry_records( registryIds=['<registryARN>'], searchQuery='weather', maxResults=10 ) for record in response['registryRecords']: print(f"{record['displayName']} ({record['name']}) - {record['recordType']} - {record['status']}")
Amazon Bedrock AgentCore namespace (to be deprecated)
import boto3 client = boto3.client('bedrock-agentcore') response = client.search_registry_records( registryIds=['<registryARN>'], searchQuery='weather', maxResults=10 ) for record in response['registryRecords']: print(f"{record['name']} - {record['descriptorType']} - {record['status']}")

Client HTTP (registro con autorizzazione in entrata basata su OAuth)

Per prima cosa procurati un token al portatore:

SECRET_HASH=$(echo -n "<username><appClientId>" | openssl dgst -sha256 -hmac "<appClientSecret>" -binary | base64) aws cognito-idp initiate-auth \ --client-id "<appClientId>" \ --auth-flow USER_PASSWORD_AUTH \ --auth-parameters USERNAME="<username>",PASSWORD='<password>',SECRET_HASH="$SECRET_HASH" \ --region us-east-1 | jq -r '.AuthenticationResult.AccessToken'

Quindi cerca con il token al portatore:

Esempio
AWS Agent Registry namespace
curl -X POST "https://agent-registry.<region>.api.aws/discoverable-records-search" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <accessToken>" \ -d '{"registryIds": ["<registryARN>"], "searchQuery": "weather", "maxResults": 10}'
Amazon Bedrock AgentCore namespace (to be deprecated)
curl -X POST "https://bedrock-agentcore.<region>.amazonaws.com/registry-records/search" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <accessToken>" \ -d '{"registryIds": ["<registryARN>"], "searchQuery": "weather", "maxResults": 10}'

Eventuale coerenza in AWS Ricerca nel registro degli agenti

AWS Agent Registry utilizza un modello eventualmente coerente per l'indicizzazione delle ricerche. Quando si approva un record di registro chiamando UpdateRegistryRecordStatus o tramite la console, il record non viene visualizzato SearchDiscoverableRegistryRecords né InvokeRegistryMcp risulta immediatamente. In genere sono necessari alcuni secondi prima che il record approvato venga indicizzato e diventi rilevabile, ma in alcuni casi possono essere necessari alcuni minuti.

Durante questo periodo, potresti osservare il seguente comportamento:

  • Una SearchDiscoverableRegistryRecords query non restituisce un record appena approvato.

  • La BatchGetDiscoverableRegistryRecord chiamata A ListDiscoverableRegistryRecords o non include il record.

  • L'endpoint MCP del registro (InvokeRegistryMcp) non include un record approvato di recente nei risultati dello strumento.

  • Al contrario, le API (GetRegistryRecordeListRegistryRecords) del piano di controllo restituiscono il nuovo record approvato subito dopo il completamento. UpdateRegistryRecordStatus La coerenza finale si applica solo alle API del piano dati di rilevamento e all'endpoint MCP del registro.

Solo i record in stato Approvato sono inclusi nei risultati rilevabili. I record con stato Bozza, In attesa di approvazione, Rifiutato o Obsoleto non vengono mai restituiti dalle API del piano dati rilevabili o da. InvokeRegistryMcp È possibile verificare lo stato corrente di un record chiamandoGetRegistryRecord, che restituisce sempre l'ultima revisione indipendentemente dallo stato di indicizzazione.

Per garantire l'eventuale coerenza della domanda, consigliamo quanto segue:

  • Dopo aver approvato un record, confermate che sia individuabile chiamando SearchDiscoverableRegistryRecords con una strategia di ripetizione dei tentativi che includa un backoff esponenziale.

  • Non date per scontato che nel registro manchi un record se non compare nei risultati subito dopo l'approvazione. Chiama GetRegistryRecord per verificare lo stato del record.

  • Se stai integrando i flussi di lavoro di approvazione tramite Amazon EventBridge UpdateRegistryRecordStatus, aggiungi un breve ritardo prima che i sistemi downstream interroghino le API rilevabili per il nuovo record approvato.

Nota

SearchDiscoverableRegistryRecordsè stato nominato nel namespace. SearchRegistryRecords bedrock-agentcore

Per indicazioni generali sulla configurazione del comportamento dei tentativi di ripetizione negli AWS SDK, consulta il comportamento dei tentativi nella Guida di riferimento per SDK and Tools. AWS

In che modo gli attributi dei record influiscono sulla pertinenza della ricerca

AWS Agent Registry utilizza la ricerca ibrida che combina la comprensione semantica con la corrispondenza delle parole chiave per restituire risultati pertinenti. Se un record che prevedi di trovare non viene visualizzato nei risultati di ricerca, può essere utile capire quali attributi del record influenzano la ricerca.

Quali attributi dei record vengono utilizzati per la ricerca

I seguenti attributi del record di registro vengono utilizzati per determinare la pertinenza della ricerca:

  • Nome: utilizzato per la corrispondenza delle parole chiave. Nomi chiari e descrittivi che riflettono le funzioni della risorsa migliorano la rilevabilità per ricerche esatte e parziali dei nomi.

  • Descrizione: utilizzata sia per le parole chiave che per la corrispondenza semantica. Le descrizioni scritte in linguaggio naturale che spiegano lo scopo della risorsa e i casi d'uso comuni sono più individuabili rispetto alle etichette tecniche concise.

  • Descrittori: l'intero contenuto della definizione del protocollo (definizione del server MCP, scheda agente, documentazione sulle competenze o JSON personalizzato) viene utilizzato per la corrispondenza semantica. Ciò include i nomi degli strumenti, le descrizioni degli strumenti, i nomi dei parametri di input e i riepiloghi delle funzionalità.

  • Tipo e versione del record: disponibili come campi filtrabili. È possibile restringere i risultati utilizzando i filtri dei metadati suname,, erecordType. recordVersion

Come vengono elaborate le query di ricerca

Quando si chiamaSearchDiscoverableRegistryRecords, AWS Agent Registry esegue due ricerche in parallelo sullo stesso set di record indicizzati e unisce i risultati:

  • Ricerca semantica: la query viene convertita in una rappresentazione vettoriale e confrontata con le rappresentazioni vettoriali dei record indicizzati. In questo modo vengono trovati record concettualmente correlati anche quando le parole esatte della query non compaiono nel record. Ad esempio, una query per «prenota un volo» può corrispondere a un record denominato «travel-reservation-service».

  • Ricerca per parola chiave: la query viene confrontata con il contenuto testuale dei campi del record utilizzando la pertinenza tradizionale delle parole chiave. Ciò è efficace per la ricerca esatta dei nomi e per termini tecnici specifici. Ad esempio, una query per «weather-api-v2" corrisponde ai record contenenti quel testo esatto.

Se includi filtri per i metadati nella tua richiesta, i filtri vengono applicati a entrambe le ricerche prima che i risultati vengano valutati e classificati. Ciò significa che i filtri riducono il set di candidati su cui opera sia la ricerca semantica che quella per parole chiave, anziché filtrare i risultati dopo il posizionamento.

Come vengono classificati i risultati

I risultati della ricerca semantica e per parole chiave vengono combinati in un unico elenco classificato e restituiti in ordine di pertinenza, con il record più pertinente per primo. La posizione finale di ciascun risultato è determinata dalla sua pertinenza in entrambe le ricerche: un record con un posizionamento elevato sia nei risultati semantici che nei risultati relativi alle parole chiave apparirà più alto di un record con un punteggio elevato solo in una. Nella ricerca per parole chiave, il nome del record ha la maggiore influenza sul posizionamento, seguito dalla descrizione e dal contenuto descrittivo, che contribuiscono in egual misura. Poiché entrambe le modalità di ricerca vengono sempre eseguite e contribuiscono alla classifica finale, il modo in cui si scrive la query influisce sulla visualizzazione dei record. Le seguenti linee guida possono aiutarti a ottenere risultati migliori in base alle tue intenzioni.

Scrivere query di ricerca efficaci

Quando conosci il nome o l'identificatore esatto, utilizza una query breve e specifica. La ricerca per parola chiave confronta il testo esatto con i nomi dei record, le descrizioni e il contenuto dei descrittori. Query brevi come «weather-api-v2" o «pdf-processing» sono efficaci per trovare i record in base al nome.

Quando esplori per funzionalità o caso d'uso, utilizza una descrizione in linguaggio naturale di ciò di cui hai bisogno. La ricerca semantica comprende l'intento concettuale, quindi domande come «trova uno strumento in grado di prenotare voli» o «estrarre dati strutturati da documenti PDF» possono corrispondere ai record pertinenti anche se quelle parole esatte non compaiono nei metadati dei record.

Evita di mescolare vincoli simili a filtri con intenti descrittivi nella stessa query. Una query come «trova tutti i server MCP per le previsioni meteorologiche» invia l'intera frase tramite ricerca semantica e per parola chiave. La componente semantica interpreta l'intera frase come un intento concettuale, che può far emergere record correlati concettualmente ma che non corrispondono all'attributo specifico che intendevi vincolare. Utilizza invece filtri di metadati per i vincoli basati sugli attributi e mantieni la query incentrata sull'argomento. Vedi Quando utilizzare i filtri dei metadati rispetto al testo della query.

Scrittura di record rilevabili

  • Scrivi descrizioni che spieghino cosa fa la risorsa e i problemi che risolve. La ricerca semantica comprende l'intento, quindi «aiuta i clienti a tracciare le consegne dei pacchi» è più rilevabile rispetto a «delivery-status-endpoint».

  • Fornisci definizioni complete degli strumenti per i server MCP. Le descrizioni degli strumenti e le descrizioni dei parametri di input contribuiscono tutte alla pertinenza della ricerca.

  • Includi parole chiave pertinenti nel tuo nome e nella descrizione. La ricerca per parola chiave corrisponde al testo esatto, quindi se è probabile che i consumatori cerchino termini specifici, assicurati che tali termini compaiano nel tuo record.

Quando utilizzare i filtri dei metadati rispetto al testo delle query

Utilizza i filtri per i metadati quando intendi vincolare i risultati in base a un attributo noto come il tipo di record, il nome o la versione. Non incorporate vincoli simili a filtri nel testo della query stessa. Ad esempio, se desideri trovare tutti i server MCP relativi alle condizioni meteorologiche, utilizza un filtro di metadati per il tipo di record e una query per l'argomento:

{ "searchQuery": "weather forecast", "filters": { "recordType": { "$eq": "MCP" } } }

Evita di inserire vincoli nel testo della query, ad esempio «trova tutti i server MCP per le previsioni meteorologiche». Poiché le query più lunghe tendono alla corrispondenza semantica, le parole «server MCP» vengono interpretate come parte dell'intento concettuale piuttosto che come un filtro esatto. Ciò può far sì che la componente semantica restituisca record concettualmente correlati alla frase completa ma che non corrispondono all'attributo specifico in base al quale intendevi filtrare, ad esempio, la restituzione dei record degli agenti relativi alle condizioni meteorologiche insieme ai record del server MCP. Lo stesso vale per qualsiasi vincolo basato sugli attributi. Se desideri record con un nome, una versione o un tipo specifici, utilizza il filtro di metadati corrispondente anziché includere tali termini nella query.

Puoi filtrare in base ai seguenti campi:

  • name— Abbina i record in base al nome esatto.

  • recordType— Abbina i record per tipo semantico (AGENT,MCP,SKILL,CUSTOM).

  • recordVersion— Abbina i record in base alla stringa della versione.

I filtri supportano gli operatori $eq (uguale), $ne (non uguale) e $in (corrisponde a qualsiasi valore in un elenco) e possono essere combinati utilizzando la logica $and and$or.

Ad esempio, per cercare solo server MCP relativi alle condizioni meteorologiche:

{ "searchQuery": "weather forecast", "filters": { "recordType": { "$eq": "MCP" } } }

Per escludere un tipo di risorsa specifico:

{ "searchQuery": "<your query>", "filters": { "recordType": { "$ne": "CUSTOM" } } }

Per abbinare una qualsiasi delle diverse versioni:

{ "filters": { "recordVersion": { "$in": ["1.0", "1.1", "2.0"] } } }

La ricerca restituisce solo i record approvati

Solo i record con stato Approvato vengono visualizzati nei risultati della ricerca e tramite l'endpoint MCP. I record in stato Bozza, In attesa di approvazione, Rifiutato o Obsoleto non vengono restituiti. Se un record approvato di recente non viene visualizzato nei risultati, vedi Eventual consistency in AWS Agent Registry search.