gpt4 book ai didi

Azure Function PowerShell 检索和解析 HTTP POST 触发器正文

转载 作者:行者123 更新时间:2023-12-03 06:16:09 25 4
gpt4 key购买 nike

我从 Azure Synapse 触发 Azure 函数,并发送构造的字符串作为 HTTP POST 请求的正文。

我试图将其转换为 PS 对象,然后对这些值执行某些操作 - 但由于某种原因我失败了,并且变量 regionenvironment 为空:

2023-05-12T11:17:13Z   [Information]   INFORMATION: region: 
2023-05-12T11:17:13Z [Information] INFORMATION: environment:

我检查了管道中Synapse“Azure Function”组件的输入,输入如下:

{
"functionName": "MyFunc",
"method": "POST",
"headers": {},
"body": "{environment: 'q', region: 'de', delta: 'true'}"
}

我还使用了“正文”的内容并使用自定义正文进行了测试/运行(复制粘贴它),但失败了。

这是我的 Powershell 中的 PS 代码:

using namespace System.Net
param($Request)
$request_body = $Request.Body | ConvertFrom-Json

$region = $request_body.region
$environment = $request_body.environment
Write-Host "Loaded runtime config from request body."
Write-Host "region: $region"
Write-Host "environment: $environment"

如果我在本地执行以下操作,它会正确解析它:

PS > $a = "{environment: 'q', region: 'de', delta: 'true'}"
PS > $b = $a | ConvertFrom-Json
PS > $b
environment region delta
----------- ------ -----
q de true
PS > Write-Host $b.environment
q

感谢任何帮助。

最佳答案

我已经有了正确的解决方案...问题是过时的 PS ('6.*') 版本。将 requirements.psd1 更新为 'az' = '9.*' 后,它现在可以工作了。

但是,最终我通过将 Synapse 中的 JSON 传递到 HTTP 主体中来解决了这个问题。最初让我困惑的是 JSON 对象在日志中显示为字符串,但这实际上是不正确的。它仍然是一个对象。

关于Azure Function PowerShell 检索和解析 HTTP POST 触发器正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76235842/

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