Öykünücünün yaygın bir kullanım örneği, uygulamalarınızı geliştirirken bir geliştirme veritabanı olarak kullanılmasıdır. Geliştirme için öykünücünün kullanılması, hizmet maliyetlerine neden olmadan Azure Cosmos DB gibi bir veritabanı için veri oluşturma ve modelleme özelliklerini öğrenmenize yardımcı olabilir. Ayrıca, öykünücüyü bir otomasyon iş akışının parçası olarak kullanmak, aynı tümleştirme testleri paketini çalıştırabilmenizi sağlayabilir. Aynı testlerin hem geliştirme makinenizde yerel olarak hem de sürekli tümleştirme işinde uzaktan çalıştığından emin olabilirsiniz.
Prerequisites
-
.NET 6 veya üzeri, Node.js v20 veya üzeri veya Python 3.7 veya üzeri
- Gerekli tüm yürütülebilir dosyaların
PATH kullanılabilir olduğundan emin olun.
-
Windows emülatör
- 64 bit Windows Server 2016, 2019, Windows 10 veya Windows 11.
- En düşük donanım gereksinimleri:
- 2 GB RAM
- 10 GB kullanılabilir sabit disk alanı
-
Docker emülatörü
Öykünücüyü yükle
Öykünücünün birden çok varyasyonu vardır ve her varyasyon nispeten sorunsuz bir yükleme işlemine sahiptir.
Başlamak için Microsoft Container Registry (MCR) kapsayıcı görüntüsünün Linux değişkenini alın.
mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator Linux kapsayıcı görüntüsünü kapsayıcı kayıt defterinden yerel Docker konağına çekin.
docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
Öykünücü görüntüsünün yerel Docker konağınızda kullanılabilir olduğundan emin olun.
docker images
Başlamak için Microsoft Container Registry (MCR) kapsayıcı görüntüsünün Windows değişkenini alın.
mcr.microsoft.com/cosmosdb/windows/azure-cosmos-emulator Windows kapsayıcı görüntüsünü kapsayıcı kayıt defterinden yerel Docker konağına çekin.
docker pull mcr.microsoft.com/cosmosdb/windows/azure-cosmos-emulator
Öykünücü görüntüsünün yerel Docker konağınızda kullanılabilir olduğundan emin olun.
docker images
Başlamak için yerel bilgisayarınıza Azure Cosmos DB Öykünücüsü'nin en son sürümünü indirin ve yükleyin.
Tip
Öykünücü sürüm notları makalesi, kullanılabilir tüm sürümleri ve her sürümde yapılan özellik güncelleştirmelerini listeler.
Azure Cosmos DB öykünücüsünü indirin.
Yükleyiciyi yerel makinenizde yönetim ayrıcalıklarıyla çalıştırın.
Öykünücü, uygun geliştirici sertifikalarını otomatik olarak yükler ve yerel makinenizde güvenlik duvarı kurallarını yapılandırır.
Başlamak için Microsoft Container Registry (MCR) kapsayıcı görüntüsünün Linux değişkenini alın.
Kapsayıcı kayıt defterinden mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator etiketini kullanarak Linux kapsayıcı görüntüsünü yerel Docker ana bilgisayarına çekin.
docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
Öykünücü görüntüsünün yerel Docker konağınızda kullanılabilir olduğundan emin olun.
docker images
Docker (Windows) kapsayıcı görüntüsü MongoDB API'sini desteklemez.
Başlamak için yerel bilgisayarınıza Azure Cosmos DB Öykünücüsü'nin en son sürümünü indirin ve yükleyin.
Tip
Öykünücü sürüm notları makalesi, kullanılabilir tüm sürümleri ve her sürümde yapılan özellik güncelleştirmelerini listeler.
Azure Cosmos DB öykünücüsünü indirin.
Yükleyiciyi yerel makinenizde yönetim ayrıcalıklarıyla çalıştırın.
Öykünücü, uygun geliştirici sertifikalarını otomatik olarak yükler ve yerel makinenizde güvenlik duvarı kurallarını yapılandırır.
Öykünücünün Docker kapsayıcı değişkeni (Linux veya Windows), Apache Cassandra API'sini, Apache Gremlin api'sini veya Tablo için API'yi desteklemez.
Başlamak için yerel bilgisayarınıza Azure Cosmos DB Öykünücüsü'nin en son sürümünü indirin ve yükleyin.
Tip
Öykünücü sürüm notları makalesi, kullanılabilir tüm sürümleri ve her sürümde yapılan özellik güncelleştirmelerini listeler.
Azure Cosmos DB öykünücüsünü indirin.
Yükleyiciyi yerel makinenizde yönetim ayrıcalıklarıyla çalıştırın.
Öykünücü, uygun geliştirici sertifikalarını otomatik olarak yükler ve yerel makinenizde güvenlik duvarı kurallarını yapılandırır.
Öykünücüyü başlat
İndirildikten sonra, belirttiğiniz API etkin durumdayken öykünücüyü başlatın.
Öykünücünün Docker kapsayıcı değişkeni Apache Cassandra API'sini desteklemez.
Öykünücünün yürütülebilir dosyasını (Microsoft.Azure.Cosmos.Emulator.exe) %ProgramFiles%\Azure Cosmos DB Emulator yolundan başlatın. Öykünücüyü yapılandırmak için şu parametreleri kullanın:
|
Description |
EnableCassandraEndpoint |
Apache Cassandra uç noktası için API'ye olanak tanır. |
CassandraPort |
Uç nokta için kullanılacak bağlantı noktası numarası. |
Microsoft.Azure.Cosmos.Emulator.exe /EnableCassandraEndpoint /CassandraPort=65200
Öykünücü, URL'sini https://localhost:8081/_explorer/index.htmlkullanarak veri gezginini otomatik olarak açar.
Öykünücünün Docker kapsayıcı değişkeni Apache Gremlin API'sini desteklemez.
Öykünücünün yürütülebilir dosyasını (Microsoft.Azure.Cosmos.Emulator.exe) %ProgramFiles%\Azure Cosmos DB Emulator yolundan başlatın. Öykünücüyü yapılandırmak için şu parametreleri kullanın:
|
Description |
EnableGremlinEndpoint |
Apache Gremlin uç noktası için API'yi etkinleştirir. |
GremlinPort |
Uç nokta için kullanılacak bağlantı noktası numarası. |
Microsoft.Azure.Cosmos.Emulator.exe /EnableGremlinEndpoint /GremlinPort=65400
Öykünücü, URL'sini https://localhost:8081/_explorer/index.htmlkullanarak veri gezginini otomatik olarak açar.
Öykünücünün Docker kapsayıcısı değişkeni Tablo API'sini desteklemez.
Öykünücünün yürütülebilir dosyasını (Microsoft.Azure.Cosmos.Emulator.exe) %ProgramFiles%\Azure Cosmos DB Emulator yolundan başlatın. Öykünücüyü yapılandırmak için şu parametreleri kullanın:
|
Description |
EnableTableEndpoint |
Tablo uç noktası için API'sini etkinleştirir. |
TablePort |
Uç nokta için kullanılacak bağlantı noktası numarası. |
Microsoft.Azure.Cosmos.Emulator.exe /EnableTableEndpoint /TablePort=65500
Öykünücü, URL'sini https://localhost:8081/_explorer/index.htmlkullanarak veri gezginini otomatik olarak açar.
Kapsayıcı görüntüsünü ve aşağıdaki yapılandırmayı kullanarak yeni bir kapsayıcı çalıştırın:
|
Description |
AZURE_COSMOS_EMULATOR_PARTITION_COUNT
(İsteğe bağlı) |
Kullanılacak bölüm sayısını belirtin. |
AZURE_COSMOS_EMULATOR_ENABLE_DATA_PERSISTENCE
(İsteğe bağlı) |
Öykünücü çalıştırmaları arasında veri kalıcılığını etkinleştirin. |
AZURE_COSMOS_EMULATOR_IP_ADDRESS_OVERRIDE
(İsteğe bağlı) |
Öykünücünün varsayılan IP adresini geçersiz kılın. |
Linux sistemleri için şunu kullanın:
docker run \
--publish 8081:8081 \
--publish 10250-10255:10250-10255 \
--name linux-emulator \
--detach \
mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
Windows sistemleri için şunu kullanın:
$parameters = @(
"--publish", "8081:8081"
"--publish", "10250-10255:10250-10255"
"--name", "windows-emulator"
"--detach"
)
docker run @parameters mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
Veri gezginine erişmek için https://localhost:8081/_explorer/index.html gidin.
Yeni bir bind erişim noktası dizini oluşturun
Kapsayıcı görüntüsünü kullanarak yeni bir kapsayıcı çalıştırın.
$parameters = @(
"--publish", "8081:8081"
"--publish", "10250-10255:10250-10255"
"--name", "windows-emulator"
"--detach"
)
docker run @parameters mcr.microsoft.com/cosmosdb/windows/azure-cosmos-emulator
Veri gezginine erişmek için https://localhost:8081/_explorer/index.html gidin.
Windows Başlat menüsünden uygulamayı seçerek öykünücüyü başlatın.
Alternatif olarak, öykünücünün yürütülebilir dosyasını (Microsoft.Azure.Cosmos.Emulator.exe) %ProgramFiles%\Azure Cosmos DB Emulator dizininden başlatabilirsiniz.
Ayrıca, öykünücüyü komut satırından başlatabilirsiniz. Öykünücüyü yapılandırmak için şu parametreleri kullanın:
|
Description |
Port |
NoSQL uç noktası için API'de kullanılacak port numarası. |
Microsoft.Azure.Cosmos.Emulator.exe /Port=65000
Öykünücü, URL'sini https://localhost:8081/_explorer/index.htmlkullanarak veri gezginini otomatik olarak açar.
Kapsayıcı görüntüsünü ve aşağıdaki yapılandırmayı kullanarak yeni bir kapsayıcı çalıştırın:
|
Description |
AZURE_COSMOS_EMULATOR_ENABLE_MONGODB_ENDPOINT |
Kullanılacak MongoDB uç noktasının sürümünü belirtin. Desteklenen uç noktalar şunlardır: 3.2, 3.6veya 4.0. |
AZURE_COSMOS_EMULATOR_PARTITION_COUNT
(İsteğe bağlı) |
Kullanılacak bölüm sayısını belirtin. |
AZURE_COSMOS_EMULATOR_ENABLE_DATA_PERSISTENCE
(İsteğe bağlı) |
Öykünücü çalıştırmaları arasında veri kalıcılığını etkinleştirin. |
AZURE_COSMOS_EMULATOR_IP_ADDRESS_OVERRIDE
(İsteğe bağlı) |
Öykünücünün varsayılan IP adresini geçersiz kılın. |
Linux sistemleri için şunu kullanın:
docker run \
--publish 8081:8081 \
--publish 10250:10250 \
--env AZURE_COSMOS_EMULATOR_ENABLE_MONGODB_ENDPOINT=4.0 \
--name linux-emulator \
--detach \
mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:mongodb
Windows sistemleri için şunu kullanın:
$parameters = @(
"--publish", "8081:8081"
"--publish", "10250:10250"
"--env", "AZURE_COSMOS_EMULATOR_ENABLE_MONGODB_ENDPOINT=4.0"
"--name", "windows-emulator"
"--detach"
)
docker run @parameters mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:mongodb
Veri gezginine erişmek için https://localhost:8081/_explorer/index.html gidin.
Docker (Windows) kapsayıcı görüntüsü MongoDB API'sini desteklemez.
Öykünücünün yürütülebilir dosyasını (Microsoft.Azure.Cosmos.Emulator.exe) %ProgramFiles%\Azure Cosmos DB Emulator yolundan başlatın. Öykünücüyü yapılandırmak için şu parametreleri kullanın:
|
Description |
EnableMongoDbEndpoint |
Belirtilen MongoDB sürümünde MongoDB uç noktası için API'sini etkinleştirir. |
MongoPort |
Uç nokta için kullanılacak bağlantı noktası numarası. |
Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=4.0 /MongoPort=65200
Note
Komut satırı bağımsız değişkenleri ve öykünücü tarafından desteklenen MongoDB sürümleri hakkında daha fazla bilgi için komut satırı parametreleri'ne bakın.
Öykünücü, URL'sini https://localhost:8081/_explorer/index.htmlkullanarak veri gezginini otomatik olarak açar.
Öykünücünün TLS/SSL sertifikasını içeri aktarma
Öykünücüyü istemcide TLS/SSL'yi devre dışı bırakmadan tercih ettiğiniz geliştirici SDK'sıyla kullanmak için öykünücünün TLS/SSL sertifikasını içeri aktarın.
Öykünücünün Docker kapsayıcı değişkeni (Linux veya Windows), Apache Cassandra API'sini, Apache Gremlin api'sini veya Tablo için API'yi desteklemez.
Öykünücünün Windows yerel yüklemesi TLS/SSL sertifikalarını otomatik olarak içeri aktarır. Başka eyleme gerek yoktur.
Öykünücü sertifikası, çalışan konteyner yolunda _explorer/emulator.pem bulunabilir. Sertifikayı çalışan kapsayıcıdan yerel makinenize indirmek için kullanın curl .
Çalışan kapsayıcıdan sertifikayı alın.
Linux sistemleri için şunu kullanın:
curl --insecure https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
Windows sistemleri için şunu kullanın:
$parameters = @{
Uri = 'https://localhost:8081/_explorer/emulator.pem'
Method = 'GET'
OutFile = 'emulatorcert.crt'
SkipCertificateCheck = $True
}
Invoke-WebRequest @parameters
İşletim sisteminiz için uygun komutu kullanarak sertifika paketini yeniden üretin.
Debian tabanlı Linux sistemleri (örneğin, Ubuntu) için şunu kullanın:
sudo update-ca-certificates
Red Hat tabanlı Linux sistemleri (örneğin, CentOS, Fedora) için şunu kullanın:
sudo update-ca-trust
Windows sistemleri için şunu kullanın:
certutil -f -addstore "Root" ~/emulatorcert.crt
Daha ayrıntılı yönergeler için işletim sisteminize özgü belgelere bakın.
Docker (Windows) kapsayıcı görüntüsü MongoDB API'sini desteklemez.
Öykünücünün Windows yerel yüklemesi TLS/SSL sertifikalarını otomatik olarak içeri aktarır. Başka eyleme gerek yoktur.
Öykünücü sertifikası, çalışan konteyner yolunda /_explorer/emulator.pem bulunabilir.
Sertifikayı çalışan kapsayıcıdan yerel makinenize indirin.
Linux sistemleri için şunu kullanın:
curl --insecure https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
Windows sistemleri için şunu kullanın:
$parameters = @{
Uri = 'https://localhost:8081/_explorer/emulator.pem'
Method = 'GET'
OutFile = 'emulatorcert.crt'
SkipCertificateCheck = $True
}
Invoke-WebRequest @parameters
Note
Bu değerleri daha önce değiştirdiyseniz konak (veya IP adresi) ve bağlantı noktası numarasını değiştirmeniz gerekebilir.
Sertifikayı genellikle işletim sisteminiz için kullanılan işleme göre yükleyin. Örneğin, Linux'ta sertifikayı /usr/local/share/ca-certificates/ yola kopyalarsınız.
Linux sistemleri için şunu kullanın:
cp ~/emulatorcert.crt /usr/local/share/ca-certificates/
Windows sistemleri için şunu kullanın:
$parameters = @{
FilePath = 'emulatorcert.crt'
CertStoreLocation = 'Cert:\CurrentUser\Root'
}
Import-Certificate @parameters
Linux sistemleri için, Linux dağıtımınız için uygun komutu kullanarak sertifika paketini yeniden üretin.
Debian tabanlı Linux sistemleri (örneğin, Ubuntu) için şunu kullanın:
sudo update-ca-certificates
Red Hat tabanlı Linux sistemleri (örneğin, CentOS, Fedora) için şunu kullanın:
sudo update-ca-trust
Daha ayrıntılı yönergeler için işletim sisteminize özgü belgelere bakın.
Öykünücü için sertifika, aktif kapsayıcıdaki C:\CosmosDB.Emulator\bind-mount klasöründen erişilebilir. Klasör ayrıca sertifikayı otomatik olarak yüklemek için bir betik içerir.
Klasörün tamamını yerel makinenize kopyalamak için kullanın docker cp .
docker cp windows-emulator:C:\CosmosDB.Emulator\bind-mount .
klasöründe importcert.ps1 betiğini çalıştırın.
.\bind-mount\importcert.ps1
Öykünücünün Windows yerel yüklemesi TLS/SSL sertifikalarını otomatik olarak içeri aktarır. Başka eyleme gerek yoktur.
SDK'dan öykünücüye bağlan
Her SDK genellikle SDK'yı Azure Cosmos DB hesabınıza bağlamak için kullanılan bir istemci sınıfı içerir. Öykünücünün kimlik bilgilerini kullanarak SDK'yı öykünücü örneğine bağlayabilirsiniz.
.NET uygulamanızdan öykünücüye bağlanmak için Azure Cosmos DB API'sini NoSQL .NET SDK'sı ile kullanın.
Boş bir klasörden başlayın.
Yeni bir .NET konsol uygulaması oluşturma
dotnet new console
NuGet'ten Microsoft.Azure.Cosmos paketini ekleyin.
dotnet add package Microsoft.Azure.Cosmos
Program.cs dosyasını açın.
Dosyadaki mevcut tüm içeriği silin.
Microsoft.Azure.Cosmos ad alanı için bir using bloğu ekleyin.
using Microsoft.Azure.Cosmos;
Öykünücünün CosmosClient kimlik bilgilerini kullanarak yeni bir örnek oluşturun.
using CosmosClient client = new(
accountEndpoint: "https://localhost:8081/",
authKeyOrResourceToken: "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="
);
CreateDatabaseIfNotExistsAsync ve CreateContainerIfNotExistsAsync kullanarak yeni bir veritabanı ve kapsayıcı oluşturun.
Database database = await client.CreateDatabaseIfNotExistsAsync(
id: "cosmicworks",
throughput: 400
);
Container container = await database.CreateContainerIfNotExistsAsync(
id: "products",
partitionKeyPath: "/id"
);
kullanarak UpsertItemAsynckapsayıcıda yeni bir öğe oluşturun.
var item = new
{
id = "68719518371",
name = "Kiama classic surfboard"
};
await container.UpsertItemAsync(item);
.NET uygulamasını çalıştırın.
dotnet run
Warning
SSL hatası alırsanız, uygulamanız için TLS/SSL'yi devre dışı bırakmanız gerekebilir. Bu durum genellikle kapsayıcıdaki Azure Cosmos DB öykünücüsünüzü kullanarak yerel makinenizde geliştiriyorsanız ve kapsayıcının SSL sertifikasını aktarmadıysanız oluşur. Bu sorunu çözmek için istemciyi oluşturmadan önce TLS/SSL doğrulamasını devre dışı bırakmak için istemcinin seçeneklerini yapılandırın:
CosmosClientOptions options = new ()
{
HttpClientFactory = () => new HttpClient(new HttpClientHandler()
{
ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator
}),
ConnectionMode = ConnectionMode.Gateway,
};
using CosmosClient client = new(
...,
...,
clientOptions: options
);
Python uygulamasından öykünücüye bağlanmak için Azure Cosmos DB API for NoSQL Python SDK'yi kullanın.
Boş bir klasörden başlayın.
azure-cosmos paketini Python Paket Dizininden içeri aktarın.
pip install azure-cosmos
app.py dosyasını oluşturun.
CosmosClient ve PartitionKey öğelerini azure.cosmos modülünden içeri aktarın.
from azure.cosmos import CosmosClient, PartitionKey
Öykünücünün kimlik bilgilerini kullanarak bir yeni CosmosClient oluşturun.
client = CosmosClient(
url="<https://localhost:8081>",
credential=(
"C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGG"
"yPMbIZnqyMsEcaGQy67XIw/Jw=="
),
)
create_database_if_not_exists ve create_container_if_not_exists kullanarak yeni bir veritabanı ve kapsayıcı oluşturun.
database = client.create_database_if_not_exists(
id="cosmicworks",
offer_throughput=400,
)
container = database.create_container_if_not_exists(
id="products",
partition_key=PartitionKey(
path="/id",
),
)
Kapsayıcıda yeni bir öğe oluşturmak için kullanın upsert_item .
item = {"id": "68719518371", "name": "Kiama classic surfboard"}
container.upsert_item(item)
Python uygulamasını çalıştırın.
python app.py
Warning
SSL hatası alırsanız, uygulamanız için TLS/SSL'yi devre dışı bırakmanız gerekebilir. Bu durum genellikle kapsayıcıdaki Azure Cosmos DB öykünücüsünüzü kullanarak yerel makinenizde geliştiriyorsanız ve kapsayıcının SSL sertifikasını aktarmadıysanız oluşur. Bu sorunu çözmek için, istemciyi oluşturmadan önce uygulamayı TLS/SSL doğrulamasını devre dışı bırakacak şekilde yapılandırın:
import urllib3
urllib3.disable_warnings()
Hala SSL hatalarıyla karşılaşıyorsanız, Python sertifikaları farklı bir sertifika deposundan alır. Python sertifikaları aradığı yolu belirlemek için şu adımları izleyin:
Important
Python bir sanal ortam (venv) kullanıyorsanız, komutları çalıştırmadan önce etkinleştirdiğinizden emin olun!
Terminal açma
Python sürümünüze bağlı olarak python veya python3 yazarak Python yorumlayıcısını başlatın.
Python yorumlayıcıda aşağıdaki komutları çalıştırın:
from requests.utils import DEFAULT_CA_BUNDLE_PATH
print(DEFAULT_CA_BUNDLE_PATH)
Sanal bir ortamda yol şu olabilir (en azından Ubuntu'da):
path/to/venv/lib/pythonX.XX/site-packages/certifi/cacert.pem
Sanal ortamın dışında yol olabilir (en azından Ubuntu'da):
/etc/ssl/certs/ca-certificates.crt
DEFAULT_CA_BUNDLE_PATH tanımladıktan sonra yeni bir terminal açın ve öykünücü sertifikasını sertifika paketine eklemek için aşağıdaki komutları çalıştırın:
Important
DEFAULT_CA_BUNDLE_PATH değişken bir sistem dizinine işaret ederse, "İzin reddedildi" hatasıyla karşılaşabilirsiniz. Bu durumda, komutları yükseltilmiş ayrıcalıklarla (kök olarak) çalıştırmanız gerekir. Ayrıca, sağlanan komutları yürütürken sertifika paketini güncelleştirmeniz ve yeniden oluşturmanız gerekir.
# Add a new line to the certificate bundle
echo >> /path/to/ca_bundle
# Append the emulator certificate to the certificate bundle
cat /path/to/emulatorcert.crt >> /path/to/ca_bundle
Node.js/JavaScript uygulamanızdan öykünücüye bağlanmak için Azure Cosmos DB API for NoSQL Node.js SDK'yı kullanın.
Boş bir klasörden başlayın.
Yeni bir modül başlatın.
npm init es6 --yes
Node Paket Yöneticisi'dan @azure/cosmos paketini yükleyin.
npm install --save @azure/cosmos
app.js dosyasını oluşturun.
CosmosClient türünü @azure/cosmos modülünden içeri aktarın.
import { CosmosClient } from '@azure/cosmos'
Yeni bir istemci örneği oluşturmak için öykünücünün kimlik bilgilerini CosmosClient kullanarak oluşturun.
const cosmosClient = new CosmosClient({
endpoint: 'https://localhost:8081/',
key: 'C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=='
})
Veritabanı ve kapsayıcı oluşturmak için Databases.createIfNotExists ve Containers.createIfNotExists kullanın.
const { database } = await cosmosClient.databases.createIfNotExists({
id: 'cosmicworks',
throughput: 400
})
const { container } = await database.containers.createIfNotExists({
id: 'products',
partitionKey: {
paths: [
'/id'
]
}
})
Items.upsert kullanarak yeni bir öğe ekleyin veya güncelleyin.
const item = {
id: '68719518371',
name: 'Kiama classic surfboard'
}
container.items.upsert(item)
Node.js uygulamasını çalıştırın.
node app.js
Warning
SSL hatası alırsanız, uygulamanız için TLS/SSL'yi devre dışı bırakmanız gerekebilir. Bu durum genellikle kapsayıcıdaki Azure Cosmos DB öykünücüsünüzü kullanarak yerel makinenizde geliştiriyorsanız ve kapsayıcının SSL sertifikasını aktarmadıysanız oluşur. Bu sorunu çözmek için, istemciyi oluşturmadan önce uygulamayı TLS/SSL doğrulamasını devre dışı bırakacak şekilde yapılandırın:
process.env.NODE_TLS_REJECT_UNAUTHORIZED = 0
.NET bir uygulamadan öykünücüye bağlanmak için MongoDB .NET sürücüsünü kullanın.
Boş bir klasörden başlayın.
Yeni bir .NET konsol uygulaması oluşturma
dotnet new console
NuGet'ten MongoDB.Driver paketini ekleyin.
dotnet add package MongoDB.Driver
Program.cs dosyasını açın.
Dosyadaki mevcut tüm içeriği silin.
MongoDB.Driver ad alanı için bir using bloğu ekleyin.
using MongoDB.Driver;
Öykünücünün MongoClient kimlik bilgilerini kullanarak yeni bir örnek oluşturun.
var client = new MongoClient(
"mongodb://localhost:C2y6yDjf5%2FR%2Bob0N8A7Cgv30VRDJIWEHLM%2B4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw%2FJw%3D%3D@localhost:10255/admin?ssl=true&retrywrites=false"
);
GetDatabase ve GetCollection<> kullanarak veritabanı ve kapsayıcı edinin.
var database = client.GetDatabase("cosmicworks");
var collection = database.GetCollection<dynamic>("products");
XXX içinde InsertOneAsync kullanarak yeni bir öğe oluşturun.
var item = new
{
name = "Kiama classic surfboard"
};
await collection.InsertOneAsync(item);
.NET uygulamasını çalıştırın.
dotnet run
Python uygulamasından öykünücüye bağlanmak için MongoDB Python sürücüsünü kullanın.
Boş bir klasörden başlayın.
pymongo paketini Python Paket Dizininden içeri aktarın.
pip install pymongo
app.py dosyasını oluşturun.
os, sysve pymongo modüllerini içeri aktarın.
import pymongo
Öykünücünün kimlik bilgilerini kullanarak bir yeni MongoClient oluşturun.
client = pymongo.MongoClient(
host=(
"mongodb://localhost:C2y6yDjf5%2FR%2Bob0N8A7Cgv30VRDJIWEHLM%2B4QDU5DE2"
"nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw%2FJw%3D%3D@localhost:10255/a"
"dmin?ssl=true"
),
tls=True,
)
list_database_names ve list_collection_names kullanarak, ardından CreateDatabase ve CreateCollection özel komutlarıyla yeni bir veritabanı ve kapsayıcı oluşturun.
db = client["cosmicworks"]
if "cosmicworks" not in client.list_database_names():
db.command(
{
"customAction": "CreateDatabase",
"offerThroughput": 400,
}
)
collection = db["products"]
if "products" not in db.list_collection_names():
db.command({"customAction": "CreateCollection", "collection": "products"})
Kapsayıcıda yeni bir öğe oluşturmak için kullanın update_one .
item = {"id": "68719518371", "name": "Kiama classic surfboard"}
collection.update_one(
filter={"id": item["id"]}, update={"$set": item}, upsert=True
)
Python uygulamasını çalıştırın.
python app.py
Node.js/JavaScript uygulamasından öykünücüye bağlanmak için MongoDB Node.js sürücüsünü kullanın.
Boş bir klasörden başlayın.
Yeni bir modül başlatın.
npm init es6 --yes
Node Paket Yöneticisi'dan mongodb paketini yükleyin.
npm install --save mongodb
app.js dosyasını oluşturun.
MongoClient türünü mongodb modülünden içeri aktarın.
import { MongoClient } from 'mongodb'
Yeni bir istemci örneği oluşturmak için öykünücünün kimlik bilgilerini MongoClient kullanarak oluşturun. Öykünücüye bağlanmak için kullanın connect .
const client = new MongoClient(
'mongodb://localhost:C2y6yDjf5%2FR%2Bob0N8A7Cgv30VRDJIWEHLM%2B4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw%2FJw%3D%3D@localhost:10255/admin?ssl=true&retrywrites=false'
)
await client.connect()
Veritabanı ve kapsayıcı oluşturmak için db ve collection kullanın.
const database = client.db('cosmicworks')
const collection = database.collection('products')
kullanarak insertOneyeni bir öğe oluşturun.
const item = {
name: 'Kiama classic surfboard'
}
await collection.insertOne(item)
Node.js uygulamasını çalıştırın.
node app.js
Warning
SSL hatası alırsanız, uygulamanız için TLS/SSL'yi devre dışı bırakmanız gerekebilir. Bu durum genellikle kapsayıcıdaki Azure Cosmos DB öykünücüsünüzü kullanarak yerel makinenizde geliştiriyorsanız ve kapsayıcının SSL sertifikasını aktarmadıysanız oluşur. Bu sorunu çözmek için, istemciyi oluşturmadan önce uygulamayı TLS/SSL doğrulamasını devre dışı bırakacak şekilde yapılandırın:
const client = new MongoClient(
...,
{ tlsAllowInvalidCertificates: true }
)
.NET uygulamasından öykünücüye bağlanmak için Apache Cassandra .NET sürücüsünü kullanın.
Boş bir klasörden başlayın.
Yeni bir .NET konsol uygulaması oluşturma
dotnet new console
NuGet'ten CassandraCSharpDriver paketini ekleyin.
dotnet add package CassandraCSharpDriver
Program.cs dosyasını açın.
Dosyadaki mevcut tüm içeriği silin.
Cassandra ad alanı için bir using bloğu ekleyin.
using Cassandra;
Öykünücünün Cluster kimlik bilgilerini kullanarak yeni bir örnek oluşturun. kullanarak Connectyeni bir oturum oluşturun.
var options = new SSLOptions(
sslProtocol: System.Security.Authentication.SslProtocols.Tls12,
checkCertificateRevocation: true,
remoteCertValidationCallback: (_, _, _, policyErrors) => policyErrors == System.Net.Security.SslPolicyErrors.None);
using var cluster = Cluster.Builder()
.WithCredentials(
username: "localhost",
password: "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="
)
.WithPort(
port: 10350
)
.AddContactPoint(
address: "localhost"
)
.WithSSL(
sslOptions: options
)
.Build();
using var session = cluster.Connect();
PrepareAsync ve ExecuteAsync kullanarak yeni bir veritabanı ve kapsayıcı oluşturun.
var createKeyspace = await session.PrepareAsync("CREATE KEYSPACE IF NOT EXISTS cosmicworks WITH replication = {'class':'basicclass', 'replication_factor': 1};");
await session.ExecuteAsync(createKeyspace.Bind());
var createTable = await session.PrepareAsync("CREATE TABLE IF NOT EXISTS cosmicworks.products (id text PRIMARY KEY, name text)");
await session.ExecuteAsync(createTable.Bind());
kullanarak ExecuteAsynctabloda yeni bir öğe oluşturun. Öğeye özellik atamak için kullanın Bind .
var item = new
{
id = "68719518371",
name = "Kiama classic surfboard"
};
var createItem = await session.PrepareAsync("INSERT INTO cosmicworks.products (id, name) VALUES (?, ?)");
var createItemStatement = createItem.Bind(item.id, item.name);
await session.ExecuteAsync(createItemStatement);
.NET uygulamasını çalıştırın.
dotnet run
Python uygulamanızdan öykünücüye bağlanmak için Apache Cassandra Python sürücüsünü kullanın.
Boş bir klasörden başlayın.
cassandra-driver paketini Python Paket Dizininden içeri aktarın.
pip install cassandra-driver
app.py dosyasını oluşturun.
Modülden PROTOCOL_TLS_CLIENT, SSLContext ve CERT_NONE öğelerini ssl modülünden içe aktarın. Ardından Cluster modülünden cassandra.cluster içeri aktarın. Son olarak PlainTextAuthProvider elemanını cassandra.auth modülünden içeri aktarın.
from ssl import PROTOCOL_TLS_CLIENT, SSLContext, CERT_NONE
from cassandra.cluster import Cluster
from cassandra.auth import PlainTextAuthProvider
kullanarak SSLContextyeni bir TLS/SSL bağlam değişkeni oluşturun. Öykünücünün kendi imzaladığı sertifikayı doğrulamamak için bağlamı yapılandırın.
ssl_context = SSLContext(PROTOCOL_TLS_CLIENT)
ssl_context.check_hostname = False
ssl_context.verify_mode = CERT_NONE
Öykünücünün kimlik bilgilerini, session, PlainTextAuthProvider, Cluster ve cluster.connect() kullanarak yeni bir session oluşturun.
auth_provider = PlainTextAuthProvider(
username="localhost",
password=(
"C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnq"
"yMsEcaGQy67XIw/Jw=="
),
)
cluster = Cluster(
["localhost"],
port="10350",
auth_provider=auth_provider,
ssl_context=ssl_context,
)
session = cluster.connect()
kullanarak session.executeyeni bir anahtar alanı ve tablo oluşturun.
session.execute(
"CREATE KEYSPACE IF NOT EXISTS cosmicworks WITH replication = {'class':'ba"
"sicclass', 'replication_factor': 1};"
)
session.execute(
"CREATE TABLE IF NOT EXISTS cosmicworks.products (id text PRIMARY KEY, nam"
"e text)"
)
Tabloda yeni bir öğe oluşturmak için kullanın session.execute .
item = {"id": "68719518371", "name": "Kiama classic surfboard"}
session.execute(
"INSERT INTO cosmicworks.products (id, name) VALUES (%s, %s)",
[item["id"], item["name"]],
)
Python uygulamasını çalıştırın.
python app.py
Node.js/JavaScript uygulamasından öykünücüyü kullanmak için Apache Cassandra Node.js sürücüsünü kullanın.
Boş bir klasörden başlayın.
Yeni bir modül başlatın.
npm init es6 --yes
Node Paket Yöneticisi'dan cassandra-driver paketini yükleyin.
npm install --save cassandra-driver
app.js dosyasını oluşturun.
Client türü ve auth ad alanını cassandra-driver modülünden içeri aktarın.
import { Client, auth } from 'cassandra-driver'
Öykünücünün kimlik bilgileri için yeni bir nesne oluşturmak amacıyla PlainTextAuthProvider kullanın. Öykünücüye kimlik bilgilerini kullanarak bağlanmak için Client kullanın.
const credentials = new auth.PlainTextAuthProvider(
'localhost',
'C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=='
)
const client = new Client({
contactPoints: [
'localhost:10350'
],
authProvider: credentials,
localDataCenter: 'South Central US'
})
Server tarafında bir komut çalıştırarak bir execute ve tablo oluşturmak için kullanın.
await client.execute(
'CREATE KEYSPACE IF NOT EXISTS cosmicworks WITH replication = {\'class\':\'basicclass\', \'replication_factor\': 1};'
)
await client.execute(
'CREATE TABLE IF NOT EXISTS cosmicworks.products (id text PRIMARY KEY, name text)'
)
Parametrelerle yeni bir öğe oluşturmak için yeniden kullanın execute .
const item = {
id: '68719518371',
name: 'Kiama classic surfboard'
}
await client.execute(
'INSERT INTO cosmicworks.products (id, name) VALUES (?, ?)',
[
item.id,
item.name
]
)
Node.js uygulamasını çalıştırın.
node app.js
Warning
SSL hatası alırsanız, uygulamanız için TLS/SSL'yi devre dışı bırakmanız gerekebilir. Bu durum genellikle kapsayıcıdaki Azure Cosmos DB öykünücüsünüzü kullanarak yerel makinenizde geliştiriyorsanız ve kapsayıcının SSL sertifikasını aktarmadıysanız oluşur. Bu sorunu çözmek için istemciyi TLS/SSL doğrulamasını devre dışı bırakacak şekilde yapılandırın:
const client = new Client({
...,
...,
...,
sslOptions: {
rejectUnauthorized: false
}
})
Important
Başlamadan önce, Apache Gremlin API için emülatörde kaynaklarınızı oluşturmanız gerekir. adlı bir veritabanı ve adlı db1coll1bir kapsayıcı oluşturun. Aktarım hızı ayarları bu kılavuz için ilgisizdir ve istediğiniz kadar düşük olarak ayarlanabilir.
.NET bir uygulamadan öykünücüye bağlanmak için Apache Gremlin .NET sürücüsünü kullanın.
Boş bir klasörden başlayın.
Yeni bir .NET konsol uygulaması oluşturma
dotnet new console
NuGet'ten Gremlin.Net paketini ekleyin.
dotnet add package Gremlin.Net
Program.cs dosyasını açın.
Dosyadaki mevcut tüm içeriği silin.
Gremlin.Net.Driver ad alanı için bir using bloğu ekleyin.
using Gremlin.Net.Driver;
Öykünücünün kimlik bilgilerini kullanarak yeni bir GremlinServer ve GremlinClient örneği oluşturun.
var server = new GremlinServer(
hostname: "localhost",
port: 65400,
username: "/dbs/db1/colls/coll1",
password: "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="
);
using var client = new GremlinClient(
gremlinServer: server,
messageSerializer: new Gremlin.Net.Structure.IO.GraphSON.GraphSON2MessageSerializer()
);
Grafiği SubmitAsync kullanarak temizleyin.
await client.SubmitAsync(
requestScript: "g.V().drop()"
);
Belirtilen parametrelerle grafiğe yeni bir öğe eklemek için yeniden kullanın SubmitAsync .
await client.SubmitAsync(
requestScript: "g.addV('product').property('id', prop_id).property('name', prop_name)",
bindings: new Dictionary<string, object>
{
{ "prop_id", "68719518371" },
{ "prop_name", "Kiama classic surfboard" }
}
);
.NET uygulamasını çalıştırın.
dotnet run
bir Python uygulamasından öykünücüye bağlanmak için Apache Gremlin Python sürücüsünü kullanın.
Boş bir klasörden başlayın.
gremlinpython paketini Python Paket Dizininden içeri aktarın.
pip install gremlinpython
app.py dosyasını oluşturun.
client'yi gremlin_python.driver modülünden içeri aktarın.
from gremlin_python.driver import client
Öykünücünün kimlik bilgilerini kullanarak bir yeni Client oluşturun.
client = client.Client(
url="ws://localhost:8901/",
traversal_source="g",
username="/dbs/db1/colls/coll1",
password=(
"C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnq"
"yMsEcaGQy67XIw/Jw=="
),
)
Grafiği client.submit kullanarak temizleyin.
client.submit(message="g.V().drop()")
Belirtilen parametrelerle grafiğe yeni bir öğe eklemek için yeniden kullanın client.submit .
client.submit(
message=(
"g.addV('product').property('id', prop_id).property('name', prop_name)"
),
bindings={
"prop_id": "68719518371",
"prop_name": "Kiama classic surfboard",
},
)
Python uygulamasını çalıştırın.
python app.py
Node.js/JavaScript uygulamasından öykünücüyü kullanmak için Apache Gremlin Node.js sürücüsünü kullanın.
Boş bir klasörden başlayın.
Yeni bir modül başlatın.
npm init es6 --yes
Node Paket Yöneticisi'dan gremlin paketini yükleyin.
npm install --save gremlin
app.js dosyasını oluşturun.
gremlin modülünü içeri aktarın.
import gremlin from 'gremlin'
Öykünücünün kimlik bilgileri için yeni bir nesne oluşturmak amacıyla PlainTextSaslAuthenticator kullanın. Öykünücüye kimlik bilgilerini kullanarak bağlanmak için Client kullanın.
const credentials = new gremlin.driver.auth.PlainTextSaslAuthenticator(
'/dbs/db1/colls/coll1',
'C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=='
)
const client = new gremlin.driver.Client(
'ws://localhost:8901/',
{
credentials,
traversalsource: 'g',
rejectUnauthorized: false,
mimeType: 'application/vnd.gremlin-v2.0+json'
}
)
client.open()
Sunucu tarafında grafiği temizlemek üzere, zaten verisi varsa bir komut çalıştırmak için submit kullanın.
await client.submit('g.V().drop()')
Belirtilen parametrelerle grafiğe yeni bir öğe eklemek için yeniden kullanın submit .
await client.submit(
'g.addV(\'product\').property(\'id\', prop_id).property(\'name\', prop_name)', {
prop_id: '68719518371',
prop_name: 'Kiama classic surfboard'
}
)
Node.js uygulamasını çalıştırın.
node app.js
.NET uygulamasından öykünücüye bağlanmak için Azure Tablolar SDK'sını kullanın.
Boş bir klasörden başlayın.
Yeni bir .NET konsol uygulaması oluşturma
dotnet new console
NuGet'ten Azure.Data.Tables paketini ekleyin.
dotnet add package Azure.Data.Tables
Program.cs dosyasını açın.
Dosyadaki mevcut tüm içeriği silin.
Azure.Data.Tables ad alanı için bir using bloğu ekleyin.
using Azure.Data.Tables;
Öykünücünün TableServiceClient kimlik bilgilerini kullanarak yeni bir örnek oluşturun.
var serviceClient = new TableServiceClient(
connectionString: "DefaultEndpointsProtocol=http;AccountName=localhost;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;TableEndpoint=http://localhost:8902/;"
);
GetTableClient kullanarak tablonun adıyla TableClient'in yeni bir örneğini oluşturun. Ardından, CreateIfNotExistsAsync kullanarak tablonun mevcut olduğundan emin olun.
var client = serviceClient.GetTableClient(
tableName: "cosmicworksproducts"
);
await client.CreateIfNotExistsAsync();
Öğeler için yeni bir record türü oluşturun.
public record Product : Azure.Data.Tables.ITableEntity
{
public required string RowKey { get; set; }
public required string PartitionKey { get; set; }
public required string Name { get; init; }
public Azure.ETag ETag { get; set; }
public DateTimeOffset? Timestamp { get; set; }
}
UpsertEntityAsync ve Replace modunu kullanarak tabloda yeni bir öğe oluşturun.
var item = new Product
{
RowKey = "68719518371",
PartitionKey = "Surfboards",
Name = "Kiama classic surfboard",
Timestamp = DateTimeOffset.Now
};
await client.UpsertEntityAsync(
entity: item,
mode: TableUpdateMode.Replace
);
.NET uygulamasını çalıştırın.
dotnet run
Python bir uygulamadan öykünücüye bağlanma için Azure Tables Python SDK kullanın.
Boş bir klasörden başlayın.
azure-data-tables paketini Python Paket Dizininden içeri aktarın.
pip install azure-data-tables
app.py dosyasını oluşturun.
TableServiceClient ve UpdateMode öğelerini azure.data.tables modülünden içeri aktarın.
from azure.data.tables import TableServiceClient, UpdateMode
Yeni bir hizmet düzeyi istemcisi oluşturmak için kullanın TableServiceClient.from_connection_string .
service = TableServiceClient.from_connection_string(
conn_str=(
"DefaultEndpointsProtocol=http;AccountName=localhost;AccountKey=C2y6yD"
"jf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEca"
"GQy67XIw/Jw==;TableEndpoint=http://localhost:8902/;"
)
)
kullanarak create_table_if_not_existsyeni bir tablo düzeyinde istemci oluşturun.
client = service.create_table_if_not_exists(table_name="cosmicworksproducts")
Kapsayıcıda yeni bir öğe oluşturmak için kullanın upsert_entity .
item = {
"PartitionKey": "68719518371",
"RowKey": "Surfboards",
"name": "Kiama classic surfboard",
}
client.upsert_entity(entity=item, mode=UpdateMode.REPLACE)
Python uygulamasını çalıştırın.
python app.py
Node.js/JavaScript uygulamanızda öykünücüyü kullanmak için Azure Tables JavaScript SDK'sini kullanın.
Boş bir klasörden başlayın.
Yeni bir modül başlatın.
npm init es6 --yes
Node Paket Yöneticisi'dan @azure/data-tables paketini yükleyin.
npm install --save @azure/data-tables
app.js dosyasını oluşturun.
TableClient türünü @azure/data-tables modülünden içeri aktarın.
import { TableClient } from '@azure/data-tables'
Öykünücünün bağlantı dizesini kullanarak yeni bir istemci örneği oluşturmak için TableClient.fromConnectionString kullanın.
const client = TableClient.fromConnectionString(
'DefaultEndpointsProtocol=http;AccountName=localhost;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;TableEndpoint=http://localhost:8902/;',
'cosmicworksproducts'
)
Henüz yoksa yeni bir tablo oluşturmak için kullanın createTable .
await client.createTable()
Öğeyi oluşturmak veya değiştirmek için kullanın upsertEntity .
const item = {
partitionKey: '68719518371',
rowKey: 'Surfboards',
name: 'Kiama classic surfboard'
}
await client.upsertEntity(
item,
'Replace'
)
Node.js uygulamasını çalıştırın.
node app.js
Warning
SSL hatası alırsanız, uygulamanız için TLS/SSL'yi devre dışı bırakmanız gerekebilir. Bu durum genellikle kapsayıcıdaki Azure Cosmos DB öykünücüsünüzü kullanarak yerel makinenizde geliştiriyorsanız ve kapsayıcının SSL sertifikasını aktarmadıysanız oluşur. Bu sorunu çözmek için istemciyi TLS/SSL doğrulamasını devre dışı bırakacak şekilde yapılandırın:
const client = TableClient.fromConnectionString(
...,
...,
{
allowInsecureConnection: true
}
)
GitHub Actions CI iş akışında öykünücü kullanma
Uygulamanızı otomatik olarak doğrulayan sürekli tümleştirme iş yükünü çalıştırmak için, seçtiğiniz çerçeveden bir test paketiyle Azure Cosmos DB öykünücüsü kullanın. Azure Cosmos DB emülatörü, GitHub Actions'ın barındırılan çalıştırıcılarının windows-latest varyantına önceden yüklenmiştir.
.NET için yerleşik test sürücüsünü ve MSTest, NUnit veya XUnit gibi bir test çerçevesi kullanarak bir test paketi çalıştırın.
Uygulamanız için birim test paketinin beklendiği gibi çalıştığını doğrulayın.
dotnet test
GitHub deponuzda .github/workflows/ci.yml adlı bir dosyada yeni bir iş akışı oluşturun.
PowerShell kullanarak Azure Cosmos DB öykünücüyü başlatmak ve birim test paketinizi çalıştırmak için iş akışınıza bir iş ekleyin.
name: Continuous Integration
on:
push:
branches:
- main
jobs:
unit_tests:
name: Run .NET unit tests
runs-on: windows-latest
steps:
- name: Checkout (GitHub)
uses: actions/checkout@v3
- name: Start Azure Cosmos DB emulator
run: |
Write-Host "Launching Cosmos DB Emulator"
Import-Module "$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules\Microsoft.Azure.CosmosDB.Emulator"
Start-CosmosDbEmulator
- name: Run .NET tests
run: dotnet test
pytest kullanarak Python uygulamanızı ve veritabanı işlemlerinizi test edin.
Uygulamanız için birim test paketinin beklendiği gibi çalıştığını doğrulayın.
pip install -U pytest
pytest
GitHub deponuzda .github/workflows/ci.yml adlı bir dosyada yeni bir iş akışı oluşturun.
PowerShell kullanarak Azure Cosmos DB öykünücüyü başlatmak ve birim test paketinizi çalıştırmak için iş akışınıza bir iş ekleyin.
name: Continuous Integration
on:
push:
branches:
- main
jobs:
unit_tests:
name: Run Python unit tests
runs-on: windows-latest
steps:
- name: Checkout (GitHub)
uses: actions/checkout@v3
- name: Start Azure Cosmos DB emulator
run: |
Write-Host "Launching Cosmos DB Emulator"
Import-Module "$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules\Microsoft.Azure.CosmosDB.Emulator"
Start-CosmosDbEmulator
- name: Install test runner
run: pip install pytest
- name: Run Python tests
run: pytest
Node.js uygulamanızı ve veritabanı değişikliklerini test etmek için kullanın mocha .
Uygulamanız için birim test paketinin beklendiği gibi çalıştığını doğrulayın.
npm install --global mocha
mocha
GitHub deponuzda .github/workflows/ci.yml adlı bir dosyada yeni bir iş akışı oluşturun.
PowerShell kullanarak Azure Cosmos DB öykünücüyü başlatmak ve birim test paketinizi çalıştırmak için iş akışınıza bir iş ekleyin.
name: Continuous Integration
on:
push:
branches:
- main
jobs:
unit_tests:
name: Run Node.js unit tests
runs-on: windows-latest
steps:
- name: Checkout (GitHub)
uses: actions/checkout@v3
- name: Start Azure Cosmos DB emulator
run: |
Write-Host "Launching Cosmos DB Emulator"
Import-Module "$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules\Microsoft.Azure.CosmosDB.Emulator"
Start-CosmosDbEmulator
- name: Install test runner
run: npm install --global mocha
- name: Run Node.js tests
run: mocha
Sonraki adım