你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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>]

说明

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 器。

参数

-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