似乎沒有任何明確的文檔來收集在PHP中運行的Azure函數的GET/POST請求。
我試過通常的var_dump和那些收集數據的差異。在將HTTP請求作爲輸入集成時,將變量定義爲「req」。
即使指定$ _REQUEST ['req']似乎也不會將POST/GET數據加載到函數中。另外,如果您碰巧知道如何將數據加載到一個集成的DocumentDB輸出中,那也同樣有幫助。
似乎沒有任何明確的文檔來收集在PHP中運行的Azure函數的GET/POST請求。
我試過通常的var_dump和那些收集數據的差異。在將HTTP請求作爲輸入集成時,將變量定義爲「req」。
即使指定$ _REQUEST ['req']似乎也不會將POST/GET數據加載到函數中。另外,如果您碰巧知道如何將數據加載到一個集成的DocumentDB輸出中,那也同樣有幫助。
您可以通過引用REQ_QUERY_<NAME>
/REQ_HEADERS_<NAME>
環境變量來訪問請求參數/標題。例如:
<?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>
環境變量訪問。
沒有得到答覆,所以不斷調查。看起來,默認的「req」值僅在使用時向POST請求提供請求正文file_get_contents(getenv('req'))
如果您在POST或GET中查找實際的請求參數,這特別沒有幫助。
你應該找到你需要的一切var_dump($_SERVER)
它很混亂,但你得到你需要的值。如果其他人發現了一種更優雅的獲得價值觀的方式,請發佈。
順便說一下,傾倒到DocumentDB綁定可以通過; file_put_contents(getenv('VariableName'), "{ \"JSON\" : \"JSON Details\" } ");