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.
Azure Spring Data per Azure Cosmos DB fornisce il supporto di Spring Data per Azure Cosmos DB per NoSQL. Azure Cosmos DB è un servizio di database distribuito a livello globale che gli sviluppatori possono usare per lavorare con i dati usando varie API standard, ad esempio SQL, MongoDB, Cassandra, Graph e Table.
Questa guida illustra i concetti di Azure Spring Data Azure Cosmos DB SDK, funzionalità supportate, risoluzione dei problemi e problemi noti. Per ulteriori informazioni su questi concetti e sugli esempi di codice, consulta il file README di Spring Data per Azure Cosmos DB SDK.
Politica di supporto delle versioni
Supporto della versione di Spring Boot
Questo progetto supporta più versioni di Spring Boot. Per altre informazioni, vedere Spring Boot Support Policy. Gli utenti Maven possono ereditare dal spring-boot-starter-parent progetto per ottenere una sezione di gestione delle dipendenze che consente a Spring di gestire le versioni per le dipendenze. Per altre informazioni, vedere Spring Boot Version Support.
Supporto della versione di Spring Data
Questo progetto supporta versioni diverse spring-data-commons . Per altre informazioni, vedere Spring Data Version Support.
Quale versione di Azure Spring Data azure Cosmos DB usare
La libreria Azure Spring Data per Azure Cosmos DB supporta più versioni di Spring Boot e Spring Cloud. Per altre informazioni sulla versione di Azure Spring Data Azure Cosmos DB da usare con Spring Boot e Spring Cloud, vedere Quale versione di Azure Spring Data per Azure Cosmos DB è consigliabile usare?
Inizia
Includere il pacchetto
Se si usa Maven, aggiungere la dipendenza seguente.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-spring-data-cosmos</artifactId>
<version>LATEST</version>
</dependency>
Prerequisiti
- Java Development Kit (JDK), versione 8 o successiva.
- Un account Azure attivo. Se non ne hai uno, puoi iscriverti per un account gratuito . In alternativa, è possibile usare l' emulatore di Azure Cosmos DB per lo sviluppo e il test. Poiché l'emulatore usa un certificato HTTPS autofirmato, è necessario importarne il certificato nell'archivio certificati Java attendibile, illustrato qui.
- (Facoltativo) SLF4J è un'interfaccia di registrazione.
- (Facoltativo) binding SLF4J viene usato per associare un framework di registrazione specifico a SLF4J.
- (Facoltativo) Maven
È necessario solo SLF4J se si prevede di usare la registrazione. Scaricare anche un binding SLF4J, che collega l'API SLF4J all'implementazione di registrazione desiderata. Per altre informazioni, vedere il manuale dell'utente SLF4J.
Configurare e personalizzare la classe di configurazione
Per configurare la classe di configurazione, estendere AbstractCosmosConfiguration. Per altre informazioni, vedere Setup Configuration Class.
È possibile personalizzare l'oggetto sottostante CosmosAsyncClient usato dal Azure Spring Data Azure Cosmos DB SDK specificando DirectConnectionConfig, GatewayConnectionConfigo entrambi e assegnandoli a CosmosClientBuilder. Per un esempio completo, visitare la sezione personalizzazione della configurazione.
Configurazione delle entità
È possibile definire un'entità semplice come elemento in Azure Cosmos DB. Definire le entità aggiungendo l'annotazione @Container e specificando le proprietà correlate al contenitore. Per altre informazioni, vedere Definire un'entità.
L'annotazione del contenitore supporta la possibilità di specificare il nome del contenitore, le unità di richiesta (RU), il time to live, la creazione di contenitori con throughput con scalabilità automatica, il supporto per chiavi di partizione annidate e altre proprietà del contenitore.
Configurazione del repository
Azure Spring Data Azure Cosmos DB supporta ReactiveCrudRepository (API asincrone) e CrudRepository (API di sincronizzazione), che forniscono le funzionalità CRUD di base seguenti:
- salvare
- trova tutto
- ricerca per ID
- eliminaTutto
- elimina per ID
- eliminare un'entità
È possibile estendere CosmosRepository (per il supporto dell'API di sincronizzazione) o ReactiveCosmosRepository (per il supporto dell'API asincrona) per configurare i repository Spring Data per l'applicazione. Per ulteriori informazioni, vedere Creazione di repository.
Azure Spring Data Azure Cosmos DB supporta la possibilità di specificare query annotate nei repository tramite @Query. Per altre informazioni, vedere QueryAnnotation: Utilizzo di query annotate nei repository.
Annotazioni Spring Data
Spring Data @Id annotazione
È possibile eseguire il mapping di un campo in una classe di dominio a id in diversi modi. Per ulteriori informazioni, consultare la sezione annotazione di ID dei dati Spring codice.
Generazione automatica id
Azure Spring Data Azure Cosmos DB supporta la generazione automatica di ID usando l'annotazione @GeneratedValue . Per altre informazioni, vedere la sezione generazione automatica di ID .
Espressione SpEL e nome del contenitore personalizzato
Per impostazione predefinita, il nome del contenitore è il nome della classe di dominio utente. Per personalizzare il nome del contenitore, aggiungere l'annotazione @Container(containerName="myCustomContainerName") alla classe di dominio. Per ulteriori informazioni, vedere la sezione sull'espressione SpEL e sul nome del contenitore personalizzato.
IndexingPolicy Personalizzato
Per impostazione predefinita, il servizio Azure imposta il IndexingPolicy. Per personalizzare IndexingPolicy, aggiungere l'annotazione @CosmosIndexingPolicy alla classe di dominio. Per altre informazioni, vedere la sezione criteri di indicizzazione.
Politica della chiave univoca
Azure Spring Data Azure Cosmos DB supporta l'impostazione di UniqueKeyPolicy nel contenitore aggiungendo l'annotazione @CosmosUniqueKeyPolicy alla classe di dominio. Per ulteriori informazioni, consultare la sezione sui criteri di chiave univoca .
Partizione di Azure Cosmos DB
Azure-spring-data-cosmos supporta partizioni di Azure Cosmos DB.
Per specificare un campo della classe di dominio come campo della chiave di partizione, annotarlo con @PartitionKey.
Quando si esegue un'operazione CRUD, specificare il valore della partizione.
Per ulteriori informazioni, consultare la sezione del test qui.
Blocco ottimistico
Azure-spring-data-cosmos supporta il blocco ottimistico per contenitori specifici. Questo supporto implica l'upserts e le eliminazioni per elemento hanno esito negativo con un'eccezione se un altro processo modifica l'elemento. Per ulteriori informazioni, consultare la sezione di blocco ottimistico .
Query personalizzata Spring Data, paginabile e ordinabile
Azure-spring-data-cosmos supporta query personalizzate di Spring Data, ad esempio un'operazione di ricerca come findByAFieldAndBField. Supporta anche Spring Data Pageable, Slice e Sort. Per ulteriori informazioni, consultare la sezione relativa a query, paginazione e ordinamento.
Uso di Java SDK di Azure Cosmos DB tramite Spring Data Cosmos
Azure-spring-data-cosmos supporta l'uso di Azure Cosmos DB Java SDK. È possibile ottenere un CosmosClient bean o CosmosAsyncClient tramite ApplicationContext ed eseguire qualsiasi operazione supportata da Azure Cosmos DB Java SDK. Per altre informazioni, vedere la sezione using Azure Cosmos Client through Spring Data Cosmos (Uso del client Azure Cosmos tramite Spring Data Cosmos).
Spring Data REST
Azure-spring-data-cosmos supporta Spring Data REST. Per ulteriori informazioni, vedere la sezione API REST di Azure Spring Data Cosmos DB.
Controllo
Azure-spring-data-cosmos supporta il controllo dei campi nelle entità di database usando annotazioni standard di spring-data. Per ulteriori informazioni, consultare la sezione verifica di Spring Data per Azure Cosmos DB.
Configurazione di più database
Azure-spring-data-cosmos supporta la configurazione multi-database, inclusi più account di database e un singolo account con più database. Per il codice completo, vedere la sezione configurazione multidatabase.
Risoluzione dei problemi
Generale
Se si verifica un bug, inviare un problema qui.
Per suggerire una nuova funzionalità o modifiche, inviare un problema nello stesso modo in cui si farebbe per un bug.
Abilitare la registrazione del client
Azure-spring-data-cosmos usa SLF4j come facciata di registrazione che supporta l'accesso ai framework di registrazione più diffusi, ad esempio log4j e logback. Per altre informazioni, vedere la sezione abilitazione della registrazione client.
Esempi
Per un progetto di esempio completo, vedere il progetto di esempio .
Conti multidatabase
Per un progetto di esempio completo, vedere il progetto di esempio di database multiplo.
Account singolo con più database
Per un progetto di esempio completo, vedere l'account singolo con più database di esempio.
Passaggi successivi
- Altre informazioni su Azure Spring Data e Azure Cosmos DB.
- Altre informazioni sul servizio Azure Cosmos DB.
- Vedere gli esempi di Azure Spring Data Azure Cosmos DB.
- Vedi l'esempio di Spring MVC con Azure Cosmos DB.
Contribuire
Questo progetto accoglie contributi e suggerimenti. La maggior parte dei contributi richiede di accettare un Contratto di Licenza per i Collaboratori (CLA) in cui si dichiara di avere il diritto di concedere il proprio contributo e di fatto ci si impegna a concederci i diritti per utilizzare il contributo.
Quando si invia una pull request, un CLA-bot determinerà automaticamente se è necessario fornire un CLA e decorare la pull request in modo appropriato, ad esempio etichettare, commentare. Seguire semplicemente le istruzioni fornite dal bot. Dovrai eseguire questa operazione una sola volta in tutti i repository usando il nostro contratto di licenza.
Questo progetto ha adottato il codice di comportamento Open Source di Microsoft. Per altre informazioni, vedere domande frequenti sul codice di comportamento o contattare opencode@microsoft.com con eventuali altre domande o commenti.