2017-06-22 26 views
0

对于我的任务,我使用的是本地保存的数据。到目前为止,我已经成功地使用Path.GetTempPath()来获取临时文件夹并在那里保存数据并执行一些计算。临时文件夹在系统驱动器上,不够大(大约30GB)。我正在使用1000GB硬盘的虚拟机。Azure批处理任务中的本地VM存储

我想将数据写入大C:\驱动器,但它会抛出一个异常: Access to the path 'C:\whatever_the_path_is' is denied.当我尝试访问它时。

我看到在PoolNonAdmin[some-digits]用户下运行的任务显然没有足够的权限。

是否有任何特殊的API使用本地存储与Azure批处理任务?

编辑:我熟悉%AZ_BATCH_NODE_SHARED_DIR%但由于具体的原因,我不能使用它。

回答

1

对于引用临时磁盘的路径,您可以使用Azure Batch定义的环境变量。例如,%AZ_BATCH_TASK_WORKING_DIR%将以当前任务的工作目录为目标(并且可由任务运行的任何用户写入)。或者%AZ_BATCH_NODE_SHARED_DIR%变量将引用永远在临时磁盘上的共享目录路径;所有用户(为其运行任务,无论是管理员,非管理员还是临时任务用户)都可以写入此目录。您可以查看由Azure Batch here定义的所有环境变量。