共用方式為


New-AzApiManagementDiagnostic

在全域範圍或 Api 範圍建立新的診斷。

語法

New-AzApiManagementDiagnostic
   -Context <PsApiManagementContext>
   -LoggerId <String>
   [-DiagnosticId <String>]
   [-AlwaysLog <String>]
   [-ApiId <String>]
   [-SamplingSetting <PsApiManagementSamplingSetting>]
   [-FrontEndSetting <PsApiManagementPipelineDiagnosticSetting>]
   [-BackendSetting <PsApiManagementPipelineDiagnosticSetting>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Cmdlet New-AzApiManagementDiagnostic 會在全域範圍或特定 Api 範圍建立診斷實體。

範例

範例 1:建立新的全域範圍診斷

$context = New-AzApiManagementContext -ResourceGroupName "Api-Default-WestUS" -ServiceName "contoso"
$logger = Get-AzApiManagementLogger -Context $context -LoggerId "backendapisachinc"
$samplingsetting = New-AzApiManagementSamplingSetting -SamplingType fixed -SamplingPercentage 100
New-AzApiManagementDiagnostic -LoggerId $logger.LoggerId -Context $context -AlwaysLog allErrors -SamplingSetting $samplingSetting  -DiagnosticId "applicationinsights"

DiagnosticId                 : applicationinsights
ApiId                        :
AlwaysLog                    : allErrors
LoggerId                     : backendapisachinc
EnableHttpCorrelationHeaders : True
SamplingSetting              : Microsoft.Azure.Commands.ApiManagement.ServiceManagement.Models.PsApiManagementSamplingSetting
FrontendSetting              :
BackendSetting               :
Id                           : /subscriptions/subid/resourceGroups/Api-Default-WestUs/providers/Microsoft.ApiManagement/service/contoso/diagnostics/applicationinsights
ResourceGroupName            : Api-Default-WestUs
ServiceName                  : contoso

此範例會在全域範圍建立診斷實體。

範例 2:在 Api 範圍建立診斷

$context = New-AzApiManagementContext -ResourceGroupName "Api-Default-WestUS" -ServiceName "contoso"
$logger = Get-AzApiManagementLogger -Context $context -LoggerId azuremonitor
$samplingsetting = New-AzApiManagementSamplingSetting -SamplingType fixed -SamplingPercentage 100
$httpMessageDiagnostic = New-AzApiManagementHttpMessageDiagnostic -HeadersToLog 'Content-Type', 'User-Agent' -BodyBytesToLog 100
$pipelineDiagnostic = New-AzApiManagementPipelineDiagnosticSetting -Request $httpMessageDiagnostic -Response $httpMessageDiagnostic
New-AzApiManagementDiagnostic -LoggerId $logger.LoggerId -Context $context -ApiId httpbin -AlwaysLog allErrors -SamplingSetting $samplingsetting -FrontEndSetting $pipelineDiagnostic -BackendSetting $pipelineDiagnostic -DiagnosticId azuremonitor

DiagnosticId                 : azuremonitor
ApiId                        : httpbin
AlwaysLog                    : allErrors
LoggerId                     : azuremonitor
EnableHttpCorrelationHeaders :
SamplingSetting              : Microsoft.Azure.Commands.ApiManagement.ServiceManagement.Models.PsApiManagementSamplingSetting
FrontendSetting              : Microsoft.Azure.Commands.ApiManagement.ServiceManagement.Models.PsApiManagementPipelineDiagnosticSetting
BackendSetting               : Microsoft.Azure.Commands.ApiManagement.ServiceManagement.Models.PsApiManagementPipelineDiagnosticSetting
Id                           : /subscriptions/subid/resourceGroups/Api-Default-WestUS/providers/Microsoft.ApiManagement/service/contoso/apis/httpbin/diagnostics/azuremonitor      
ResourceGroupName            : Api-Default-WestUS
ServiceName                  : contoso

上述範例會建立 API httpbin 的診斷,以記錄要記錄的標頭和 100 個字節的 azuremonitor Body。

參數

-AlwaysLog

指定不應該套用何種類型的訊息取樣設定。 這是選擇性參數。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-ApiId

現有 API 的識別碼。 如果指定 ,則會設定 API 範圍原則。 這是必要參數。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-BackendSetting

傳入/傳出 Http 訊息至後端的診斷設定。 這是選擇性參數。

類型:PsApiManagementPipelineDiagnosticSetting
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-Confirm

執行 Cmdlet 之前先提示您確認。

類型:SwitchParameter
別名:cf
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Context

PsApiManagementContext 的實例。 此為必要參數。

類型:PsApiManagementContext
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-DefaultProfile

用於與 Azure 通訊的認證、帳戶、租用戶和訂用帳戶。

類型:IAzureContextContainer
別名:AzContext, AzureRmContext, AzureCredential
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-DiagnosticId

診斷實體的標識碼。 這是選擇性參數。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-FrontEndSetting

傳入/傳出 Http 訊息至閘道的診斷設定。 這是選擇性參數。

類型:PsApiManagementPipelineDiagnosticSetting
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-LoggerId

要推送診斷的記錄器標識碼。 此為必要參數。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-SamplingSetting

診斷的取樣設定。 這是選擇性參數。

類型:PsApiManagementSamplingSetting
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。

類型:SwitchParameter
別名:wi
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

PsApiManagementContext

String

PsApiManagementSamplingSetting

PsApiManagementPipelineDiagnosticSetting

輸出

PsApiManagementDiagnostic