Aracılığıyla paylaş


Linux tabanlı öykünücü (önizleme)

Azure Cosmos DB öykünücüsünün yeni nesli tamamen Linux tabanlıdır ve Docker kapsayıcısı olarak kullanılabilir. Çok çeşitli işlemcilerde ve işletim sistemlerinde çalıştırmayı destekler.

Önemli

Öykünücünün bu sürümü, özelliklerin belirli bir alt kümesiyle yalnızca ağ geçidi modunda NoSQL API'sini destekler. Daha fazla bilgi için bkz . özellik desteği.

Önkoşullar

Yükleme

kullanarak docker pullDocker kapsayıcı görüntüsünü alın. Kapsayıcı görüntüsü olarak Microsoft Yapıt Kayıt Defteri mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:vnext-previewyayımlanır.

docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:vnext-preview

Çalışıyor

Kapsayıcıyı çalıştırmak için kullanın docker run. Daha sonra, kapsayıcının çalıştığını doğrulamak için kullanın docker ps .

docker run --detach --publish 8081:8081 --publish 1234:1234 mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:vnext-preview

docker ps
CONTAINER ID   IMAGE                                                             COMMAND                  CREATED         STATUS         PORTS                                                                                  NAMES
c1bb8cf53f8a   mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:vnext-preview  "/bin/bash -c /home/…"   5 seconds ago   Up 5 seconds   0.0.0.0:1234->1234/tcp, :::1234->1234/tcp, 0.0.0.0:8081->8081/tcp, :::8081->8081/tcp   <container-name>

Not

Öykünücü iki bileşenden oluşur:

  • Veri gezgini : Öykünücüdeki verileri etkileşimli olarak keşfedin. Varsayılan olarak bu işlem bağlantı noktasında çalışır 1234
  • Azure Cosmos DB öykünücüsü - Azure Cosmos DB veritabanı hizmetinin yerel sürümü. Varsayılan olarak, bu bağlantı noktasında 8081çalışır.

Öykünücü ağ geçidi uç noktası genellikle adresindeki http://localhost:8081bağlantı noktasında 8081 kullanılabilir. Veri gezginine gitmek için web tarayıcınızdaki adresi http://localhost:1234 kullanın. Veri gezgininin kullanılabilir olması birkaç saniye sürebilir. Ağ geçidi uç noktası genellikle hemen kullanılabilir.

Önemli

.NET ve Java SDK'ları öykünücüde HTTP modunu desteklemez. Öykünücünün bu sürümü varsayılan olarak HTTP ile başladığından, kapsayıcıyı başlatırken HTTPS'yi açıkça etkinleştirmeniz gerekir (aşağıya bakın). Java SDK'sı için sertifikaları da yüklemeniz gerekir.

docker run --detach --publish 8081:8081 --publish 1234:1234 mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:vnext-preview --protocol https

Docker komutları

Aşağıdaki tabloda öykünücüyü yapılandırmak için kullanılabilen Docker komutları özetlemektedir. Bu tabloda ilgili bağımsız değişkenler, ortam değişkenleri, izin verilen değerler, varsayılan ayarlar ve her komutun açıklamaları açıklanır.

Gereksinim Arg Env İzin verilen değerler Varsayılan Açıklama
Ayarları kapsayıcıdan stdout'a yazdırma --help, -h Yok Yok Yok Kullanılabilir yapılandırmayla ilgili bilgileri görüntüleme
Cosmos uç noktasının bağlantı noktasını ayarlama --port [INT] BAĞLANTI NOKTASI INT 8081 Kapsayıcıdaki Cosmos uç noktasının bağlantı noktası. Yine de bu bağlantı noktasını yayımlamanız gerekir (örneğin, -p 8081:8081).
Cosmos uç noktası tarafından kullanılan protokolü belirtme --protocol PROTOKOL https, http, https-insecure http Kapsayıcıdaki Cosmos uç noktasının protokolü.
Veri gezginini etkinleştirme --enable-explorer ENABLE_EXPLORER true, false true Cosmos Veri Gezgini aynı kapsayıcıda çalıştırmayı etkinleştirin.
Veri gezgini tarafından kullanılan bağlantı noktasını ayarlama --explorer-port EXPLORER_PORT INT 1234 Kapsayıcıda Cosmos Veri Gezgini bağlantı noktası. Yine de bu bağlantı noktasını yayımlamanız gerekir (örneğin, -p 1234:1234).
Kullanıcı, gezgin tarafından kullanılan protokolü belirtebilmelidir; aksi takdirde Cosmos uç noktasının kullandığı varsayılan protokoldür --explorer-protocol EXPLORER_PROTOCOL https, http, https-insecure <the value of --protocol> Kapsayıcıda Cosmos Veri Gezgini protokolü. Cosmos uç noktasındaki protokol ayarını varsayılan olarak kullanır.
Dosya aracılığıyla anahtarı belirtin --key-file [PATH] KEY_FILE YOL <default secret> Varsayılan anahtarı dosyada belirtilen anahtarla geçersiz kılın. Bu dosyayı kapsayıcıya bağlamanız gerekir (örneğin, KEY_FILE=/mykey ise, docker çalıştırmanıza aşağıdaki gibi bir seçenek eklersiniz: --mount type=bind,source=./myKey,target=/myKey)
Veri yolunu ayarlama --data-path [PATH] DATA_PATH YOL /data Veriler için bir dizin belirtin. Seçenekle docker run --mount sık kullanılanlar (örneğin, DATA_PATH=/usr/cosmos/data ise, docker çalıştırmanıza aşağıdakine benzer bir seçenek eklersiniz: --mount type=bind,source=./.local/data,target=/usr/cosmos/data)
https için kullanılacak sertifika yolunu belirtin --cert-path [PATH] CERT_PATH YOL <default cert> Trafiğin güvenliğini sağlamak için sertifikanın yolunu belirtin. Bu dosyayı kapsayıcıya bağlamanız gerekir (örneğin, CERT_PATH=/mycert.pfx ise, docker çalıştırmanıza aşağıdaki gibi bir seçenek eklersiniz: --mount type=bind,source=./mycert.pfx,target=/mycert.pfx)
https için kullanılacak sertifika gizli dizisini belirtin Yok CERT_SECRET Dize <default secret> CERT_PATH'da belirtilen sertifikanın gizli dizisi.
Günlük düzeyini ayarlama --log-level [LEVEL] LOG_LEVEL quiet, error, warn, , info, debug, trace info Öykünücü ve veri gezgini tarafından yayılan günlüklerin ayrıntı düzeyi.
Tanılama bilgilerinin Microsoft'a gönderilmesini etkinleştirme --enable-telemetry ENABLE_TELEMETRY true, false true Öykünücüyü geliştirmemize yardımcı olması için Microsoft'a günlük göndermeyi etkinleştirin.

Özellik desteği

Bu öykünücü etkin geliştirme ve önizleme aşamasındadır. Sonuç olarak, tüm Azure Cosmos DB özellikleri desteklenmez. Bazı özellikler gelecekte de desteklenmeyecektir. Bu tablo çeşitli özelliklerin durumunu ve destek düzeylerini içerir.

Özellik Destek
Batch API'si ✅ Destekli
Toplu API ✅ Destekli
Değişiklik Akışı ⚠️ Henüz uygulanmadı
Utf verileriyle belge oluşturma ve okuma ✅ Destekli
Koleksiyon oluşturma ✅ Destekli
Koleksiyon oluşturma iki kez çakışma ✅ Destekli
Özel dizin ilkesiyle koleksiyon oluşturma ⚠️ Henüz uygulanmadı
Ttl süre sonu ile koleksiyon oluşturma ⚠️ Henüz uygulanmadı
Veritabanı oluşturma ✅ Destekli
Veritabanı oluşturma iki kez çakışma ✅ Destekli
Belge oluşturma ✅ Destekli
Bölümlenmiş koleksiyon oluşturma ⚠️ Henüz uygulanmadı
Koleksiyonu silme ✅ Destekli
Veritabanını silme ✅ Destekli
Belgeyi silme ✅ Destekli
Koleksiyon performansını alma ve değiştirme ⚠️ Henüz uygulanmadı
Büyük belge ekleme ✅ Destekli
Belgeyi düzeltme eki uygulama ⚠️ Henüz uygulanmadı
Bölümlenmiş koleksiyonu paralel olarak sorgulama ⚠️ Henüz uygulanmadı
Toplamalar içeren sorgu ⚠️ Henüz uygulanmadı
ile sorgulama ve filtreleme ⚠️ Henüz uygulanmadı
ile sorgulama, filtreleme ve yansıtma ⚠️ Henüz uygulanmadı
Eşitlik içeren sorgu ✅ Destekli
Kimlikte eşittir olan sorgu ✅ Destekli
Birleştirmelerle sorgulama ⚠️ Henüz uygulanmadı
Sıralama ölçütüyle sorgulama ✅ Destekli
Bölümlenmiş koleksiyon için sıralama ölçütüyle sorgulama ⚠️ Henüz uygulanmadı
Sayılara göre sıralı sorgu ✅ Destekli
Dizelere göre sıralı sorgu ⚠️ Henüz uygulanmadı
Sayfalama ile sorgulama ⚠️ Henüz uygulanmadı
Aralık işleçleri tarih saatleriyle sorgulama ⚠️ Henüz uygulanmadı
Sayılarda aralık işleçleriyle sorgulama ⚠️ Henüz uygulanmadı
Dizelerdeki aralık işleçleriyle sorgulama ⚠️ Henüz uygulanmadı
Tek birleşimli sorgu ⚠️ Henüz uygulanmadı
Dize matematik ve dizi işleçleriyle sorgulama ⚠️ Henüz uygulanmadı
Alt belgeler içeren sorgu ⚠️ Henüz uygulanmadı
İki birleşimli sorgu ⚠️ Henüz uygulanmadı
İki birleştirme ve filtre içeren sorgu ⚠️ Henüz uygulanmadı
Koleksiyonu okuma ✅ Destekli
Koleksiyon akışını okuma ⚠️ Henüz uygulanmadı
Veritabanını okuma ✅ Destekli
Veritabanı akışını okuma ⚠️ Henüz uygulanmadı
Belgeyi okuma ✅ Destekli
Belge akışını okuma ✅ Destekli
Belgeyi değiştir ✅ Destekli
İstek Birimleri ⚠️ Henüz uygulanmadı
Saklı yordamlar ❌ Planlı değil
Tetikleyiciler ❌ Planlı değil
UDF'ler ❌ Planlı değil
Koleksiyonu güncelleştirme ⚠️ Henüz uygulanmadı
Belgeyi güncelleştirme ✅ Destekli

Sınırlamalar

Henüz desteklenmeyen veya planlanmamış özelliklere ek olarak, aşağıdaki liste öykünücünün geçerli sınırlamalarını içerir.

  • Azure Cosmos DB için .NET SDK'sı öykünücüde toplu yürütmeyi desteklemez.
  • .NET ve Java SDK'ları öykünücüde HTTP modunu desteklemez.

Java SDK için sertifika yükleme

Azure Cosmos DB için Java SDK'sını öykünücünün bu sürümüyle https modunda kullanırken, yerel Java güven deponuza sertifikalarını yüklemeniz gerekir.

Sertifika alma

Bir bash pencerede aşağıdakileri çalıştırın:

# If the emulator was started with /AllowNetworkAccess, replace localhost with the actual IP address of it:
EMULATOR_HOST=localhost
EMULATOR_PORT=8081
EMULATOR_CERT_PATH=/tmp/cosmos_emulator.cert
openssl s_client -connect ${EMULATOR_HOST}:${EMULATOR_PORT} </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > $EMULATOR_CERT_PATH

Sertifika yükleme

Dosyanın bulunduğu cacerts java yüklemenizin dizinine gidin (aşağıdaki değerini doğru dizinle değiştirin):

cd "C:/Program Files/Eclipse Adoptium/jdk-17.0.10.7-hotspot/bin"

Sertifikayı içeri aktarın (parola girmeniz istenebilir, varsayılan değer "changeit"dir):

keytool -cacerts -importcert -alias cosmos_emulator -file $EMULATOR_CERT_PATH

Diğer ad zaten var olduğundan bir hata alırsanız, diğer adı silin ve yukarıdakini yeniden çalıştırın:

keytool -cacerts -delete -alias cosmos_emulator

Raporlama sorunları

Öykünücünün bu sürümünü kullanırken sorunlarla karşılaşırsanız GitHub deposunda (https://github.com/Azure/azure-cosmos-db-emulator-docker) bir sorun açın ve etiketiyle etiketleyin cosmosEmulatorVnextPreview.