Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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
- ASP.NET ve web geliştirme iş yükünün yüklü olduğu Visual Studio 2022 sürüm 17.8 veya üzeri.
- .NET 8.0
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:
Örneği ilk kez çalıştırdığınızda aşağıdaki iletişim kutusunu görebilirsiniz:
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:
Sertifikayı yüklemek için Evet'i seçin.
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\CdpSampleWebApiBu metin, ASP.NET Core Web API projesinin başarıyla başlatıldığını ve
https://localhost:7157veyahttp://localhost:5008üzerinde dinlemeye başladığını belirtmek için bazı günlükleme bilgilerini içerir.Ş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.jsondosyasındakilaunchUrlö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.
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
-
paconnKomut satırı aracını yükleme - Power Platform ortamına erişim. Deneme ortamı çalışır.
İşlem
Bu örneği kopyalayın ve sizin için çalıştığını doğrulamak için çalıştırın.
DataSourceklasöründe,ITableProviderFactoryveITableProviderarabirimlerini uygulayan kendi veri sağlayıcınızı oluşturun. ITableProvider arabirimi hakkında daha fazla bilgi edininGelişmiş bağlayıcı protokollerini
Controllerstanımlayan beş uç noktayı uygulayan klasörde kendi denetleyicinizi oluşturun.CdpSampleWebApi\Program.csöğesini, oluşturduğunuz veri sağlayıcısı olanTrivialTableProviderFactoryyerine kullanacak şekilde güncelleyin.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.
Verilerinize uygun oluşturma, güncelleştirme ve silme işlemlerini uygulayın.
İstekleri doğru işlediğini onaylamak için uç noktanızı yerel olarak test edin.
Web API'nizi istediğiniz bir barındırma ortamına dağıtın. Örneğin, Azure veya Amazon Web Services (AWS) kullanabilirsiniz .
Özel bağlayıcıyı oluşturun.
- Ö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
- 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
federatedKnowledgeSourcecapabilitiesayarı 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.Kimlik doğrulamasını yapılandırma
Kimlik doğrulamasını yapılandırmak için şu adımları izleyin:
- Uç noktaların güvenliğini sağlamak için web API'nize kimlik doğrulama mekanizmaları ekleyin (gereksinimlerinize göre).
- Ö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.
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:
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.
İlgili makaleler
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