Hızlı Başlangıç: Python SDK’sı ve Azure Cosmos DB ile bir Cassandra uygulaması oluşturma
ŞUNLAR IÇIN GEÇERLIDIR: Cassandra
Bu hızlı başlangıçta Apache Cassandra için Azure Cosmos DB hesabı oluşturacak ve GitHub'dan kopyalanan cassandra Python uygulamasını kullanarak cassandra veritabanı ve kapsayıcısı oluşturacaksınız. Azure Cosmos DB, genel dağıtım ve yatay ölçek özelliklerine sahip belge, tablo, anahtar-değer ve grafik veritabanlarını hızla oluşturmanıza ve sorgulamanıza olanak tanıyan çok modelli bir veritabanı hizmetidir.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir tane oluşturun. Alternatif olarak Azure aboneliği olmadan Azure Cosmos DB'yi ücretsiz olarak da deneyebilirsiniz .
- Python 3.7+.
- Git'i seçin.
- Apache Cassandra için Python Sürücüsü.
Veritabanı hesabı oluşturma
Bir belge veritabanı oluşturmadan önce Azure Cosmos DB ile bir Cassandra hesabı oluşturmanız gerekir.
Azure portal menüsünden veya Giriş sayfasındaKaynak oluştur'u seçin.
Yeni sayfasında Azure Cosmos DB'yi arayın ve seçin.
Azure Cosmos DB sayfasında Oluştur'u seçin.
API sayfasında Cassandra bölümünün altında Oluştur'u seçin.
API, oluşturulacak hesap türünü belirler. Azure Cosmos DB beş API sağlar: Belge veritabanları için NoSQL, graf veritabanları için Gremlin, belge veritabanları için MongoDB, Azure Tablosu ve Cassandra. Her API için ayrı bir hesap oluşturmanız gerekir.
Cassandra'yı seçin çünkü bu hızlı başlangıçta Cassandra API'siyle çalışan bir tablo oluşturuyorsunuz.
Azure Cosmos DB Hesabı Oluştur sayfasında yeni Azure Cosmos DB hesabının temel ayarlarını girin.
Ayar Değer Açıklama Abonelik Aboneliğiniz Bu Azure Cosmos DB hesabı için kullanmak istediğiniz Azure aboneliğini seçin. Kaynak Grubu Yeni oluştur
Ardından Hesap Adı ile aynı adı girinYeni oluştur’u seçin. Ardından hesabınız için yeni bir kaynak grubu adı girin. Kolaylık olması için Azure Cosmos DB hesap adınızla aynı adı kullanın. Hesap Adı Benzersiz bir ad girin Azure Cosmos DB hesabınızı tanımlayan benzersiz bir ad girin. Hesap URI'niz benzersiz hesap adınızın sonuna cassandra.cosmos.azure.com eklenir.
Hesap adı yalnızca küçük harf, sayı ve kısa çizgi (-) kullanabilir ve 3 ile 31 karakter uzunluğunda olmalıdır.Konum Kullanıcılarınıza en yakın bölge Azure Cosmos DB hesabınızın barındırılacağı coğrafi konumu seçin. Verilere en hızlı erişimi sağlamak için kullanıcılarınıza en yakın olan konumu kullanın. Kapasite modu Sağlanan aktarım hızı veya Sunucusuz Sağlanan aktarım hızı modunda hesap oluşturmak için Sağlanan aktarım hızı'na tıklayın. Sunucusuz modda hesap oluşturmak için Sunucusuz'u seçin. Azure Cosmos DB ücretsiz katman indirimi uygulama Uygula veya Uygula Azure Cosmos DB ücretsiz katmanı ile bir hesapta ilk 1000 RU/sn ve 25 GB depolama alanını ücretsiz olarak alırsınız. Ücretsiz katman hakkında daha fazla bilgi edinin. Toplam hesap aktarım hızını sınırla Hesabın aktarım hızını sınırlamak için seçin Hesabın toplam aktarım hızını belirli bir değerle sınırlamak istiyorsanız bu yararlı olur. Not
Azure aboneliği başına en fazla bir ücretsiz katman Azure Cosmos DB hesabınız olabilir ve hesabı oluştururken bu hesabı kabul etmeniz gerekir. Ücretsiz katman indirimini uygulama seçeneğini görmüyorsanız bu, abonelikteki başka bir hesabın ücretsiz katmanla zaten etkinleştirildiği anlamına gelir.
Genel Dağıtım sekmesinde aşağıdaki ayrıntıları yapılandırın. Bu hızlı başlangıcın amacı için varsayılan değerleri bırakabilirsiniz:
Ayar Değer Açıklama Coğrafi Yedeklilik Devre Dışı Bırak Bölgenizi bir çift bölgeyle eşleştirerek hesabınızda genel dağıtımı etkinleştirin veya devre dışı bırakın. Daha sonra hesabınıza daha fazla bölge ekleyebilirsiniz. Birden Çok Bölgeli Yazmalar Devre Dışı Bırak Çok bölgeli yazma özelliği, dünya genelindeki veritabanlarınız ve kapsayıcılarınız için sağlanan aktarım hızının avantajlarından yararlanmanızı sağlar. Kullanılabilirlik Alanları Devre Dışı Bırak Kullanılabilirlik Alanları, Bir Azure bölgesi içindeki yalıtılmış konumlardır. Her alan bağımsız güç, soğutma ve ağ bağlantısı ile donatılmış bir veya daha fazla veri merkezinden oluşur. Not
Kapasite modu olarak Sunucusuz seçeneğini belirlediğinizde aşağıdaki seçenekler kullanılamaz:
- Ücretsiz Katman İndirimi Uygula
- Coğrafi yedeklilik
- Birden Çok Bölgeli Yazmalar
İsteğe bağlı olarak, aşağıdaki sekmelerde ek ayrıntıları yapılandırabilirsiniz:
- Ağ - Sanal ağdan erişimi yapılandırın.
- Yedekleme İlkesi - Düzenli veya sürekli yedekleme ilkesini yapılandırın.
- Şifreleme - Hizmet tarafından yönetilen anahtar veya müşteri tarafından yönetilen anahtar kullanın.
- Etiketler - Etiketler, birden çok kaynağa ve kaynak grubuna aynı etiketi uygulayarak kaynakları kategorilere ayırmanızı ve birleştirilmiş faturalamayı görüntülemenizi sağlayan ad/değer çiftleridir.
Gözden geçir ve oluştur’u seçin.
Hesap ayarlarını gözden geçirip Oluştur seçeneğini belirleyin. Hesabın oluşturulması birkaç dakika sürer. Portal sayfasında Dağıtımınız tamamlandı iletisinin görüntülenmesini bekleyin.
Azure Cosmos DB hesabı sayfasına gitmek için Kaynağa git seçeneğini belirleyin.
Örnek uygulamayı kopyalama
Şimdi GitHub'dan Cassandra uygulaması için bir API kopyalayalım, bağlantı dizesini ayarlayalım ve çalıştıralım. Verilerle program aracılığıyla çalışmanın ne kadar kolay olduğunu görürsünüz.
Bir komut istemi açın.
git-samples
adlı yeni bir klasör oluşturun. Ardından, komut istemini kapatın.md "C:\git-samples"
Git Bash gibi bir Git terminal penceresi açın ve örnek uygulamayı yüklemek üzere yeni bir klasör olarak değiştirmek için
cd
komutunu kullanın.cd "C:\git-samples"
Örnek depoyu kopyalamak için aşağıdaki komutu çalıştırın. Bu komut bilgisayarınızda örnek uygulamanın bir kopyasını oluşturur.
git clone https://github.com/Azure-Samples/azure-cosmos-db-cassandra-python-getting-started.git
Kodu gözden geçirin
Bu adım isteğe bağlıdır. Kodun veritabanı kaynaklarını nasıl oluşturduğunu öğrenmek istiyorsanız aşağıdaki kod parçacıklarını gözden geçirebilirsiniz. Kod parçacıklarının tümü pyquickstart.py dosyasından alınır. Aksi durumda, Bağlantı dizenizi güncelleştirme bölümüne atlayabilirsiniz.
cluster
ile başlatılırcontactPoint
veport
Azure portal alınan bilgiler. dahacluster
sonra yöntemini kullanarak Apache Cassandra için Azure Cosmos DB'yeconnect()
bağlanır. Kullanıcı adı, parola ve varsayılan sertifika veya yapılandırma dosyası içinde bir sertifika sağlarsanız açık bir sertifika kullanılarak yetkili bir bağlantı kurulur.ssl_context = SSLContext(PROTOCOL_TLSv1_2) ssl_context.verify_mode = CERT_NONE auth_provider = PlainTextAuthProvider(username=cfg.config['username'], password=cfg.config['password']) cluster = Cluster([cfg.config['contactPoint']], port = cfg.config['port'], auth_provider=auth_provider,ssl_context=ssl_context) session = cluster.connect()
Yeni bir anahtar alanı oluşturulur.
print ("\nCreating Keyspace") execute_command('CREATE KEYSPACE IF NOT EXISTS uprofile WITH replication = {\'class\': \'NetworkTopologyStrategy\', \'datacenter\' : \'1\' }');
Yeni bir tablo oluşturulur.
print ("\nCreating Table") execute_command('CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)');
Anahtar/değer varlıkları eklenir.
execute_command("INSERT INTO uprofile.user (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [1,'Lybkov','Seattle']) execute_command("INSERT INTO uprofile.user (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [2,'Doniv','Dubai']) execute_command("INSERT INTO uprofile.user (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [3,'Keviv','Chennai']) execute_command("INSERT INTO uprofile.user (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [4,'Ehtevs','Pune']) execute_command("INSERT INTO uprofile.user (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [5,'Dnivog','Belgaum']) execute_command("INSERT INTO uprofile.user (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [6,'Ateegk','Narewadi']) execute_command("INSERT INTO uprofile.user (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [7,'KannabbuS','Yamkanmardi']) execute_command("INSERT INTO uprofile.user (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [8,'Jonas','Atlanta'])
Tüm anahtar değerlerini almak için sorgu.
print ("\nSelecting All") rows = session.execute('SELECT * FROM uprofile.user') PrintTable(rows)
Bir anahtar-değeri almak için sorgu.
print ("\nSelecting Id=1") rows = session.execute('SELECT * FROM uprofile.user where user_id=1') PrintTable(rows)
Bağlantı dizenizi güncelleştirme
Bu adımda Azure portalına dönerek bağlantı dizesi bilgilerinizi kopyalayıp uygulamaya ekleyin. Bağlantı dizesi, uygulamanızın barındırılan veritabanıyla iletişim kurmasına olanak tanır.
Azure portal Azure Cosmos DB hesabınızda Bağlantı Dizesi'ni seçin.
Üstteki değer olan CONTACT POINT değerini kopyalamak için ekranın sağ tarafındaki düğmeyi kullanın.
config.py dosyasını açın.
Portaldan CONTACT POINT değerini 10. satırda
<FILLME>
üzerine yapıştırın.10. satır şuna benzer şekilde görünmelidir:
'contactPoint': 'cosmos-db-quickstarts.cassandra.cosmosdb.azure.com'
Portaldan
<FILLME>
PORT değerini 12. satıra yapıştırın.12. satır şuna benzer görünmelidir:
'port': 10350,
Portaldan USERNAME değerini kopyalayın ve 6. satırda
<FILLME>
üzerine yapıştırın.6. satır şuna benzer şekilde görünmelidir:
'username': 'cosmos-db-quickstart',
Portaldan PASSWORD değerini kopyalayın ve 8. satırda
<FILLME>
üzerine yapıştırın.8. satır şuna benzer şekilde görünmelidir:
'password' = '2Ggkr662ifxz2Mg==
';`config.py dosyasını kaydedin.
Python uygulamasını çalıştırma
azure-cosmos-db-cassandra-python-getting-started
klasörüne geçmek için git terminalindeki cd komutunu kullanın.Gerekli modülleri yüklemek için aşağıdaki komutları çalıştırın:
python -m pip install cassandra-driver==3.20.2 python -m pip install prettytable python -m pip install requests python -m pip install pyopenssl
Not
Cassandra api'siyle kullanmak üzere Python sürücüsü 3.20.2 sürümünü öneririz. Daha yüksek sürümler hatalara neden olabilir.
Python uygulamanızı başlatmak için aşağıdaki komutu çalıştırın:
python pyquickstart.py
Sonuçların beklendiği gibi olduğunu komut satırından kontrol edin.
Programın yürütülmesini durdurmak ve konsol penceresini kapatmak için CTRL+C tuşlarına basın.
Azure portalında bu yeni verileri sorgulamak, değiştirmek ve birlikte çalışmak için Veri Gezgini'ni açın.
Azure portalında SLA'ları gözden geçirme
Azure portal Azure Cosmos DB hesabınızın aktarım hızını, depolama alanını, kullanılabilirliğini, gecikme süresini ve tutarlılığını izler. Azure Cosmos DB Hizmet Düzeyi Sözleşmesi (SLA) ile ilişkili ölçümler için grafikler, gerçek performansla karşılaştırıldığında SLA değerini gösterir. Bu ölçüm paketi SLA'larınızı izlemeyi saydam hale getirir.
Ölçümleri ve SLA'ları gözden geçirmek için:
Azure Cosmos DB hesabınızın gezinti menüsünde Ölçümler'i seçin.
Gecikme süresi gibi bir sekme seçin ve sağ tarafta bir zaman çerçevesi seçin. Grafiklerdeki Gerçek ve SLA çizgilerini karşılaştırın.
Diğer sekmelerdeki ölçümleri gözden geçirin.
Kaynakları temizleme
Uygulamanız ve Azure Cosmos DB hesabınızla işiniz bittiğinde, daha fazla ücret ödemeden oluşturduğunuz Azure kaynaklarını silebilirsiniz. Kaynakları silmek için:
Azure portal Arama çubuğunda Kaynak grupları'nı arayın ve seçin.
Listeden bu hızlı başlangıç için oluşturduğunuz kaynak grubunu seçin.
Kaynak grubuna Genel Bakış sayfasında Kaynak grubunu sil'i seçin.
Sonraki pencerede, silinecek kaynak grubunun adını girin ve sil'i seçin.
Sonraki adımlar
Bu hızlı başlangıçta Cassandra için API ile Azure Cosmos DB hesabı oluşturmayı ve Cassandra veritabanı ve kapsayıcısı oluşturan bir Cassandra Python uygulamasını çalıştırmayı öğrendiniz. Artık diğer verileri Azure Cosmos DB hesabınıza aktarabilirsiniz.