مشاركة عبر


معاينة خدمة Microsoft.ApiManagement 2018-06-01

تعريف مورد Bicep

يمكن نشر نوع مورد الخدمة/التشخيص مع العمليات التي تستهدف:

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

تنسيق المورد

لإنشاء مورد Microsoft.ApiManagement/service/diagnostics، أضف Bicep التالي إلى القالب الخاص بك.

resource symbolicname 'Microsoft.ApiManagement/service/diagnostics@2018-06-01-preview' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    alwaysLog: 'string'
    backend: {
      request: {
        body: {
          bytes: int
        }
        headers: [
          'string'
        ]
      }
      response: {
        body: {
          bytes: int
        }
        headers: [
          'string'
        ]
      }
    }
    enableHttpCorrelationHeaders: bool
    frontend: {
      request: {
        body: {
          bytes: int
        }
        headers: [
          'string'
        ]
      }
      response: {
        body: {
          bytes: int
        }
        headers: [
          'string'
        ]
      }
    }
    loggerId: 'string'
    sampling: {
      percentage: int
      samplingType: 'string'
    }
  }
}

قيم الخصائص

Microsoft.ApiManagement/service/diagnostics

اسم وصف قيمة
اسم اسم المورد خيط

القيود:
الحد الأدنى للطول = 1
الحد الأقصى للطول = 80
النمط = ^[^*#&+:<>?]+$ (مطلوب)
الوالد في Bicep، يمكنك تحديد المورد الأصل لمورد تابع. تحتاج فقط إلى إضافة هذه الخاصية عند الإعلان عن المورد التابع خارج المورد الأصل.

لمزيد من المعلومات، راجع مورد تابع خارج المورد الأصل.
اسم رمزي للمورد من النوع: خدمة
خصائص خصائص عقد الكيان التشخيصي. DiagnosticContractProperties

إعدادات تشخيص الجسم

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

القيود:
القيمة القصوى = 8192

الخصائص المكتملة للتشخيص

اسم وصف قيمة
AlwaysLog يحدد نوع إعدادات أخذ العينات للرسائل التي يجب ألا تنطبق. "جميع الأخطاء"
الواجهة الخلفية إعدادات التشخيص لرسائل HTTP الواردة/الصادرة إلى الخلفية PipelineDiagnosticSettings
تمكين عناوينHttpCorrelation ما إذا كنت تريد معالجة رؤوس الارتباطات القادمة إلى خدمة إدارة واجهة برمجة التطبيقات. ينطبق فقط على تشخيصات Application Insights. الافتراضي صحيح. قيمة منطقية
الواجهة الأمامية إعدادات التشخيص لرسائل HTTP الواردة/الصادرة إلى البوابة. PipelineDiagnosticSettings
معرف المسجل معرف المورد لمسجل الهدف. سلسلة (مطلوب)
أخذ العينات إعدادات أخذ العينات للتشخيص. SamplingSettings

HttpMessageDiagnostic

اسم وصف قيمة
جسم إعدادات تسجيل النص الأساسي. BodyDiagnosticSettings
رؤوس صفيف من عناوين HTTP لتسجيلها. سلسلة[]

إعدادات تخطيط البنية الأساسية لبرنامج ربط العمليات التجارية

اسم وصف قيمة
طلب إعدادات التشخيص للطلب. httpMessageDiagnostic
استجابه إعدادات التشخيص للاستجابة. httpMessageDiagnostic

إعدادات أخذ العينات

اسم وصف قيمة
النسبه المئويه معدل أخذ العينات لأخذ العينات بمعدل ثابت. الباحث

القيود:
قيمة الحد الأدنى = 0
القيمة القصوى = 100
نوع أخذ العينات نوع أخذ العينات. 'ثابت'

أمثلة الاستخدام

نماذج Azure Quickstart

تحتوي قوالب Azure Quickstart التالية على نماذج Bicep لنشر نوع المورد هذا.

ملف Bicep وصف
Application Gateway مع إدارة واجهة برمجة التطبيقات الداخلية وتطبيق الويب توجيه حركة مرور الإنترنت لبوابة التطبيق إلى مثيل APIM للشبكة الظاهرية (الوضع الداخلي) الذي يقوم بخدمات واجهة برمجة تطبيقات الويب المستضافة في Azure Web App.
إنشاء إدارة واجهة برمجة التطبيقات في VNet الداخلية باستخدام بوابة التطبيق يوضح هذا القالب كيفية إنشاء مثيل Azure API Management على شبكة خاصة محمية بواسطة بوابة تطبيق Azure.

تعريف مورد قالب ARM

يمكن نشر نوع مورد الخدمة/التشخيص مع العمليات التي تستهدف:

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

تنسيق المورد

لإنشاء مورد Microsoft.ApiManagement/service/diagnostics، أضف JSON التالي إلى القالب الخاص بك.

{
  "type": "Microsoft.ApiManagement/service/diagnostics",
  "apiVersion": "2018-06-01-preview",
  "name": "string",
  "properties": {
    "alwaysLog": "string",
    "backend": {
      "request": {
        "body": {
          "bytes": "int"
        },
        "headers": [ "string" ]
      },
      "response": {
        "body": {
          "bytes": "int"
        },
        "headers": [ "string" ]
      }
    },
    "enableHttpCorrelationHeaders": "bool",
    "frontend": {
      "request": {
        "body": {
          "bytes": "int"
        },
        "headers": [ "string" ]
      },
      "response": {
        "body": {
          "bytes": "int"
        },
        "headers": [ "string" ]
      }
    },
    "loggerId": "string",
    "sampling": {
      "percentage": "int",
      "samplingType": "string"
    }
  }
}

قيم الخصائص

Microsoft.ApiManagement/service/diagnostics

اسم وصف قيمة
apiVersion إصدار واجهة برمجة التطبيقات '2018-06-01-معاينة'
اسم اسم المورد خيط

القيود:
الحد الأدنى للطول = 1
الحد الأقصى للطول = 80
النمط = ^[^*#&+:<>?]+$ (مطلوب)
خصائص خصائص عقد الكيان التشخيصي. DiagnosticContractProperties
نوع نوع المورد "Microsoft.ApiManagement/service/diagnostics"

إعدادات تشخيص الجسم

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

القيود:
القيمة القصوى = 8192

الخصائص المكتملة للتشخيص

اسم وصف قيمة
AlwaysLog يحدد نوع إعدادات أخذ العينات للرسائل التي يجب ألا تنطبق. "جميع الأخطاء"
الواجهة الخلفية إعدادات التشخيص لرسائل HTTP الواردة/الصادرة إلى الخلفية PipelineDiagnosticSettings
تمكين عناوينHttpCorrelation ما إذا كنت تريد معالجة رؤوس الارتباطات القادمة إلى خدمة إدارة واجهة برمجة التطبيقات. ينطبق فقط على تشخيصات Application Insights. الافتراضي صحيح. قيمة منطقية
الواجهة الأمامية إعدادات التشخيص لرسائل HTTP الواردة/الصادرة إلى البوابة. PipelineDiagnosticSettings
معرف المسجل معرف المورد لمسجل الهدف. سلسلة (مطلوب)
أخذ العينات إعدادات أخذ العينات للتشخيص. SamplingSettings

HttpMessageDiagnostic

اسم وصف قيمة
جسم إعدادات تسجيل النص الأساسي. BodyDiagnosticSettings
رؤوس صفيف من عناوين HTTP لتسجيلها. سلسلة[]

إعدادات تخطيط البنية الأساسية لبرنامج ربط العمليات التجارية

اسم وصف قيمة
طلب إعدادات التشخيص للطلب. httpMessageDiagnostic
استجابه إعدادات التشخيص للاستجابة. httpMessageDiagnostic

إعدادات أخذ العينات

اسم وصف قيمة
النسبه المئويه معدل أخذ العينات لأخذ العينات بمعدل ثابت. الباحث

القيود:
قيمة الحد الأدنى = 0
القيمة القصوى = 100
نوع أخذ العينات نوع أخذ العينات. 'ثابت'

أمثلة الاستخدام

قوالب Azure Quickstart

قوالب Azure Quickstart التالية توزيع نوع المورد هذا.

قالب وصف
Application Gateway مع إدارة واجهة برمجة التطبيقات الداخلية وتطبيق الويب

نشر في Azure
توجيه حركة مرور الإنترنت لبوابة التطبيق إلى مثيل APIM للشبكة الظاهرية (الوضع الداخلي) الذي يقوم بخدمات واجهة برمجة تطبيقات الويب المستضافة في Azure Web App.
إنشاء إدارة واجهة برمجة التطبيقات في VNet الداخلية باستخدام بوابة التطبيق

نشر في Azure
يوضح هذا القالب كيفية إنشاء مثيل Azure API Management على شبكة خاصة محمية بواسطة بوابة تطبيق Azure.

تعريف مورد Terraform (موفر AzAPI)

يمكن نشر نوع مورد الخدمة/التشخيص مع العمليات التي تستهدف:

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

تنسيق المورد

لإنشاء مورد Microsoft.ApiManagement/service/diagnostics، أضف Terraform التالي إلى القالب الخاص بك.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ApiManagement/service/diagnostics@2018-06-01-preview"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      alwaysLog = "string"
      backend = {
        request = {
          body = {
            bytes = int
          }
          headers = [
            "string"
          ]
        }
        response = {
          body = {
            bytes = int
          }
          headers = [
            "string"
          ]
        }
      }
      enableHttpCorrelationHeaders = bool
      frontend = {
        request = {
          body = {
            bytes = int
          }
          headers = [
            "string"
          ]
        }
        response = {
          body = {
            bytes = int
          }
          headers = [
            "string"
          ]
        }
      }
      loggerId = "string"
      sampling = {
        percentage = int
        samplingType = "string"
      }
    }
  }
}

قيم الخصائص

Microsoft.ApiManagement/service/diagnostics

اسم وصف قيمة
اسم اسم المورد خيط

القيود:
الحد الأدنى للطول = 1
الحد الأقصى للطول = 80
النمط = ^[^*#&+:<>?]+$ (مطلوب)
parent_id معرف المورد الأصل لهذا المورد. معرف المورد من النوع: خدمة
خصائص خصائص عقد الكيان التشخيصي. DiagnosticContractProperties
نوع نوع المورد "Microsoft.ApiManagement/service/diagnostics@2018-06-01-preview"

إعدادات تشخيص الجسم

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

القيود:
القيمة القصوى = 8192

الخصائص المكتملة للتشخيص

اسم وصف قيمة
AlwaysLog يحدد نوع إعدادات أخذ العينات للرسائل التي يجب ألا تنطبق. "جميع الأخطاء"
الواجهة الخلفية إعدادات التشخيص لرسائل HTTP الواردة/الصادرة إلى الخلفية PipelineDiagnosticSettings
تمكين عناوينHttpCorrelation ما إذا كنت تريد معالجة رؤوس الارتباطات القادمة إلى خدمة إدارة واجهة برمجة التطبيقات. ينطبق فقط على تشخيصات Application Insights. الافتراضي صحيح. قيمة منطقية
الواجهة الأمامية إعدادات التشخيص لرسائل HTTP الواردة/الصادرة إلى البوابة. PipelineDiagnosticSettings
معرف المسجل معرف المورد لمسجل الهدف. سلسلة (مطلوب)
أخذ العينات إعدادات أخذ العينات للتشخيص. SamplingSettings

HttpMessageDiagnostic

اسم وصف قيمة
جسم إعدادات تسجيل النص الأساسي. BodyDiagnosticSettings
رؤوس صفيف من عناوين HTTP لتسجيلها. سلسلة[]

إعدادات تخطيط البنية الأساسية لبرنامج ربط العمليات التجارية

اسم وصف قيمة
طلب إعدادات التشخيص للطلب. httpMessageDiagnostic
استجابه إعدادات التشخيص للاستجابة. httpMessageDiagnostic

إعدادات أخذ العينات

اسم وصف قيمة
النسبه المئويه معدل أخذ العينات لأخذ العينات بمعدل ثابت. الباحث

القيود:
قيمة الحد الأدنى = 0
القيمة القصوى = 100
نوع أخذ العينات نوع أخذ العينات. 'ثابت'

أمثلة الاستخدام

عينات Terraform

مثال أساسي لنشر تشخيص خدمة إدارة واجهة برمجة التطبيقات.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "component" {
  type      = "Microsoft.Insights/components@2020-02-02"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    kind = "web"
    properties = {
      Application_Type                = "web"
      DisableIpMasking                = false
      DisableLocalAuth                = false
      ForceCustomerStorageForProfiler = false
      RetentionInDays                 = 90
      SamplingPercentage              = 100
      publicNetworkAccessForIngestion = "Enabled"
      publicNetworkAccessForQuery     = "Enabled"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "service" {
  type      = "Microsoft.ApiManagement/service@2021-08-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      certificates = [
      ]
      customProperties = {
        "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30" = "false"
        "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10" = "false"
        "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11" = "false"
        "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10"         = "false"
        "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11"         = "false"
      }
      disableGateway      = false
      publicNetworkAccess = "Enabled"
      publisherEmail      = "pub1@email.com"
      publisherName       = "pub1"
      virtualNetworkType  = "None"
    }
    sku = {
      capacity = 0
      name     = "Consumption"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "logger" {
  type      = "Microsoft.ApiManagement/service/loggers@2021-08-01"
  parent_id = azapi_resource.service.id
  name      = var.resource_name
  body = {
    properties = {
      credentials = {
        instrumentationKey = azapi_resource.component.output.properties.InstrumentationKey
      }
      description = ""
      isBuffered  = true
      loggerType  = "applicationInsights"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
  lifecycle {
    ignore_changes = [body.properties.credentials.instrumentationKey]
  }
}

resource "azapi_resource" "diagnostic" {
  type      = "Microsoft.ApiManagement/service/diagnostics@2021-08-01"
  parent_id = azapi_resource.service.id
  name      = "applicationinsights"
  body = {
    properties = {
      loggerId            = azapi_resource.logger.id
      operationNameFormat = "Name"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}