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ılavuzda Spring Data Azure Cosmos DB SDK Azure kavramları, desteklenen özellikler, sorun giderme ve bilinen sorunlar açıklanmaktadır. Bu kavramlar ve kod örnekleri hakkında daha fazla bilgi için Azure Cosmos DB SDK için Spring Data Beni Oku dosyasına göz atı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 olanak tanıyan bir bağımlılık yönetimi bölümü almak için projeden spring-boot-starter-parent 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ümleri 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 ve Spring Cloud'un birden çok sürümünü destekler. Spring Boot ve Spring Cloud ile hangi Azure Spring Data sürümünün Azure Cosmos DB kullanılacağı 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ü otomatik olarak imzalanan bir HTTPS sertifikası kullandığından, sertifikasını burada açıklandığı gibi güvenilen Java sertifika deposuna aktarmanız gerekir. - (İ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
Yalnızca günlük kaydı kullanmayı planlıyorsanız SLF4J'ye ihtiyacınız vardır. Ayrıca, SLF4J API’sini tercih ettiğiniz günlükleme gerçeklemesiyle bağlayan bir SLF4J bağlayıcısı da 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 AbstractCosmosConfiguration sınıfını genişletin. Daha fazla bilgi için bkz. Kurulum Yapılandırma Sınıfı
Azure Spring Data Azure Cosmos DB SDK tarafından kullanılan temel CosmosAsyncClient’ı, GatewayConnectionConfig, DirectConnectionConfig veya her ikisini birden sağlayıp bunları CosmosClientBuilder’e geçirerek özelleştirebilirsiniz. Tam bir örnek için yapılandırmayı özelleştirme bölümünü ziyaret edin.
Varlık kurulumu
Basit bir varlığı Azure Cosmos DB öğe olarak tanımlayabilirsiniz.
@Container ek açıklamasını ekleyip kapsayıcıyla ilgili özellikleri belirterek varlıkları tanımlayın. Daha fazla bilgi için bkz. Varlık tanımlama.
Kapsayıcı ek açıklaması; kapsayıcı adının, istek birimlerinin (RUs), yaşam süresinin, otomatik ölçeklendirme aktarım hızına sahip kapsayıcılar oluşturmanın, iç içe bölüm anahtarı desteğinin ve diğer kapsayıcı özelliklerinin belirtilmesini 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, depolarda @Query kullanarak 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
Bir etki alanı sınıfındaki bir alanı id ile birden çok şekilde eşleyebilirsiniz. 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 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ıdır. Kapsayıcı adını özelleştirmek için @Container(containerName="myCustomContainerName") ek açıklamasını 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 Azure hizmeti, IndexingPolicy ayarlar.
IndexingPolicy öğesini özelleştirmek için, @CosmosIndexingPolicy ek açıklamasını etki alanı sınıfına ekleyin. Daha fazla bilgi için
Benzersiz anahtar ilkesi
Azure Spring Data Azure Cosmos DB, @CosmosUniqueKeyPolicy ek açıklamasını etki alanı sınıfına ekleyerek kapsayıcıda UniqueKeyPolicy ayarlamayı 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.
Bir etki alanı sınıfının bir alanını bölümleme anahtarı alanı olarak belirtmek için, bu alana @PartitionKey ek açıklamasını 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 iyimser kilitlemeyi destekler. Bu destek, başka bir işlem öğeyi değiştirirse öğe bazında yapılan upsert ve silme işlemlerinin bir özel durum oluşarak başarısız olması anlamına gelir. Daha fazla bilgi için
Spring Data özel sorgusu, sayfalama ve sıralama
Azure-spring-data-cosmos, gibi bir bulma işlemi de dahil olmak üzere findByAFieldAndBField destekler. Ayrıca Spring Data Pageable, Slice ve Sort'ı da destekler. Daha fazla bilgi için sorgu, sayfalanabilir ve sıralama bölümüne bakın.
Spring Data Cosmos aracılığıyla Azure Cosmos DB Java SDK'sı kullanma
Azure-spring-data-cosmos , 'nin Azure Cosmos DB Java SDKkullanılmasını destekler.
CosmosClient aracılığıyla bir ApplicationContext veya CosmosAsyncClient bean’i edinebilir ve Azure Cosmos DB Java SDK tarafından desteklenen tüm işlemleri gerçekleştirebilirsiniz. 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 anotasyonlarını kullanarak veritabanı varlıklarında 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ıolan tek hesap dahil olmak üzere çoklu veritabanı yapılandırmasını destekler. Eksiksiz bir kod parçacığı için
Sorun giderme
Genel
Bir hatayla karşılaşırsanız , burada bir sorun oluşturun.
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 birden çok veritabanı örnek projesine bakın.
Çoklu veritabanı ile tek hesap
Eksiksiz bir örnek proje için birden çok veritabanı örnek projesine sahip tek bir hesaba bakın.
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.
- Azure Spring Data Azure Cosmos DB Örnekleri'ne bakın.
- Azure Cosmos DB Örneği ile Spring MVC'ye bakın.
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.