如何使用PowerShell在Azure函数中加载文件
我有一个小函数,它接受一个美国电话区号数组,并返回一个与所在州配对的区号数组 各州区号的“主列表”在我的函数中是一个很长的变量。我想把它放在CSV文件中如何使用PowerShell在Azure函数中加载文件,powershell,azure,azure-functions,Powershell,Azure,Azure Functions,我有一个小函数,它接受一个美国电话区号数组,并返回一个与所在州配对的区号数组 各州区号的“主列表”在我的函数中是一个很长的变量。我想把它放在CSV文件中 我是Azure函数的初学者,但即使文件位于根文件夹中,获取内容。\filename.csv也不起作用。Azure函数目录的路径是 D:\home\site\wwwroot\<YourFunctionName> D:\home\site\wwwroot\ 要加载CSV文件,请在PowerShell脚本中使用以下命令: Get-Co
我是Azure函数的初学者,但即使文件位于根文件夹中,
获取内容。\filename.csv
也不起作用。Azure函数目录的路径是
D:\home\site\wwwroot\<YourFunctionName>
D:\home\site\wwwroot\
要加载CSV文件,请在PowerShell脚本中使用以下命令:
Get-Content D:\home\site\wwwroot\<YourFunctionName>\filename.csv
获取内容D:\home\site\wwwroot\\filename.csv
下面是一个示例输出,用于将区号加载到状态映射文件
2017-03-11T09:21:57.185 Function started (Id=9c93e8cf-4cf0-487e-b86e-02e57b41b8de)
2017-03-11T09:21:58.357 Area code,State,State code
2017-03-11T09:21:58.357 201,New Jersey,NJ
2017-03-11T09:21:58.357 202,"Washington,DC",DC
2017-03-11T09:21:58.357 203,Connecticut,CT
2017-03-11T09:21:58.357 205,Alabama,AL
....<more logging>....
2017-03-11T09:21:57.185功能启动(Id=9c93e8cf-4cf0-487e-b86e-02e57b41b8de)
2017-03-11T09:21:58.357区号,州,州代码
2017-03-11T09:21:58.357201,新泽西州新泽西州
2017-03-11T09:21:58.357202,“华盛顿特区”
2017-03-11T09:21:58.357 203,康涅狄格州,康涅狄格州
2017-03-11T09:21:58.357205,阿拉巴马州
........
其他工具和资源:
i。Kudu控制台-您可以使用Kudu控制台浏览功能应用程序的目录结构。我有时使用Kudu控制台在Azure函数运行时之外测试
run.ps1
脚本
要使用Kudu控制台,请执行以下步骤:
ii。带上您自己的模块-您也可以加载您自己的自定义模块,并在
run.ps1
脚本中使用它们。提供了如何实现这一点的详细信息。当情况可能发生变化时,引用绝对路径从来都不是一个好主意。要使用始终指向正确路径的变量,请执行以下操作:
$EXECUTION\u CONTEXT\u FUNCTIONDIRECTORY
,该目录将返回Azure函数运行时所在的当前文件夹
要在手头的问题中使用此选项:
Get-Content -Path "$EXECUTION_CONTEXT_FUNCTIONDIRECTORY\filename.csv"
关于这方面的文件:
我在应用程序服务控制台中运行了此搜索:
D:\home\site\wwwroot>set | findstr /c:wwwroot
AZURE_JETTY93_CMDLINE=-Djava.net.preferIPv4Stack=true -Djetty.port=%HTTP_PLATFORM_PORT% -Djetty.base="D:\Program Files (x86)\jetty-distribution-9.3.25.v20180904" -Djetty.webapps="d:\home\site\wwwroot\webapps" -jar "D:\Program Files (x86)\jetty-distribution-9.3.25.v20180904\start.jar" etc\jetty-logging.xml
AZURE_JETTY9_CMDLINE=-Djava.net.preferIPv4Stack=true -Djetty.port=%HTTP_PLATFORM_PORT% -Djetty.base="D:\Program Files (x86)\jetty-distribution-9.1.0.v20131115" -Djetty.webapps="d:\home\site\wwwroot\webapps" -jar "D:\Program Files (x86)\jetty-distribution-9.1.0.v20131115\start.jar" etc\jetty-logging.xml
DEPLOYMENT_TARGET=D:\home\site\wwwroot
WEBROOT_PATH=D:\home\site\wwwroot
您似乎也可以使用DEPLOYMENT\u TARGET或WEBROOT\u PATH环境变量作为资源文件的基本路径。非常有效。这就是我一直在寻找的,非常感谢。在azure funciton中使用powershell为我工作