gpt4 book ai didi

从 Webhook 触发时 Azure 自动化 Runbook 失败

转载 作者:行者123 更新时间:2023-12-03 04:01:33 25 4
gpt4 key购买 nike

从 Webhook 触发时,Azure 自动化 Runbook 失败我们有一个运行手册,通过 Azure 门户中的“开始”按钮启动时运行良好。

使用完全相同的参数从 Webhook 启动时,完全相同的 Runbook 会失败。

问题是,在 Runbook 中的代码打开与 Azure 的有效连接后,它会尝试获取我们要使用的数据库之一,但失败并出现异常,显示“资源组 '''' 可能找不到。”

在 Webhook 外部运行时,完全相同的代码和参数不会出现任何问题。

我们在代码登录后添加了获取上下文的代码,并检查了上下文名称、订阅 ID 和租户 ID 是否有效,我们甚至将上下文传递给 Get-AzSqlDatabase 调用,但触发时仍然失败通过网络钩子(Hook)。我们不确定还可以尝试什么来诊断和纠正该问题。

这是我们运行的代码示例以及失败的地方......

. . .
Function Login {
Disable-AzContextAutosave -Scope Process

Write-Output "Logging in to Azure..."
$connectionName = "GoodTestingConnection"
try{
Connect-AzAccount -ServicePrincipal -Tenant $servicePrincipalConnection.TenantId `
-ApplicationId $servicePrincipalConnection.ApplicationId `
-CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint
}
catch {
Write-Output "Error loging in to Azure: $_"
throw "Error loging in to Azure: $_"
}
}

$ErrorActionPreference = "Stop"

if ($WebHookData) {
Write-Output "Running runbook from web hook request"
$wbRunParams = (ConvertFrom-Json -InputObject $WebHookData.RequestBody)
Write-Output "Webhook parameters $wbRunParams"
$client = $wbRunParams.client

Write-Output "Running process for client $client"
}

Login

$ctx = Get-AzContext
Write-Output "Context nanme: $($ctx.Name)"
Write-Output "Environment name: $($ctx.Environment.Name)"
Write-Output "Subscription ID: $($ctx.Subscription.Id)"
Write-Output "Tenant ID: $($ctx.Tenant.Id)"

Write-Output "Getting the 'from' Db..."
$fromDb = Get-AzSqlDatabase `
-DatabaseName $copyFromDbName `
-ServerName $copyFromServer `
-ResourceGroupName $copyFromRG `
-DefaultProfile $ctx
$fromDb

#The code never reaches this point as it fails on the previous call
. . .

最佳答案

我也遇到了同样的问题。这对我有用。

当通过启动选项或测试 Pane 触发自动化 Runbook 时,需要转换格式。这是你会使用的时候

$wbRunParams = (ConvertFrom-Json -InputObject $WebHookData.RequestBody)

当 Runbook 必须由 Webhook 直接触发时,无需转换,下面的代码即可工作。

$wbRunParams = $WebHookData.RequestBody

关于从 Webhook 触发时 Azure 自动化 Runbook 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62073444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com