عرض عنصر التعريف في تطبيقات Azure المُدارة

عرض التعريف هو أداة اختيارية في تطبيقات Azure المُدارة. يسمح لك بتخصيص صفحة النظرة العامة وإضافة المزيد من طرق العرض مثل المقاييس والموارد المخصصة.

تقدم هذه المقالة نظرة عامة على أداة تعريف العرض وإمكانياتها.

عرض البيانات الاصطناعية للتعريف

يجب تسمية عنصر تعريف العرض باسم viewDefinition.json ووضعه في نفس المستوى مثل createUiDefinition.json والقالب الرئيسي.json في حزمة zip. التي تنشئ تعريف التطبيق المدار. لمعرفة كيفية إنشاء حزمة .zip ونشر تعريف تطبيق مدار، راجع التشغيل السريع: إنشاء تعريف تطبيق مدار من Azure ونشره

عرض مخطط التعريف

يحتوي الملف viewDefinition.json على خاصية مستوى علوي واحدة فقطviews، وهي عبارة عن مصفوفة من طرق العرض. يتم عرض كل طريقة عرض في واجهة مستخدم التطبيق المُدار كعنصر قائمة منفصل في جدول المحتويات. يحتوي كل عرض على خاصية kind التي تحدد نوع العرض. يجب تعيينه على إحدى القيم التالية: Overview وMetrics وCustomResources وAssociations. لمزيد من المعلومات، راجع مخطط JSON الحالي لـ viewDefinition.json.

نموذج JSON لعرض التعريف:

{
  "$schema": "https://schema.management.azure.com/schemas/viewdefinition/0.0.1-preview/ViewDefinition.json#",
  "contentVersion": "0.0.0.1",
  "views": [
    {
      "kind": "Overview",
      "properties": {
        "header": "Welcome to your Azure Managed Application",
        "description": "This managed application is for demo purposes only.",
        "commands": [
          {
            "displayName": "Test Action",
            "path": "testAction"
          }
        ]
      }
    },
    {
      "kind": "Metrics",
      "properties": {
        "displayName": "This is my metrics view",
        "version": "1.0.0",
        "charts": [
          {
            "displayName": "Sample chart",
            "chartType": "Bar",
            "metrics": [
              {
                "name": "Availability",
                "aggregationType": "avg",
                "resourceTagFilter": [
                  "tag1"
                ],
                "resourceType": "Microsoft.Storage/storageAccounts",
                "namespace": "Microsoft.Storage/storageAccounts"
              }
            ]
          }
        ]
      }
    },
    {
      "kind": "CustomResources",
      "properties": {
        "displayName": "Test custom resource type",
        "version": "1.0.0",
        "resourceType": "testCustomResource",
        "createUIDefinition": {},
        "commands": [
          {
            "displayName": "Custom Context Action",
            "path": "testCustomResource/testContextAction",
            "icon": "Stop",
            "createUIDefinition": {}
          }
        ],
        "columns": [
          {
            "key": "name",
            "displayName": "Name"
          },
          {
            "key": "properties.myProperty1",
            "displayName": "Property 1"
          },
          {
            "key": "properties.myProperty2",
            "displayName": "Property 2",
            "optional": true
          }
        ]
      }
    },
    {
      "kind": "Associations",
      "properties": {
        "displayName": "Test association resource type",
        "version": "1.0.0",
        "targetResourceType": "Microsoft.Compute/virtualMachines",
        "createUIDefinition": {}
      }
    }
  ]
}

نظرة عامة

"kind": "Overview"

عندما تقدم طريقة العرض هذه في viewDefinition.json، فإنها تتجاوز صفحة Overview الافتراضية في تطبيقك المُدار.

{
  "kind": "Overview",
  "properties": {
    "header": "Welcome to your Azure Managed Application",
    "description": "This managed application is for demo purposes only.",
    "commands": [
      {
        "displayName": "Test Action",
        "path": "testAction"
      }
    ]
  }
}
الخاصية المطلوب ‏‏الوصف
header لا رأس صفحة Overview.
description لا وصف التطبيق المدار الخاص بك.
commands لا مصفوفة المزيد من أزرار شريط الأدوات لصفحة صفحة عامة، راجع الأوامر.

تُظهر لقطة الشاشة نظرة عامة على تطبيق مُدار باستخدام عنصر تحكم إجراء اختبار لتشغيل تطبيق تجريبي.

المقاييس

"kind": "Metrics"

يتيح لك عرض المقاييس جمع البيانات وتجميعها من موارد التطبيق المدارة في مقاييس المراقبة في Azure.

{
  "kind": "Metrics",
  "properties": {
    "displayName": "This is my metrics view",
    "version": "1.0.0",
    "charts": [
      {
        "displayName": "Sample chart",
        "chartType": "Bar",
        "metrics": [
          {
            "name": "Availability",
            "aggregationType": "avg",
            "resourceTagFilter": [
              "tag1"
            ],
            "resourceType": "Microsoft.Storage/storageAccounts",
            "namespace": "Microsoft.Storage/storageAccounts"
          }
        ]
      }
    ]
  }
}
الخاصية المطلوب ‏‏الوصف
displayName لا عنوان العرض المعروض.
version لا إصدار النظام الأساسي المستخدم لتقديم العرض.
charts ‏‏نعم‬ مصفوفة المخططات لصفحة المقاييس.

مخطط

الخاصية المطلوب الوصف
displayName ‏‏نعم‬ العنوان المعروض للرسم البياني.
chartType لا التصور المطلوب استخدامه لهذا المخطط. بشكل افتراضي، يستخدم مخطط خطي. أنواع المخططات المتوافقة: Bar, Line, Area, Scatter.
metrics ‏‏نعم‬ مجموعة المقاييس المطلوب رسمها في هذا المخطط. لمعرفة المزيد حول المقاييس المدعومة في مدخل Microsoft Azure، راجع المقاييس المدعومة باستخدام Azure Monitor.

Metric

الخاصية المطلوب الوصف
name ‏‏نعم‬ اسم المقياس.
aggregationType ‏‏نعم‬ نوع التجميع المراد استخدامه لهذا المقياس. أنواع التجميع المدعومة: none, sum, min, max, avg, unique, percentile, count
namespace لا مزيد من المعلومات لاستخدامها عند تحديد مزود المقاييس الصحيح.
resourceTagFilter لا يتم فصل صفيف علامات الموارد بكلمة or سيتم عرض المقاييس لها. ينطبق فوق عامل تصفية نوع المورد.
resourceType ‏‏نعم‬ نوع المورد الذي سيتم عرض المقاييس الخاصة به.

لقطة شاشة تعرض صفحة مراقبة تسمى هذه هي طريقة عرض المقاييس الخاصة بي لتطبيق مُدار.

الموارد المخصصة

"kind": "CustomResources"

يمكنك تحديد وجهات نظر متعددة من هذا النوع. يمثل كل عرض نوع مورد مخصص فريداً من الموفر المخصص الذي حددته في mainTemplate.json. للحصول على مقدمة حول الموفرين المخصصين، راجع نظرة عامة على معاينة موفري Azure المخصصين.

في طريقة العرض هذه، يمكنك تنفيذ عمليات GET وPUT وDELETE وPOST لنوع المورد المخصص. يمكن أن تكون عمليات POST إجراءات مخصصة عامة أو إجراءات مخصصة في سياق نوع المورد المخصص الخاص بك.

{
  "kind": "CustomResources",
  "properties": {
    "displayName": "Test custom resource type",
    "version": "1.0.0",
    "resourceType": "testCustomResource",
    "icon": "Polychromatic.ResourceList",
    "createUIDefinition": {},
    "commands": [
      {
        "displayName": "Custom Context Action",
        "path": "testCustomResource/testContextAction",
        "icon": "Stop",
        "createUIDefinition": {},
      }
    ],
    "columns": [
      {
        "key": "name",
        "displayName": "Name"
      },
      {
        "key": "properties.myProperty1",
        "displayName": "Property 1"
      },
      {
        "key": "properties.myProperty2",
        "displayName": "Property 2",
        "optional": true
      }
    ]
  }
}
الخاصية المطلوب الوصف
displayName ‏‏نعم‬ عنوان العرض المعروض. يجب أن يكون العنوان فريداً لكل عرض CustomResources في viewDefinition.json.
version لا إصدار النظام الأساسي المستخدم لتقديم العرض.
resourceType ‏‏نعم‬ نوع المورد المخصص. يجب أن يكون نوع مورد مخصص فريداً للمزود المخصص لديك.
icon لا أيقونة العرض. تم تحديد قائمة أمثلة الرموز في مخطط JSON.
createUIDefinition لا إنشاء مخطط تعريف واجهة المستخدم لإنشاء أمر مورد مخصص. للحصول على مقدمة حول إنشاء تعريفات واجهة المستخدم، راجع Getting started withCreateUiDefinition.
commands لا مصفوفة المزيد من أزرار شريط الأدوات في طريقة العرض CustomResources، راجع الأوامر.
columns لا مصفوفة أعمدة المورد المخصص. إذا لم يتم تعريف name العمود، عرضه بشكل افتراضي. يجب أن يحتوي العمود على "key" و"displayName". بالنسبة للمفتاح، قم بتوفير مفتاح الخاصية ليتم عرضها في طريقة عرض. في حالة التداخل، استخدم النقطة كمحدد، على سبيل المثال، "key": "name" أو "key": "properties.property1". بالنسبة لاسم العرض، قم بتوفير اسم العرض للخاصية التي سيتم عرضها في طريقة عرض. يمكنك أيضاً تقديم خاصية "optional". عند التعيين على "صواب"، يتم إخفاء العمود افتراضيّاً في طريقة العرض.

لقطة شاشة تعرض صفحة موارد تسمى اختبار نوع المورد المخصص والتحكم إجراء السياق المخصص.

الأوامر

الخاصية commands عبارة عن مجموعة من المزيد من أزرار شريط الأدوات التي يتم عرضها على الصفحة. يمثل كل أمر إجراء POST من موفر Azure المخصص المحدد في mainTemplate.json. للحصول على مقدمة حول الموفرين المخصصين، راجع نظرة عامة على موفري Azure المخصصين.

{
  "commands": [
    {
      "displayName": "Start Test Action",
      "path": "testAction",
      "icon": "Start",
      "createUIDefinition": {}
    },
  ]
}
الخاصية المطلوب الوصف
displayName ‏‏نعم‬ الاسم المعروض لزر الأمر.
path ‏‏نعم‬ يجب أن يكون اسم إجراء موفر مخصص. يجب تحديد الإجراء في mainTemplate.json.

لا يقبل القيم الديناميكية مثل URI الذي يتم إخراجه من القالب الرئيسي.json.
icon لا رمز زر الأمر. تم تحديد قائمة أمثلة الرموز في مخطط JSON.
createUIDefinition لا إنشاء مخطط تعريف واجهة المستخدم للأمر. للحصول على مقدمة حول إنشاء تعريفات واجهة المستخدم، راجع Getting started withCreateUiDefinition.

الارتباطات

"kind": "Associations"

يمكنك تحديد وجهات نظر متعددة من هذا النوع. يتيح لك هذا العرض ربط الموارد الحالية بالتطبيق المُدار من خلال الموفر المخصص الذي حددته في mainTemplate.json. للحصول على مقدمة حول الموفرين المخصصين، راجع نظرة عامة على معاينة موفري Azure المخصصين.

في طريقة العرض هذه، يمكنك توسيع موارد Azure الحالية بناءً على targetResourceType. عند تحديد مورد، فإنه ينشئ طلب إلحاق إلى الموفر المخصص العام ، والذي يمكنه تطبيق تأثير جانبي على المورد.

{
  "kind": "Associations",
  "properties": {
    "displayName": "Test association resource type",
    "version": "1.0.0",
    "targetResourceType": "Microsoft.Compute/virtualMachines",
    "createUIDefinition": {}
  }
}
الخاصية المطلوب الوصف
displayName ‏‏نعم‬ عنوان العرض المعروض. يجب أن يكون العنوان فريدا لكل طريقة عرض اقترانات في viewDefinition.json.
version لا إصدار النظام الأساسي المستخدم لتقديم العرض.
targetResourceType ‏‏نعم‬ نوع المورد المستهدف. يتم عرض نوع المورد هذا لإلحاق المورد.
createUIDefinition لا إنشاء مخطط تعريف واجهة المستخدم لإنشاء أمر موارد اقتران. للحصول على مقدمة حول إنشاء تعريفات واجهة المستخدم، راجع Getting started withCreateUiDefinition.

البحث عن المساعدة

إذا كانت لديك أسئلة أو تحتاج إلى إجابة حول تطبيقات Azure المدارة، فحاول طرح الأسئلة على Stack Overflow. استخدم العلامة azure-managed-app عند نشر سؤال.

الخطوات التالية