التشغيل السريع: تشغيل استعلام Resource Graph باستخدام واجهة برمجة تطبيقات REST

يصف هذا التشغيل السريع كيفية تشغيل استعلام Azure Resource Graph باستخدام REST API وعرض النتائج. عناصر واجهة برمجة تطبيقات REST هي URI يتضمن إصدار واجهة برمجة التطبيقات والنص الأساسي للطلب الذي يحتوي على الاستعلام. تستخدم الأمثلة Azure CLI لتسجيل الدخول إلى Azure وهذا يصادق حسابك لتشغيل az rest الأوامر.

إذا لم تكن على دراية بواجهة برمجة تطبيقات REST، فابدأ بمراجعة مرجع واجهة برمجة تطبيقات Azure REST للحصول على فهم عام لواجهة برمجة تطبيقات REST، وطلب URI على وجه التحديد ونص الطلب. للحصول على مواصفات Azure Resource Graph، راجع Azure Resource Graph REST API.

المتطلبات الأساسية

قم بالاتصال بـ Azure

من جلسة Visual Studio Code الطرفية، اتصل ب Azure. إذا كان لديك أكثر من اشتراك واحد، فقم بتشغيل الأوامر لتعيين السياق إلى اشتراكك. استبدل {subscriptionID} بمعرف اشتراك Azure الخاص بك.

az login

# Run these commands if you have multiple subscriptions
az account list --output table
az account set --subscription {subscriptionID}

استخدم az login حتى إذا كنت تستخدم PowerShell لأن الأمثلة تستخدم أوامر Azure CLI az rest .

مراجعة بناء جملة واجهة برمجة تطبيقات REST

هناك عنصران لتشغيل أوامر REST API: REST API URI و نص الطلب. للحصول على معلومات، انتقل إلى الموارد. للاستعلام حسب مجموعة الإدارة، استخدم managementGroups بدلا من subscriptions. للاستعلام عن المستأجر بأكمله، احذف كلا managementGroups من خصائص و subscriptions من نص الطلب.

يوضح المثال التالي بناء جملة REST API URI لتشغيل استعلام لاشتراك Azure.

POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2022-10-01

مطلوب نص طلب لتشغيل استعلام باستخدام واجهة برمجة تطبيقات REST. المثال التالي هو JSON لإنشاء ملف نص الطلب.

{
  "subscriptions": [
    "{subscriptionID}"
  ],
  "query": "Resources | project name, type | limit 5"
}

تشغيل استعلام Resource Graph

تستخدم الأمثلة نفس az rest الأمر ولكن يمكنك تغيير نص الطلب للحصول على نتائج مختلفة. تسرد الأمثلة الموارد، وترتيب الموارد حسب الخاصية name ، وترتيب الموارد حسب الخاصية name وتحديد عدد النتائج.

لتشغيل جميع أمثلة الاستعلام، استخدم الأمر التالي az rest لبيئة shell الخاصة بك:

az rest --method post --uri https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2022-10-01 --body `@request-body.json

في PowerShell، هناك حاجة إلى backtick (`) للهروب من at sign (@) لتحديد اسم ملف لنص الطلب.

في كل مثال على نص الطلب، استبدل {subscriptionID} بمعرف اشتراك Azure الخاص بك. قم بتشغيل الأمر التالي للحصول على معرف اشتراك Azure لنص الطلب:

az account show --query id --output tsv

سرد الموارد

في Visual Studio Code، أنشئ ملفا جديدا باسم request-body.json. انسخ والصق JSON التالي في الملف واحفظ الملف.

يقوم الاستعلام بإرجاع خمسة موارد Azure مع name و resource type لكل مورد.

{
  "subscriptions": [
    "{subscriptionID}"
  ],
  "query": "Resources | project name, type | limit 5"
}

نظرا لأن مثال الاستعلام هذا لا يوفر معدل فرز مثل order by، فإن تشغيل هذا الاستعلام عدة مرات ينتج عنه مجموعة مختلفة من الموارد لكل طلب.

ترتيب حسب خاصية الاسم

تحديث request-body.json بالتعليمات البرمجية التالية التي تغير الاستعلام إلى order by الخاصية name . احفظ الملف واستخدم az rest الأمر لتشغيل الاستعلام.

{
  "subscriptions": [
    "{subscriptionID}"
  ],
  "query": "Resources | project name, type | limit 5 | order by name asc"
}

إذا قمت بتشغيل هذا الاستعلام عدة مرات، فإنه ينتج مجموعة مختلفة من الموارد لكل طلب.

إن ترتيب أوامر الاستعلام مهم. في هذا المثال، يأتي order by بعد limit. يحدد ترتيب الأمر هذا نتائج الاستعلام بخمسة موارد ثم يطلبها.

ترتيب حسب خاصية الاسم وتحديد النتائج

تحديث request-body.json مع التعليمات البرمجية التالية إلى order by الخاصية name ثم limit إلى أفضل خمس نتائج. احفظ الملف واستخدم نفس az rest الأمر لتشغيل الاستعلام.

{
  "subscriptions": [
    "{subscriptionID}"
  ],
  "query": "Resources | project name, type | order by name asc | limit 5"
}

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

تنظيف الموارد

سجل الخروج من جلسة Azure CLI.

az logout

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

في هذا التشغيل السريع، استخدمت نقطة نهاية Azure Resource Graph REST API لتشغيل استعلام. لمعرفة المزيد حول لغة Resource Graph، تابع إلى صفحة تفاصيل لغة الاستعلام.