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.
Zerobus Ingest espone un endpoint con diversi protocolli API: gRPC (tramite gli SDK), REST, OpenTelemetry (OTLP) e API compatibili con Kafka. Tutti scrivono direttamente nelle tabelle Delta del Catalogo Unity, quindi scegli il protocollo che meglio si adatta a ciascun produttore.
Quale protocollo dovresti usare?
| Protocollo | Ideale per | Perché |
|---|---|---|
| gRPC (SDK) | Produttori di streaming ad alto volume: modifica acquisizione dati, clickstream, inoltro di log ed event. | Le connessioni persistenti offrono il throughput sostenuto più elevato e mantengono l'ordinamento all'interno di ciascuno stream. Disponibile in Python, Java, Rust, Go, TypeScript e (in beta) C++ e C# / .NET. Vedi Creare un client. |
| REST | Grandi flotte di client leggeri o "chiacchieroni", quali dispositivi edge e IoT che inviano segnalazioni di rado. | Stateless: ogni richiesta è indipendente, quindi i client non mantengono una connessione aperta. Più semplice per dispositivi che inviano dati occasionalmente. Vedi l'esempio di REST. |
| OpenTelemetry (OTLP) | Pipeline di osservabilità che emettono già tracce, log e metriche. | Configura i tuoi SDK o collector OpenTelemetry esistenti affinché puntino all'endpoint, senza bisogno di integrazioni personalizzate. Vedi Ingestire dati OpenTelemetry con Zerobus Ingest. |
| API compatibili con Kafka (Beta) | Produttori che già parlano il protocollo Kafka, o strumenti che inviano dati a Kafka, quando si desidera portare tali dati in Delta con modifiche minime al codice. | Riutilizzare un produttore Kafka esistente senza un Azure Databricks SDK. Puntala verso l'endpoint e produci su un argomento chiamato in base alla tua tabella target. Consulta Utilizzare API compatibili con Kafka con Zerobus Ingest. |
gRPC con gli SDK
Gli SDK Zerobus avvolgono una connessione gRPC persistente e bidirezionale chiamata flusso. Poiché la connessione rimane aperta, gRPC raggiunge la massima capacità di produzione sostenuta ed è il percorso raccomandato per l'ingestione continua ad alto volume. Ogni flusso aperto è una connessione di lunga durata, quindi la velocità di un cliente scala con il numero di flussi che apre.
Gli SDK gestiscono la gestione delle connessioni, il tracciamento offset e il recupero per te, e sono disponibili in Python, Java, Rust, Go, TypeScript e (in Beta) C++ e C# / .NET. Offrono comportamenti equivalenti tra le lingue, quindi scegli quella che si adatta alla tua applicazione. Su gRPC, gli SDK supportano i formati di record JSON, protobuf e Apache Arrow. Vedi Tipi di messaggio.
Per scrivere un client con gli SDK, incluso un esempio per linguaggio per ciascuno, vedi Scrivi un client.
REST
L'interfaccia REST è senza stato: ogni richiesta si completa da sola senza tenere una connessione aperta. Questo lo rende adatto a grandi flotte di produttori leggeri o intermittenti, ad esempio dispositivi edge e IoT che riportano lo stato di modo poco frequente, dove mantenere una connessione persistente per dispositivo sarebbe poco pratico.
L'ingestione REST è regolata da una quota di tasso di richiesta (vedi quote di ingestione Zerobus). Per un produttore ad alto volume, gli SDK su gRPC manterranno un throughput superiore rispetto all'emissione di molte singole richieste REST. Riserva REST per produttori che inviano raramente o non riescono a mantenere una connessione permanente.
OpenTelemetry (OTLP)
Zerobus Ingest include un endpoint nativo del protocollo OpenTelemetry. Se i tuoi sistemi producono già tracce, log e metriche OpenTelemetry, puoi indirizzare i tuoi esportatori o collector OTLP esistenti su Zerobus Ingest e piazzare quella telemetria direttamente nelle tabelle Delta che possiedi, di solito con solo un cambio di configurazione. Vedi Ingestire dati OpenTelemetry con Zerobus Ingest.
API compatibili con Kafka
Importante
Le API compatibili con Kafka sono in fase Beta.
Zerobus Ingest offre API di produttore compatibili con Kafka, così puoi ingerire con qualsiasi client produttore Apache Kafka senza un SDK Azure Databricks. Indichi un produttore Kafka esistente all'endpoint e produci su un argomento chiamato in base alla tabella target, e i record finiscono in una tabella Delta del Catalogo Unity. Questa è la soluzione più adatta quando hai già in esecuzione un producer Kafka, oppure un collector o un agente che invia dati a Kafka, e vuoi convogliare tali dati in Delta con modifiche minime al codice.
Le API compatibili con Kafka implementano il sottoinsieme del protocollo Kafka relativo al lato produttore e sono di sola scrittura: le API di consumo, amministrative e transazionali non sono disponibili. Accettano solo record JSON. La velocità di trasmissione è regolata da una quota di tasso di richiesta per ogni spazio di lavoro piuttosto che da singole connessioni. Per la quota specifica, vedi Quote di ingestimento di Zerobus. Per ottenere il massimo throughput, conferme per ogni record e il ripristino automatico, utilizza invece l'SDK Zerobus su gRPC.
Per configurazione, autenticazione e un esempio di produttore, vedi Usa API compatibili Kafka con Zerobus Ingest.
Related
- Tipi di messaggio: I formati di record disponibili su questi protocolli.
- Usa Zerobus Ingest: Scrivi un client usando gli SDK o l'API REST.
- Ingestire dati OpenTelemetry con Zerobus Ingest: Ingestire dati OpenTelemetry.
- Fasi di rilascio di Zerobus Gest: fasi di rilascio per ogni interfaccia e formato di registrazione.
- Usa API compatibili con Kafka con Zerobus Ingest: Usa API di produttori compatibili con Kafka.