Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Cosmos DB için Azure Spring Data, NoSQL için Azure Cosmos DB
Bu kılavuz, Azure Spring Data Azure Cosmos DB SDK kavramları, desteklenen özellikler, sorun giderme ve bilinen sorunlar hakkında size yol gösterir. Aşağıdaki kavramlar ve kod örnekleri hakkında daha fazla bilgi için Azure Cosmos DB SDK kılavuzuna bakın.
Sürüm destek ilkesi
Spring Boot sürüm desteği
Bu proje birden çok Spring Boot sürümünü destekler. Daha fazla bilgi için Spring Boot Destek İlkesi'ne bkz. Maven kullanıcıları, Spring'in bağımlılıkların sürümlerini yönetmesine izin vermek üzere bir bağımlılık yönetimi bölümü elde etmek üzere spring-boot-starter-parent projesinden devralabilir. Daha fazla bilgi için bkz. Spring Boot sürüm desteği .
Spring Data sürüm desteği
Bu proje farklı spring-data-commons sürümlerini destekler. Daha fazla bilgi için bkz. Spring Data Sürüm Desteği.
Azure Spring Data Azure Cosmos DB'nin hangi sürümünün kullanılacağı
Azure Spring Data Azure Cosmos DB kitaplığı, Spring Boot /Spring Cloud'un birden çok sürümünü destekler. Spring Boot / Spring Cloud sürümüyle kullanılacak Azure Spring Data Azure Cosmos DB sürümü hakkında daha fazla bilgi için bkz. Azure Cosmos DB için Azure Spring Data'nın hangi sürümünü kullanmalıyım?.
Kullanmaya başlama
Paketi dahil et
Maven kullanıyorsanız aşağıdaki bağımlılığı ekleyin.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-spring-data-cosmos</artifactId>
<version>LATEST</version>
</dependency>
Önkoşullar
- Java Development Kit (JDK), sürüm 8 veya üzeri.
- Etkin bir Azure hesabı. Hesabınız yoksa
ücretsiz hesaba kaydolabilirsiniz. Alternatif olarak, geliştirme ve test için Azure Cosmos DB Öykünücüsü kullanabilirsiniz. Öykünücü https sertifikası otomatik olarak imzalandığından sertifikasını java güvenilen sertifika deposuna aktarmanız gerekir burada açıklanmıştır - (İsteğe bağlı) SLF4J bir loglama arayüzüdür.
- (İsteğe bağlı) SLF4J bağlantısı, belirli bir günlük çerçevesini SLF4J ile ilişkilendirmek için kullanılır.
- (İsteğe bağlı) Maven
SLF4J yalnızca günlüğü kullanmayı planlıyorsanız gereklidir, ayrıca SLF4J API'sini seçtiğiniz günlük uygulamasıyla ilişkilendirecek bir SLF4J bağlaması indirin. Daha fazla bilgi için
Yapılandırma sınıfını ayarlama ve özelleştirme
Yapılandırma sınıfını ayarlamak için AbstractCosmosConfigurationgenişletmeniz gerekir. Daha fazla bilgi için bkz. Kurulum Yapılandırma Sınıfı
Azure Spring Data Azure Cosmos DB SDK'sı tarafından kullanılan temel CosmosAsyncClient'ı özelleştirmek için DirectConnectionConfig veya GatewayConnectionConfig ya da ikisini birden verebilir ve bunları CosmosClientBuilder'e iletebilirsiniz. Tam örnek içinyapılandırmayı özelleştirme bölümünü
Varlık kurulumu
Azure Cosmos DB'de basit bir varlığı öğe olarak tanımlayabilirsiniz.
@Container ek açıklamasını ekleyerek ve kapsayıcıyla ilgili özellikleri belirterek varlıkları tanımlayabilirsiniz. Daha fazla bilgi için bkz. Varlık tanımlama.
Kapsayıcı ek açıklaması kapsayıcı adını, istek birimlerini (RU), yaşam süresi, otomatik ölçeklendirme aktarım hızına sahip kapsayıcılar oluşturmayı iç içe bölüm anahtarı desteğive diğer kapsayıcı özelliklerini belirtmeyi destekler.
Depo kurulumu
Azure Spring Data Azure Cosmos DB, aşağıdaki temel CRUD işlevselliğini sağlayan ReactiveCrudRepository (zaman uyumsuz API'ler) ve CrudRepository (eşitleme API'leri) destekler:
- kurtarmak
- tümünüBul
- kimliğine göre bul
- hepsini sil
- ID ile sil
- varlığı sil
Uygulamanız için Spring Data depoları ayarlamak üzere CosmosRepository (eşitleme API desteği için) veya ReactiveCosmosRepository (zaman uyumsuz API desteği için) genişletebilirsiniz. Daha fazla bilgi için bkz. Depo oluşturma.
Azure Spring Data Azure Cosmos DB, @Querykullanarak depolarda ek açıklamalı sorgular belirtmeyi destekler. Daha fazla bilgi için bkz. QueryAnnotation :depolarda açıklamalı sorgular kullanma.
Spring Veri Ek Açıklamaları
Spring Data @Id anotasyonu
Domain sınıfındaki bir alanı idile eşlemenin çeşitli yolları mevcuttur. Daha fazla bilgi için spring data ID ek açıklama kodu bölümükısmına bakın.
Kimlik otomatik oluşturma
Azure Spring Data Azure Cosmos DB, @GeneratedValue ek açıklamasını kullanarak kimliklerin otomatik olarak oluşturulmasını destekler. Daha fazla bilgi için kimliği otomatik oluşturmabölümüne bakın.
SpEL ifadesi ve özel kapsayıcı adı
Varsayılan olarak, kapsayıcı adı kullanıcı etki alanı sınıfının sınıf adı olur. Özelleştirmek için, @Container(containerName="myCustomContainerName") açıklamasını etki alanı sınıfına ekleyin. Daha fazla bilgi için SpEL ifadesi ve özel kapsayıcı adı bölümükısmına bakın.
Özel Indexleme Politikası
Varsayılan olarak, IndexingPolicy Azure hizmeti tarafından ayarlanır. Etki alanı sınıfını özelleştirmek için @CosmosIndexingPolicy açıklamasını ekleyin. Daha fazla bilgi için
Benzersiz anahtar ilkesi
Azure Spring Data Azure Cosmos DB, etki alanı sınıfına anotasyon UniqueKeyPolicy'i ekleyerek kapsayıcıya @CosmosUniqueKeyPolicy ayarı yapılmasını destekler. Daha fazla bilgi için benzersiz anahtar ilkesi bölümünebakın.
Azure Cosmos DB Bölümleme
Azure-spring-data-cosmos
Azure Cosmos DBbölümlerini destekler.
Etki alanı sınıfının bir alanını bölüm anahtarı alanı olarak belirtmek için, @PartitionKeyile ek açıklama ekleyin.
CRUD işlemi gerçekleştirdiğinizde bölüm değerinizi belirtin.
Daha fazla bilgi için buradakitest bölümüne bakın.
İyimser Kilitleme
Azure-spring-data-cosmos, belirli kapsayıcılar için İyimser Kilitlemeyi destekler. Bu, öğeye göre güncelleme/ekleme veya silme işlemlerinin, öğenin bu sırada başka bir işlem tarafından değiştirilmesi durumunda bir özel durumla başarısız olacağı anlamına gelir. Daha fazla bilgi için
Spring Data özel sorgusu, sayfalama ve sıralama
Azure-spring-data-cosmos, Spring Data özel sorgularınıdestekler, örneğin findByAFieldAndBFieldgibi bir bulma işlemi. Ayrıca Spring Data Pageable, Slice ve Sort
Spring Data Cosmos aracılığıyla Azure Cosmos DB Java SDK'sı kullanma
Azure-spring-data-cosmos, Azure Cosmos DB Java SDKkullanmayı destekler. Kullanıcılar CosmosClient aracılığıyla CosmosAsyncClient veya ApplicationContext bean alabilir ve Azure Cosmos DB Java SDK'sı tarafından desteklenen tüm işlemleri yürütebilir. Daha fazla bilgi için Spring Data Cosmos aracılığıyla Azure Cosmos İstemcisi'ni kullanma bölümü kısmınabakın.
Spring Data REST
Azure-spring-data-cosmos
Spring Data RESTdestekler. Daha fazla bilgi içinAzure Spring Data Azure Cosmos DB REST API'
Denetim
Azure-spring-data-cosmos, standart spring-data ek açıklamalarını kullanarak veritabanı varlıkları üzerinde denetim alanlarını destekler. Daha fazla bilgi içinSpring Data Azure Cosmos DB denetim
Çoklu veritabanı yapılandırması
Azure-spring-data-cosmos, "birden çok veritabanı hesabı" ve "birden çok veritabanı içeren tek hesap" dahil olmak üzere çoklu veritabanı yapılandırmasını destekler. Eksiksiz bir kod parçacığı için
Sorun giderme
Genel
Herhangi bir hatayla karşılaşırsanız,burada
Yapılabilecek yeni bir özellik veya değişiklik önermek için, hata için yaptığınız gibi bir sorun oluşturun.
İstemci Günlüğünü Etkinleştir
Azure-spring-data-cosmos log4j ve logback gibi popüler günlük çerçevelerinde oturum açmayı destekleyen günlüğe kaydetme cephesi olarak SLF4j kullanır. Daha fazla bilgi için istemci günlüğünü etkinleştirmebölümüne bakın.
Örnekler
Eksiksiz bir örnek proje için bkz. örnek proje.
Çok veritabanılı hesaplar
Eksiksiz bir örnek proje için,
Çoklu veritabanı ile tek hesap
Eksiksiz bir örnek proje için bkz. Çoklu veritabanı entegreli tek hesap örnek projesi.
Sonraki adımlar
- Azure Spring Data ve Azure Cosmos DB hakkında daha fazla bilgi edinin.
- Azure Cosmos DB Hizmeti hakkında daha fazla bilgi edinin
- Bakınız: Azure Spring Data Azure Cosmos DB Örnekleri
- Bkz. Azure Cosmos DB ile Spring MVC Örneği
Katkıda Bulunmak
Bu proje katkıları ve önerileri memnuniyetle karşılar. Katkıların çoğu, Katkıda Bulunan Lisans Sözleşmesi'ni (CLA) kabul etmenizi bize katkınızı kullanma haklarını verme hakkına sahip olduğunuzu bildirmenizi ve gerçekten bunu yapmanızı gerektirir.
Çekme isteği (pull request) gönderdiğinizde, CLA-bot otomatik olarak CLA sağlamanız gerekip gerekmediğini belirler ve çekme isteğini uygun şekilde düzenler, örneğin etiket ekler ve yorumlar. Bot tarafından sağlanan yönergeleri izlemeniz yeterlidir. CLA'mizi kullanarak tüm depolarda bunu yalnızca bir defa yapmanız gerekecek.
Bu proje, Microsoft Açık Kaynak Kullanım Kurallarıbenimsemiştir. Daha fazla bilgi için Davranış Kuralları SSS bölümüne bakın veya diğer sorularınız ya da yorumlarınız için opencode@microsoft.com ile iletişime geçin.