0

我将解释我要求的任务:

我在 Azure 中有两个容器,一个叫做“数据”,一个叫做“脚本”。在“数据”容器中有一个包含数据的 txt 文件,在“脚本”容器中有一个脚本文件。

现在,我需要以编程方式(使用 WorkerRole)来执行脚本文件,并将数据文件的内容作为参数(例如:一个接受字符串 's' 并返回屏幕“Hello,'s'”的脚本文件,当's'在给定的字符串中,并且在数据文件中有一个字符串),并将运行结果保存到另一个文件中,该文件需要保存在另一个名为“result”的容器中。

我该如何做所有这些?我已经上传了文件并以编程方式创建了 blob,但我似乎无法理解如何执行文件以及如何将其结果保存到另一个文件?我可以帮忙吗?

提前致谢

4

1 回答 1

1

以下是伪代码中的步骤:

  1. 从 blob 中检索脚本(使用DownloadToStream()
  2. 编译脚本(我会把这个留给你,因为我不知道你的脚本是什么格式)
  3. 从 blob 加载参数(与步骤 1 相同)
  4. 使用这些参数执行脚本。

如果您的脚本可以写成 lambda 表达式,那么这会变得容易得多,因为您可以将它们变成Action's

根据您的问题进行编辑:

  1. DownloadText()不再包含在 Azure Storage 2.0 中,您只能访问DownloadToStream(). 即使您使用的是旧版本(例如 1.7),我也建议DownloadToStream()您在将来升级时使用。这将避免不得不重构您的代码。
  2. 在执行你的脚本方面,取决于它是什么类型的脚本(如果是c#代码你可以使用这个例子:Is it possible to dynamic compile and execute C# code fragment?。如果你需要执行不同类型的脚本你需要使用它来运行它Process.Start,你可以看看这个例子: http: //www.dotnetperls.com/process-start

我对第 2 点没有太多经验,但这些是我听到和看到使用的过程。

于 2013-04-12T14:34:49.843 回答