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 pull
Docker 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-preview
yayı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
.