Aracılığıyla paylaş


Gelişmiş bağlayıcı örneği

Bu örnek, Gelişmiş bağlayıcılar (önizleme) bölümünde açıklanan gelişmiş bağlayıcı protokollerini uygular. Bu örnek github.com/microsoft/power-fx-enhanced-connector konumunda bulunur.

Bu örnek, aşağıdaki .NET 8 C# projelerini içeren bir Visual Studio çözümüdür:

Project Description
CdpHelpers Bu sınıf kitaplığı projesi, Microsoft.PowerFx.Connectors ad alanındaki, şu anda Microsoft.PowerFx.Connectors NuGet paketine dahil olmayan sınıflar içerir. Gelecekte bu türler Bir NuGet paketi olarak kullanılabilir olacak.
CdpSampleWebApi Gelişmiş bağlayıcı oluşturma (önizleme) bölümünde açıklanan gelişmiş bağlayıcı protokollerini uygulayan bir ASP.NET Core Web API projesi. CdpHelpers projesine bağımlı olan bu projede proje bağımlılığı var.
CdpValidator Gelişmiş bir bağlayıcıya uç nokta alan ve bunu test eden bu konsol uygulaması projesi. Bilinen uç noktaları çağırır, sonuçları doğrular ve geniş kapsamlı teşhis hataları sağlar. Bağlayıcının doğru uygulandığını doğrulamaya yardımcı olması için bu projeyi kullanın. Bu projenin CdpHelpers projesine bir proje bağımlılığı var. README'de CdpValidator hakkında daha fazla bilgi edinin

Önkoşullar

Bu örneği çalıştırın

Power-fx-enhanced-connector GitHub deposunu kopyaladıktan sonra Visual Studio 2022 kullanarak dosyayı açınCdpSampleWebApi.sln.

CdpSampleWebApi projesi Başlatma projesi olarak ayarlanmış. Programı hata ayıklama modunda çalıştırmak için F5 tuşuna basın. Aşağıdakilerin gerçekleşmesini bekleyebilirsiniz:

  1. Örneği ilk kez çalıştırdığınızda aşağıdaki iletişim kutusunu görebilirsiniz:

    ASP.NET Core SSL Sertifikasına Güven iletişim kutusu

    ASP.NET Core SSL Sertifikasına güvenmek için Evet'i seçin. Ardından başka bir iletişim kutusu açılır:

    Güvenlik Uyarısı iletişim kutusu

    Sertifikayı yüklemek için Evet'i seçin.

  2. Bir konsol penceresi açılır ve aşağıdaki metni verir:

    info: Microsoft.Hosting.Lifetime[14]
          Now listening on: https://localhost:7157
    info: Microsoft.Hosting.Lifetime[14]
          Now listening on: http://localhost:5008
    info: Microsoft.Hosting.Lifetime[0]
          Application started. Press Ctrl+C to shut down.
    info: Microsoft.Hosting.Lifetime[0]
          Hosting environment: Development
    info: Microsoft.Hosting.Lifetime[0]
          Content root path: E:\GitHub\power-fx-enhanced-connector\CdpSampleWebApi
    

    Bu metin, ASP.NET Core Web API projesinin başarıyla başlatıldığını ve https://localhost:7157 veya http://localhost:5008 üzerinde dinlemeye başladığını belirtmek için bazı günlükleme bilgilerini içerir.

  3. Şu URL'ye bir tarayıcı penceresi açılır: https://localhost:7157/$metadata.json/datasets.

    Tarayıcı aşağıdaki JSON'yi görüntüler:

    {
      "tabular": {
        "source": "mru",
        "displayName": "site",
        "urlEncoding": "double",
        "tableDisplayName": "DisplayName1",
        "tablePluralName": "DisplayNames1"
      },
      "blob": null,
      "datasetFormat": null,
      "parameters": null,
      "isDoubleEncoding": true
    }
    

    Bu URL, CdpSampleWebApi\Properties\launchSettings.json dosyasındaki launchUrl özelliği olarak ayarlandığı için açılır. Farklı URL'leri test etmek için tarayıcıda URL'yi düzenleyebilirsiniz, ancak test etmenin daha iyi bir yolu vardır.

Test etmek için CdpSampleWebApi.http dosyasını kullanın

CdpSampleWebApi\CdpSampleWebApi.http Bu örnekte yer alan dosya, özellikle API uygulamaları olmak üzere ASP.NET Core projelerini test etmek için kullanışlı bir yol sağlayan bir .http dosyadır. Yalnızca Visual Studio 2022 sürüm 17.8 veya sonraki sürümlerde kullanılabilir. Visual Studio 2022'de .http dosyalarını kullanma hakkında daha fazla bilgi edinin

Projede hata ayıklamak için içinde CdpSampleWebApi.http yapılandırılan beş isteği kullanın. Bu istekler, Gelişmiş bağlayıcı oluşturma (önizleme) bölümünde açıklanan gelişmiş bağlayıcı protokollerini gösterir. Her isteğin üzerinde Hata Ayıkla'yı seçerek projede hata ayıklamayı başlatın. Hata ayıklama sırasında, yapılandırılan yolları test etmek için İstek gönder'i seçin.

CdpSampleWebApi.http dosyası gösteriliyor

Uyarı

Visual Studio'da örnekte hata ayıklarken, CdpSampleWebApi.http yüklerken dosyayı Visual Studio Code ile de kullanabilirsiniz.

Nasıl çalışır?

Proje, `CdpSampleWebApi` ve `` arabirimlerinin nasıl uygulanacağını göstermek amacıyla, /DataSource/TrivialTableProvider.cs dosyasını içeren minimum uygulanabilir bir örnek sunar. Bu sınıflar, Gelişmiş bağlayıcılar oluşturma (önizleme) bölümünde açıklandığı gibi tablosal veri protokollerini tanımlayan beş uç nokta ile Denetleyiciler/CdpController.cs aracılığıyla kullanıma sunulan bir veri kaynağıyla ilgili ayrıntıları sağlar

Bu örnekle kendi gelişmiş bağlayıcınızı geliştirin

Kendi gelişmiş bağlayıcınızı geliştirmek için başlangıç noktası olarak bu çözümü kullanabilirsiniz.

Önkoşullar

İşlem

  1. Bu örneği kopyalayın ve sizin için çalıştığını doğrulamak için çalıştırın.

  2. DataSource klasöründe, ITableProviderFactory ve ITableProvider arabirimlerini uygulayan kendi veri sağlayıcınızı oluşturun. ITableProvider arabirimi hakkında daha fazla bilgi edinin

  3. Gelişmiş bağlayıcı protokollerini Controllers tanımlayan beş uç noktayı uygulayan klasörde kendi denetleyicinizi oluşturun.

  4. CdpSampleWebApi\Program.cs öğesini, oluşturduğunuz veri sağlayıcısı olan TrivialTableProviderFactory yerine kullanacak şekilde güncelleyin.

  5. Hangi verilerin döndürülür ve nasıl sıralanacağını denetlemek için OData sorgu seçenekleriyle tablolardan veri almayı etkinleştirmek için bir dönüştürücü uygulayın.

  6. Verilerinize uygun oluşturma, güncelleştirme ve silme işlemlerini uygulayın.

  7. İstekleri doğru işlediğini onaylamak için uç noktanızı yerel olarak test edin.

  8. Web API'nizi istediğiniz bir barındırma ortamına dağıtın. Örneğin, Azure veya Amazon Web Services (AWS) kullanabilirsiniz .

  9. Özel bağlayıcıyı oluşturun.

    1. Örnekteki PowerPlatformArtifacts/apiDefinition.swagger.json ve PowerPlatformArtifacts/apiProperties.json dosyalarını veri kaynağınızla uyumlu olacak şekilde değiştirin. Web API'nizi açıklayan bir OpenAPI (swagger) dosyası oluşturma hakkında daha fazla bilgi edinin
    2. Bağlayıcıyı oluşturmak için paconn CLI aracını kullanın.

    Uyarı

    Bu bağlayıcının aracılar için bir bilgi kaynağı olmasını sağlamak istiyorsanız, dosyadaki federatedKnowledgeSourcecapabilities ayarı kaldırmayınapiProperties.json.

    Düğümün capabilities"capabilities": ["tabular", "federatedKnowledgeSource"], değeri bağlayıcının aracılar için bir bilgi kaynağı olması gerektiğinde olmalıdır, aksi takdirde yalnızca "capabilities": ["tabular"],olmalıdır.

  10. Kimlik doğrulamasını yapılandırma

    Kimlik doğrulamasını yapılandırmak için şu adımları izleyin:

    1. noktaların güvenliğini sağlamak için web API'nize kimlik doğrulama mekanizmaları ekleyin (gereksinimlerinize göre).
    2. Özel bağlayıcıyı web API'sine erişmek için uygun kimlik doğrulama yöntemini kullanacak şekilde yapılandırın.

    Microsoft Entra Id'de kimlik doğrulamasını etkinleştirmeyi öğrenmek için Microsoft Entra Id ile kimlik doğrulaması bölümüne gidin.

  11. Bağlayıcıyı paylaşma ve test edin

    Bağlayıcınızı paylaşmak ve test etmek için şu adımları izleyin:

    1. Power Platform'da özel bağlayıcıyı paylaşın.

    2. Arka uç API'nizle etkileşime geçmek için bağlayıcıyı kullanan örnek uygulamalar veya akışlar oluşturarak bağlayıcıyı test edin. Başlamanıza yardımcı olmak için şuraya gidin:

Reference

Bu örnekte kullanılan ve Microsoft.PowerFx.Connectors ve Microsoft.PowerFx.Core NuGet paketlerinde tanımlanmayan bir tür grubu vardır. Bunları, aynı ad alanını kullanarak Power Fx gelişmiş bağlayıcı örneğiMicrosoft.PowerFx.Connectors bulabilirsiniz. Aşağıdaki tabloda bu türler açıklanmaktadır.

Türü Description
CapabilitiesPoco Filtreleme, sıralama ve sunucu sayfalama seçenekleri dahil olmak üzere OData ve Power Fx bağlayıcıları için tablo özelliklerini açıklar.
ColumnCapabilitiesPoco Desteklenen filtre işlevleri gibi OData ve Power Fx bağlayıcıları için sütun düzeyinde özellikleri açıklar.
ColumnInfo Tablo şemasında başlık, açıklama, tür, sıralama ve yetenekler gibi bir sütunu açıklar.
DatasetResponse OData ve Power Fx bağlayıcıları için veri kümelerinin listesini içeren bir yanıtı temsil eder.
ErrorResponse Bağlayıcılar için standart bir hata yanıtı yükünü temsil eder.
GetItemsResponse Öğe değerlerinin listesini içeren GetItems işleminin yanıtını temsil eder.
GetTableResponse Tablo adı, izinler, yetenekler ve şema dahil olmak üzere bir GetTable işlemin yanıtını temsil eder.
GetTablesResponse Ham tablo bilgilerinin listesini içeren bir GetTables işlemin yanıtını temsil eder.
Öğe OData ve Power Fx bağlayıcıları için veri kümelerinin listesini içeren bir yanıtı temsil eder.
Öğeleri Türü ve sütun tanımları dahil olmak üzere bir tablonun şemasını açıklar.
RawTablePoco Ham tablo bilgilerinin listesini içeren bir GetTables işlemin yanıtını temsil eder.
TableSchemaPoco Türü ve sütun tanımları dahil olmak üzere bir tablonun şemasını açıklar.

Geri bildirim paylaşma

Depo, sürekli öğrenebilmemiz ve geliştirmeler yapabilmemiz için sizi kullanmaya teşvik etmek ve geri bildirim paylaşmak için açık kaynaktır. Sorular, sorunlar veya tartışmalar için GitHub sitesindeki Sorunlar veya Tartışmalar sayfalarını kullanın.

Gelişmiş veri bağlayıcıları oluşturma (önizleme)
Web API'leri ve Azure API Management ile çalışma hakkında daha fazla bilgi edinin
Özel bağlayıcılar oluşturma hakkında daha fazla bilgi edinin