إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على: Azure Logic Apps (الاستهلاك + قياسي)
دون كتابة أي تعليمة برمجية، يمكنك إنشاء مهام سير عمل تكامل تلقائية بسرعة عند استخدام عمليات الموصل التي تم إنشاؤها مسبقاً في Azure Logic Apps. يساعد الموصل مهام سير العمل على توصيل البيانات والأحداث والإجراءات والوصول إليها عبر التطبيقات والخدمات والأنظمة والبروتوكولات والأنظمة الأساسية الأخرى. يقدم كل موصل عمليات كمشغّلات أو إجراءات أو كليهما يمكنك إضافتها إلى مهام سير العمل. باستخدام هذه العمليات، يمكنك توسيع إمكانات تطبيقات السحابة والتطبيقات المحلية للعمل مع البيانات الجديدة والحالية.
Connectors in Azure Logic Apps are either built in or managed. A built-in connector runs natively on the Azure Logic Apps runtime, which means they're hosted in the same process as the runtime and provide higher throughput, low latency, and local connectivity. A managed connector is a proxy or a wrapper around an API, such as Office 365 or Salesforce, that helps the underlying service talk to Azure Logic Apps. يتم تشغيل الموصلات المُدارة بواسطة البنية الأساسية للموصل في Azure ويتم توزيعها واستضافتها وتشغيلها وإدارتها بواسطة Microsoft. يمكنك الاختيار من بين أكثر من 1400 موصل مدار لاستخدامها مع مهام سير العمل في Azure Logic Apps.
عند استخدام عملية موصل للمرة الأولى في سير العمل، لا تتطلب بعض الموصلات إنشاء اتصال أولاً، ولكن العديد من الموصلات الأخرى تتطلب هذه الخطوة. كل اتصال تقوم بإنشائه هو في الواقع مورد Azure منفصل يوفر الوصول إلى التطبيق أو الخدمة أو النظام أو البروتوكول أو النظام الأساسي المستهدف.
ومع ذلك، قد ترغب في بعض الأحيان في استدعاء واجهات برمجة تطبيقات REST غير المتوفرة كموصلات تم إنشاؤها مسبقاً. To support more tailored scenarios, you can create your own custom connectors to offer triggers and actions that aren't available as prebuilt operations.
توفر هذه المقالة نظرة عامة حول الموصلات المخصصة لمهام سير عمل تطبيق منطق الاستهلاك ومهام سير عمل تطبيق المنطق القياسي. يتم تشغيل كل نوع من أنواع التطبيقات المنطقية من خلال وقت تشغيل Azure Logic Apps مختلف، مستضاف على التوالي في Azure متعدد المستأجرين وAzure أحادي المستأجر. لمزيد من المعلومات حول الموصلات في Azure Logic Apps، راجع الوثائق التالية:
- حول الموصلات في Azure Logic Apps
- الموصلات المُضمّنة في Azure Logic Apps
- الموصلات المُدارة Azure Logic Apps
- Connector overview
- مستأجر واحد مقابل متعدد المستأجرين في Azure Logic Apps
تطبيقات منطق الاستهلاك
في Azure Logic Apps متعددة المستأجرين، يمكنك إنشاء موصلات مخصصة من واجهات برمجة التطبيقات المستندة إلى Swagger أو SOAP حتى حدود محددة للاستخدام في مهام سير عمل تطبيق منطق الاستهلاك. The Connectors documentation provides more overview information about how to create custom connectors for Consumption logic apps, including complete basic and advanced tutorials. توفر القائمة التالية أيضاً ارتباطات مباشرة إلى معلومات حول الموصلات المخصصة لتطبيقات منطق الاستهلاك:
- إنشاء موصل Azure Logic Apps
- إنشاء موصل مخصص من تعريف OpenAPI
- استخدم موصلًا مخصصًا من تطبيق منطقي
- مشاركة الموصلات المخصصة في مؤسستك
- إرسال الموصلات إلى شهادة Microsoft
- الأسئلة المتداولة للموصل المخصص
تطبيقات المنطق القياسي
في Azure Logic Apps أحادي المستأجر، يعمل وقت تشغيل Azure Logic Apps المُعاد تصميمه على تشغيل مهام سير عمل تطبيق المنطق القياسي. يختلف وقت التشغيل هذا عن وقت تشغيل Azure Logic Apps متعدد المستأجرين الذي يعمل على تشغيل مهام سير عمل تطبيق منطق الاستهلاك. يستخدم وقت تشغيل المستأجر الأحادي نموذج قابلية توسعة Azure Functions، الذي يمنحك إمكانية رئيسية لإنشاء موصلات مُضمّنة لأي شخص لاستخدامها في مهام سير العمل القياسية. في معظم الحالات، يوفر الإصدار المُضمّن أداء وإمكانات وتسعيراً أفضل وما إلى ذلك.
عند إصدار Azure Logic Apps أحادي المستأجر رسمياً، تضمنت الموصلات المُضمّنة الجديدة تخزين Azure Blob، ومراكز أحداث Azure، وناقل خدمة Azure، وSQL Server. مع مرور الوقت، تستمر قائمة الموصلات المُضمّنة هذه في النمو. ومع ذلك، إذا كنت بحاجة إلى موصلات غير متوفرة في مهام سير عمل تطبيق المنطق القياسي، يمكنك إنشاء موصلاتك المُضمّنة باستخدام نفس نموذج قابلية التوسعة الذي تستخدمه الموصلات المُضمّنة التي تستند إلى موفر الخدمة في مهام سير العمل القياسية.
الموصلات المضمنة المُستندة إلى موفر الخدمة
في تطبيقات Azure Logic للمستأجر الفردي، تُعرف الموصلات المضمنة ذات السمات المحددة بشكل غير رسمي باسم موفري الخدمة. على سبيل المثال، تستند هذه الموصلات إلى نموذج قابلية توسعة Azure Functions، والذي يوفر لك القدرة على إنشاء موصلات مخصصة مضمنة لاستخدامها في مهام سير عمل تطبيق المنطق القياسي.
وعلى النقيض من ذلك، فإن الموصلات المضمنة غيرالمرتبطة بموفر الخدمة السمات التالية:
لا يستند إلى نموذج قابلية توسعة Azure Functions.
يتم تنفيذه مباشرة كوظيفة ضمن وقت تشغيل Azure Logic Apps، مثل عمليات Schedule، وHTTP، وRequest، وXML.
لا تتوفر أي إمكانية حالياً لإنشاء موصل مُضمّن غير موفّر خدمة أو نوع مهمة جديد يعمل مباشرة في وقت تشغيل Azure Logic Apps. ومع ذلك، يمكنك إنشاء موصلاتك المُضمّنة باستخدام البنية الأساسية لموفّر الخدمة.
يوفر القسم التالي المزيد من المعلومات حول كيفية عمل نموذج قابلية التوسعة للموصلات المُضمّنة المخصصة.
نموذج قابلية توسعة الموصل المُضمّن
استناداً إلى نموذج قابلية توسعة Azure Functions، يحتوي نموذج قابلية توسعة الموصل المُضمّن في Azure Logic Apps أحادي المستأجر على بنية أساسية لموفّر الخدمة يمكنك استخدامها لإنشاء وحزم وتسجيل وتثبيت الموصلات المُضمّنة الخاصة بك كملحقات Azure Functions يمكن لأي شخص استخدامها في مهام سير العمل القياسية الخاصة به. يتضمن هذا النموذج إمكانات مشغّل مُضمّن مخصص تدعم الكشف عن مشغّل أو إجراء Azure Functions كمشغّل موفّر خدمة في الموصل المُضمّن المخصص.
يوضح الرسم التخطيطي التالي عمليات تنفيذ الأسلوب التي يتوقعها مصمم Azure Logic Apps ووقت التشغيل لموصل مُضمّن مخصص مع مشغّل يستند إلى Azure Functions:
توفر الأقسام التالية المزيد من المعلومات حول الواجهات التي يحتاج الموصل إلى تنفيذها.
IServiceOperationsProvider
تتضمن هذه الواجهة الأساليب التي توفر بيان العمليات للموصل المُضمّن المخصص.
Operations manifest
يتضمن بيان العمليات بيانات تعريف حول العمليات المُنفذة في الموصل المُضمّن المخصص. يستخدم مصمم Azure Logic Apps بيانات التعريف هذه بشكل أساسي لتشغيل تجارب التأليف والمراقبة لعمليات الموصل. على سبيل المثال، يستخدم المصمم بيانات تعريف العملية لفهم معلمات الإدخال التي تتطلبها عملية معينة ولتسهيل إنشاء رموز مميزة لخصائص المخرجات، استناداً إلى مخطط مخرجات العملية.
The designer requires and uses the GetService() and GetOperations() methods to query the operations that your connector provides and shows on the designer surface. The GetService() method also specifies the connection's input parameters that are required by the designer.
لمزيد من المعلومات حول هذه الأساليب وتنفيذها، راجع قسم أساليب التنفيذ لاحقاً في هذه المقالة.
Operation invocations
استدعاءات العملية هي عمليات تنفيذ الأسلوب المستخدمة أثناء تنفيذ سير العمل بواسطة وقت تشغيل Azure Logic Apps لاستدعاء العمليات المحددة في تعريف سير العمل.
If your trigger is an Azure Functions-based trigger type, the GetBindingConnectionInformation() method is used by the runtime in Azure Logic Apps to provide the required connection parameters information to the Azure Functions trigger binding.
If your connector has actions, the InvokeOperation() method is used by the runtime to call each action in your connector that runs during workflow execution. وبخلاف ذلك، لن تضطر إلى تنفيذ هذا الأسلوب.
لمزيد من المعلومات حول هذه الأساليب وتنفيذها، راجع قسم أساليب التنفيذ لاحقاً في هذه المقالة.
IServiceOperationsTriggerProvider
تدعم إمكانات المشغّل المُضمّن المخصص إضافة مشغّل أو إجراء Azure Functions أو عرضه كمشغّل موفّر خدمة في الموصل المُضمّن المخصص. لاستخدام نوع المشغّل المستند إلى Azure Functions وربط Azure Functions نفسها مثل مشغّل الموصل المُدار من Azure، قم بتنفيذ الأساليب التالية لتوفير معلومات الاتصال وروابط المشغّل كما هو مطلوب من Azure Functions.
The GetFunctionTriggerType() method is required to return the string that's the same as the type parameter in the Azure Functions trigger binding.
The GetFunctionTriggerDefinition() has a default implementation, so you don't need to explicitly implement this method. ومع ذلك، إذا كنت ترغب في تحديث السلوك الافتراضي للمشغّل، مثل توفير معلمات إضافية لا يعرضها المُصمم، يُمكنك تنفيذ هذا الأسلوب وتجاوز السلوك الافتراضي.
أساليب التنفيذ
توفر الأقسام التالية المزيد من المعلومات حول الأساليب التي يحتاج الموصل إلى تنفيذها. For the complete sample, review Sample CosmosDbServiceOperationProvider.cs and Create custom built-in connectors for Standard logic apps in single-tenant Azure Logic Apps.
Important
عندما يكون لديك معلومات حساسة، مثل سلسلة الاتصال التي تتضمن أسماء المستخدمين وكلمات المرور، تأكد من استخدام تدفق المصادقة الأكثر أمانا المتوفرة. For example, Microsoft recommends that you authenticate access to Azure resources with a managed identity when support is available, and assign a role that has the least required privilege.
إذا كانت هذه الإمكانية غير متوفرة، فتأكد من تأمين سلسلة الاتصال من خلال مقاييس أخرى، مثل Azure Key Vault، والتي يمكنك استخدامها مع إعدادات التطبيق. يمكنك بعد ذلكالعودة مباشرة إلى سلاسل آمنة، مثل سلاسل الاتصال والمفاتيح. على غرار قوالب ARM، حيث يمكنك تحديد متغيرات البيئة في وقت التوزيع، يمكنك تحديد إعدادات التطبيق ضمن تعريف سير عمل التطبيق المنطقي. يمكنك بعد ذلك تسجيل قيم البنية الأساسية التي تم إنشاؤها ديناميكياً، مثل نقاط نهاية الاتصال وسلاسل التخزين والمزيد. لمزيد من المعلومات، راجع أنواع التطبيقات النظام الأساسي للهويات في Microsoft.
GetService()
يتطلب المصمم هذا الأسلوب للحصول على بيانات التعريف عالية المستوى للخدمة، بما في ذلك وصف الخدمة، ومعلمات إدخال الاتصال، والإمكانات، ولون العلامة التجارية، وعنوان URL للأيقونة وما إلى ذلك.
public ServiceOperationApi GetService()
{
return this.{custom-service-name-apis}.ServiceOperationServiceApi();
}
For more information, review Sample CosmosDbServiceOperationProvider.cs.
GetOperations()
يتطلب المصمم هذا الأسلوب للحصول على العمليات التي تنفذها الخدمة الخاصة بك. تَستند قائمة العمليات إلى مخطط Swagger. يَستخدم المصمم أيضاً بيانات تعريف العملية لفهم معلمات الإدخال لعمليات محددة وإنشاء المخرجات كرموز مميزة للخاصية، استناداً إلى مُخطط إخراج العملية.
public IEnumerable<ServiceOperation> GetOperations(bool expandManifest)
{
return expandManifest ? serviceOperationsList : GetApiOperations();
}
For more information, review Sample CosmosDbServiceOperationProvider.cs.
GetBindingConnectionInformation()
إذا كنت ترغب في استخدام نوع المشغّل المستند إلى Azure Functions، يوفر هذا الأسلوب معلومات معلمات الاتصال المطلوبة لربط مشغّل Azure Functions.
public string GetBindingConnectionInformation(string operationId, InsensitiveDictionary<JToken> connectionParameters)
{
return ServiceOperationsProviderUtilities
.GetRequiredParameterValue(
serviceId: ServiceId,
operationId: operationId,
parameterName: "connectionString",
parameters: connectionParameters)?
.ToValue<string>();
}
For more information, review Sample CosmosDbServiceOperationProvider.cs.
InvokeOperation()
إذا كان الموصل المُضمّن المخصص يحتوي على مشغّل فقط، فلن تحتاج إلى تنفيذ هذا الأسلوب. However, if your connector has actions to implement, you have to implement the InvokeOperation() method, which is called for each action in your connector that runs during workflow execution. يمكنك استخدام أي عميل، مثل FTPClient، وHTTPClient وما إلى ذلك، كما تتطلب إجراءات الموصل. يستخدم هذا المثال HTTPClient.
public Task<ServiceOperationResponse> InvokeOperation(string operationId, InsensitiveDictionary<JToken> connectionParameters, ServiceOperationRequest serviceOperationRequest)
{
using (var client = new HttpClient())
{
response = client.SendAsync(httpRequestMessage).ConfigureAwait(false).ToJObject();
}
return new ServiceOperationResponse(body: response);
}
For more information, review Sample CosmosDbServiceOperationProvider.cs.
GetFunctionTriggerType()
To use an Azure Functions-based trigger as a trigger in your connector, you have to return the string that's the same as the type parameter in the Azure Functions trigger binding.
يرجع المثال التالي السلسلة لمشغّل Azure Cosmos DB المُضمّن غير التقليدي، "type": "cosmosDBTrigger":
public string GetFunctionTriggerType()
{
return "CosmosDBTrigger";
}
For more information, review Sample CosmosDbServiceOperationProvider.cs.
GetFunctionTriggerDefinition()
يَحتوي هذا الأسلوب على تنفيذ افتراضي، لذلك لا تحتاج إلى تنفيذ هذا الأسلوب بشكل صريح. ومع ذلك، إذا كنت ترغب في تحديث السلوك الافتراضي للمشغّل، مثل توفير معلمات إضافية لا يعرضها المُصمم، يُمكنك تنفيذ هذا الأسلوب وتجاوز السلوك الافتراضي.
Next steps
عندما تكون مستعداً لبدء خطوات التنفيذ، تابع إلى المقالة التالية: