Hızlı Başlangıç: Azure veritabanı verilerini yönetmek için java Cosmos Tablo API'si oluşturma

Uygulama hedefı: tablo API'si

Bu hızlı başlangıçta bir Azure Cosmos DB Tablo API'si hesabı oluşturur ve Veri Gezgini'den kopyalanan bir Java uygulamasını kullanarak GitHub ve varlık oluşturursınız. Azure Cosmos DB, genel dağıtım ve yatay ölçek özellikleriyle belge, tablo, anahtar-değer ve grafik veritabanlarını hızlı bir şekilde oluşturmanıza ve sorgulamanızı sağlayan çok modelli bir veritabanı hizmetidir.

Önkoşullar

Veritabanı hesabı oluşturma

Önemli

Genel olarak kullanılabilir Tablo API’si SDK’ları ile çalışmak için yeni bir Tablo API’si hesabı oluşturmanız gerekir. Önizleme sırasında oluşturulan Tablo API’si hesapları genel olarak kullanılabilir SDK’lar tarafından desteklenmez.

  1. Yeni bir tarayıcı penceresinde Azure portalında oturum açın.

  2. Sol menüde Kaynak oluştur'a tıklayın.

    Azure portalında kaynak oluşturma

  3. Yeni sayfasında Veritabanları Azure veritabanı > veritabanı'Cosmos seçin.

    Azure portalındaki Veritabanları bölmesi

  4. Azure veritabanı Cosmos veritabanı hesabı oluştur sayfasında, yeni Azure Cosmos DB hesabının 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 , ardından Hesap Adı oluşturun Yeni oluştur’u seçin. Ardından hesabınız için yeni bir kaynak grubu adı girin. Kolaylık olması için Azure veritabanı veritabanı hesap adınızla Cosmos kullanın.
    Hesap Adı Benzersiz bir ad Azure Cosmos DB hesabınızı tanımlayan benzersiz bir ad girin.

    Hesap adı yalnızca küçük harf, rakam ve kısa çizgi (-) kullanabilir ve 3 ile 44 karakter uzunluğunda olmalıdır.
    API Tablo API, oluşturulacak hesap türünü belirler. Azure Cosmos DB beş API sağlar: Belge veritabanları için çekirdek (SQL), 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.

    Azure Tablosu'Tablo API'si. Bu hızlı başlangıçta, tabloyla çalışan bir tablo Tablo API'si.

    hakkında daha fazla bilgi Tablo API'si.
    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ı'ı seçin. Sunucusuz modda bir hesap oluşturmak için Sunucusuz'ı seçin.

    Ek ücretlerden kaçınmak için Devre Dışı Bırak'da Coğrafi Yedeklilik ve Çok Bölgeli Yazma seçeneklerini bırakın ve Ağ ve Etiketler bölümlerini atlayabilirsiniz.

  5. Gözden geçir+Oluştur'a seçin. Doğrulama tamamlandıktan sonra oluştur'a seçerek hesabı oluşturun.

    Azure Cosmos DB için yeni hesap sayfası

  6. Hesabın oluşturulması birkaç dakika sürer. Dağıtımınız devam ediyor iletisiyle karşınıza çıktı. Dağıtımın bitip Kaynağa git'i seçin.

    Azure portal bildirimleri bölmesi

Tablo ekleme

Şimdi bir veritabanı ve tablo oluşturmak için Azure portalında Veri Gezgini aracını kullanabilirsiniz.

  1. Yeni > Veri Gezgini'ı seçin.

    Tablo Ekle alanı en sağda görüntülenir, görmek için sağa kaydırmanız gerekebilir.

    Azure portalında Veri Gezgini

  2. Tablo Ekle sayfasında, yeni tablo için ayarları girin.

    Ayar Önerilen değer Açıklama
    Tablo kimliği sample-table Yeni tablonuzun kimliği. Tablo adı karakter gereksinimleri, veritabanı kimliklerine ilişkin karakter gereksinimleri ile aynıdır. Veritabanı adı 1 ile 255 karakter arasında olmalı, / \ # ? içermemeli ve boşlukla bitmemelidir.
    Aktarım hızı 400 RU Aktarım hızını saniyede 400 istek birimi (RU/s) olarak değiştirin. Daha sonra gecikme süresini azaltmak isterseniz işlem hızının ölçeğini artırabilirsiniz.
  3. Tamam’ı seçin.

  4. Veri Gezgini, yeni veritabanını ve tabloyu görüntüler.

    Yeni veritabanını ve koleksiyonu gösteren Azure portalı Veri Gezgini

Örnek verileri ekleme

Şimdi Veri Gezgini'ni kullanarak yeni tablonuza veri ekleyebilirsiniz.

  1. Veri Gezgini ' de, örnek tablo' yı genişletin, varlıklar' ı seçin ve varlık Ekle' yi seçin.

    Azure portalındaki Veri Gezgini'nde yeni varlık oluşturma

  2. Şimdi PartitionKey değer kutusuna ve RowKey değer kutusuna veri ekleyin ve varlık Ekle' yi seçin.

    Yeni bir varlık için Bölüm Anahtarını ve Satır Anahtarını ayarlama

    Artık tablonuza daha fazla varlık ekleyebilir, varlıklarınızı düzenleyebilir veya Veri Gezgini’nde verilerinizi sorgulayabilirsiniz. Veri Gezgini ayrıca aktarım hızınızı ölçeklendirebileceğiniz ve tablonuza depolanmış yordamlar, kullanıcı tarafından tanımlanmış işlevler ve tetikleyiciler ekleyebileceğiniz yerdir.

Örnek uygulamayı kopyalama

Şimdi GitHub'dan bir Tablo uygulaması kopyalayalım, bağlantı dizesini ayarlayalım ve uygulamayı çalıştıralım. Verilerle program aracılığıyla çalışmanın ne kadar kolay olduğunu göreceksiniz.

  1. Bir komut istemini açın, git-samples adlı yeni bir klasör oluşturun ve komut istemini kapatın.

    md "C:\git-samples"
    
  2. 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"
    
  3. Ö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/storage-table-java-getting-started.git 
    

İpucu

Benzer kodun daha ayrıntılı bir yolu için Cosmos DB Tablo API'si makalesine bakın.

Kodu gözden geçirin

Bu adım isteğe bağlıdır. Veritabanı kaynaklarının kodda nasıl oluşturulduğunu öğrenmekle ilgileniyorsanız, aşağıdaki kod parçacıklarını gözden geçirebilirsiniz. Aksi takdirde, bu belgenin bağlantı dizesi bölümünü güncelleştirmek için ileri atlayabilirsiniz.

  • Aşağıdaki kod, Azure depolama hesabı içinde tablo oluşturma Depolama:

    private static CloudTable createTable(CloudTableClient tableClient, String tableName) throws StorageException, RuntimeException, IOException, InvalidKeyException,   IllegalArgumentException, URISyntaxException, IllegalStateException {
    
      // Create a new table
      CloudTable table = tableClient.getTableReference(tableName);
      try {
          if (table.createIfNotExists() == false) {
              throw new IllegalStateException(String.format("Table with name \"%s\" already exists.", tableName));
          }
      }
      catch (StorageException s) {
          if (s.getCause() instanceof java.net.ConnectException) {
              System.out.println("Caught connection exception from the client. If running with the default configuration please make sure you have started the storage emulator.");
          }
          throw s;
      }
    
      return table;
    }
    
  • Aşağıdaki kod, tabloya veri eklemeyi gösterir:

    private static void batchInsertOfCustomerEntities(CloudTable table) throws StorageException {
    
    // Create the batch operation
    TableBatchOperation batchOperation1 = new TableBatchOperation();
    for (int i = 1; i <= 50; i++) {
        CustomerEntity entity = new CustomerEntity("Smith", String.format("%04d", i));
        entity.setEmail(String.format("smith%04d@contoso.com", i));
        entity.setHomePhoneNumber(String.format("425-555-%04d", i));
        entity.setWorkPhoneNumber(String.format("425-556-%04d", i));
        batchOperation1.insertOrMerge(entity);
    }
    
    // Execute the batch operation
    table.execute(batchOperation1);
    }
    
  • Aşağıdaki kod, tablodaki verilerin nasıl sorgulay olduğunu gösterir:

    private static void partitionScan(CloudTable table, String partitionKey) throws StorageException {
    
        // Create the partition scan query
        TableQuery<CustomerEntity> partitionScanQuery = TableQuery.from(CustomerEntity.class).where(
            (TableQuery.generateFilterCondition("PartitionKey", QueryComparisons.EQUAL, partitionKey)));
    
        // Iterate through the results
        for (CustomerEntity entity : table.execute(partitionScanQuery)) {
            System.out.println(String.format("\tCustomer: %s,%s\t%s\t%s\t%s", entity.getPartitionKey(), entity.getRowKey(), entity.getEmail(), entity.getHomePhoneNumber(), entity.  getWorkPhoneNumber()));
        }
    }
    
  • Aşağıdaki kod, tablodaki verilerin nasıl silineceklerini gösterir:

    
    System.out.print("\nDelete any tables that were created.");
    
    if (table1 != null && table1.deleteIfExists() == true) {
        System.out.println(String.format("\tSuccessfully deleted the table: %s", table1.getName()));
    }
    
    if (table2 != null && table2.deleteIfExists() == true) {
        System.out.println(String.format("\tSuccessfully deleted the table: %s", table2.getName()));
    }
    

Bağlantı dizenizi güncelleştirme

Bu adımda Azure portalına dönerek bağlantı dizesi bilgilerinizi kopyalayıp uygulamaya ekleyin. Bu, uygulamanızın barındırılan veritabanıyla iletişim kurmasına olanak tanır.

  1. Azure Cosmos DB hesabınızla bağlantı Azure portalDize'yi seçin.

    Bağlantı Dizesi bölmesinde bağlantı dizesi bilgilerini görüntüleme

  2. Sağ taraftaki kopyala düğmesini kullanarak PRIMARY CONNECTION STRING’i kopyalayın.

  3. C:\git-samples\storage-table-java-getting-started\src\main\resources klasöründen config.properties dosyasını açın.

  4. Birinci satırı açıklama satırı yapın ve ikinci satırın açıklamasını kaldırın. İlk iki satır şöyle görünmelidir.

    #StorageConnectionString = UseDevelopmentStorage=true
    StorageConnectionString = DefaultEndpointsProtocol=https;AccountName=[ACCOUNTNAME];AccountKey=[ACCOUNTKEY]
    
  5. Portaldan PRIMARY CONNECTION STRING değerini 2. satırda StorageConnectionString değerine yapıştırın.

    Önemli

    Uç noktanız documents.azure.com kullanıyorsa, bir önizleme hesabınız var demektir ve genel olarak kullanılabilir Tablo API’si SDK’ları ile çalışmak için yeni bir Tablo API’si hesabı oluşturmanız gerekir.

  6. config.properties dosyasını kaydedin.

Bu adımlarla uygulamanıza Azure Cosmos DB ile iletişim kurması için gereken tüm bilgileri eklemiş oldunuz.

Uygulamayı çalıştırma

  1. Git terminal penceresinde cd komutuyla storage-table-java-getting-started klasörüne ulaşın.

    cd "C:\git-samples\storage-table-java-getting-started"
    
  2. Git terminal penceresinde aşağıdaki komutları çalıştırarak Java uygulamasını çalıştırın.

    mvn compile exec:java 
    

    Konsol penceresi, Azure Cosmos DB içinde yeni tablo veritabanına eklenen tablo verilerini görüntüler.

    Artık bu yeni verileri Veri Gezgini, sorgular, değiştirme ve bu verilerle çalışabilirsiniz.

Azure portalında SLA'ları gözden geçirme

Bu Azure portal, Cosmos DB aktarım hızı, depolama alanı, kullanılabilirlik, gecikme süresi ve tutarlılığı izler. Bir Azure Cosmos DB Hizmet Düzeyi Sözleşmesi (SLA) ile ilişkili ölçümler, gerçek performansla karşılaştırıldığında SLA değerini gösterir. Bu ölçüm paketi, SLA'larınızı izlemenizi saydam hale gelir.

Ölçümleri ve SLA'ları gözden geçirmek için:

  1. Hesap gezinti Cosmos DB Ölçümler'i seçin.

  2. Gecikme süresi gibi bir sekme seçin ve sağdan bir zaman çerçevesi seçin. Grafiklerde Gerçek ve SLA çizgilerini karşılaştırın.

    Azure Cosmos DB ölçüm paketi

  3. Diğer sekmelerde ölçümleri gözden geçirme.

Kaynakları temizleme

Uygulama ve hesap hesabınızla Azure Cosmos DB, daha fazla ücret ödemeden oluşturduğunuz Azure kaynaklarını silebilirsiniz. Kaynakları silmek için:

  1. Arama Azure portal kaynak grupları için arama ve seçimlerini kullanın.

  2. Listeden bu hızlı başlangıç için oluşturduğunuz kaynak grubunu seçin.

    Silinecek kaynak grubunu seçin

  3. Kaynak grubunun Genel Bakış sayfasında Kaynak grubunu sil'i seçin.

    Kaynak grubunu silme

  4. Sonraki pencerede, silinecek kaynak grubunun adını girin ve Sil'i seçin.

Sonraki adımlar

Bu hızlı başlangıçta Azure Cosmos DB hesabı oluşturma, Veri Gezgini kullanarak tablo oluşturma ve tablo verilerini eklemek için bir Java uygulaması çalıştırmayı öğrendiniz. Şimdi Tablo API'sini kullanarak verilerinizi sorgulayabilirsiniz.