Azure 函数应用程序 - PHP $_GET / $_POST / $_REQUEST

Azure Function App - PHP $_GET / $_POST / $_REQUEST

PHP.

中似乎没有任何明确的文档来收集对 Azure Functions 运行 的 GET/POST 请求

我已经尝试了通常的 var_dump 和这些方法的变体来收集数据。包括,当集成HTTP请求作为输入时,定义变量为"req".

即使指定 $_REQUEST['req'] 似乎也不会将 POST/GET 数据加载到函数中。

顺便说一句,如果您碰巧知道如何将数据加载到集成的 DocumentDB 输出中,那同样会有帮助。

没有得到回复,所以继续调查。似乎默认 "req" 值仅在使用 file_get_contents(getenv('req'))

时提供 POST 请求的请求正文

如果您要在 POST 或 GET 中查找实际请求参数,这尤其没有帮助。

你应该找到你需要的一切 var_dump($_SERVER) 它很乱,但你得到了你需要的值。如果其他人找到了一种更优雅的方法来获得这些值,post 离开。

顺便说一句,可以通过以下方式转储到 DocumentDB 绑定; file_put_contents(getenv('VariableName'), "{ \"JSON\" : \"JSON Details\" } ");

您可以通过引用 REQ_QUERY_<NAME>/REQ_HEADERS_<NAME> 环境变量来访问请求 parameters/headers。例如:

<?php
  /* request body */
  $body = file_get_contents(getenv('req'));
  $body = rtrim($body, "\n\r");
  fwrite(STDOUT, "PHP script processed request body '$body'\r\n");

  /* access query parameter 'test' */
  $test = getenv('req_query_test');
  fwrite(STDOUT, "Parameter Test='$test'\r\n");

  /* access header 'test' */
  $test = getenv('req_headers_test');
  fwrite(STDOUT, "Header Test='$test'\r\n");
?>

同样,如果您的函数有路由参数,则可以通过 REQ_PARAMS_<NAME> 环境变量访问它们。