时间触发的 Azure 功能的定价:哪些存储需要收费?

时间触发的 Azure 功能的定价:哪些存储需要收费?

我找不到关于在 Azure 上托管一个函数(使用 C#)需要多少费用的确切信息。假设我没有在 Azure 上运行任何其他程序,只有一个运行时间为 1 秒、每小时运行一次且仅消耗 1 MB RAM 的函数(据我所知,第一类是 128 MB),那么每月总共需要多少费用(包括我可能需要运行 Azure 函数的其他费用,可能是最小的消耗计划?)?是否有一些与使用无关的每月修复成本?总费用是否低于每月 5 美元?每月 5 美元我有什么替代方案?

编辑

由于缺乏有价值的回复,我决定冒险一试。一天后,我被收取了 0.01 美元的标准 IO 费用(抱歉,是德语):

标准输入输出

我没有为该函数本身付费,因为它比免费赠款少。有人能向我解释一下我在执行以下函数时使用了什么存储(blob?文件?表?队列?)吗?该函数通过尝试仅下载 pdf 的第一个字节来检查 pdf 是否可供下载。

public static void Run(TimerInfo myTimer, TraceWriter log)
{
  DateTime start = DateTime.Now;
  log.Info("-------------------------------------------");     
  log.Info($"C# Timer trigger function executed at: {start}");

  string[] urls = { "http://www.somewhere.com/foo.pdf", "http://www.somewhere.com/bar.pdf" };

  for (int i = 0; i < urls.Length; i++)
  {
    bool hasContent = HasWebPageContent(uri);
    string output = $"Exists {file} = {hasContent}";
    log.Info(output);
  }

  log.Info($"C# Timer trigger function execution ended and ran for {DateTime.Now.Subtract(start).TotalMilliseconds} ms.");
}

private static bool HasWebPageContent(string url)
{
  HttpWebRequest request;
  const int bytesToGet = 1;
  request = WebRequest.Create(url) as HttpWebRequest;
  var buffer = new char[bytesToGet];

  try
  {
    using (WebResponse response = request.GetResponse())
    {
      using (StreamReader sr = new StreamReader(response.GetResponseStream()))
      {
        sr.Read(buffer, 0, bytesToGet);
      }
    }
  }
  catch { return false; }

  return true;
}

答案1

Azure Functions 每月费用的公式很简单:

内存大小 X 执行时间 x 每月执行次数

如果内存大小 X 执行时间< 400,000 GB/s = 免费

如果执行时间 X 执行次数/月< 1,000,000 = 免费

因此,对于您的特定情况,128MB x 1s x 1/月 = 免费

只需 5 美元,您就可以获得高达 1024MB 的内存、数千次的执行时间,并且每月运行超过 700 次。

请参阅定价计算器以获得更好的估计。

答案2

仅供参考,不作任何保证:连续 20 天每小时运行一次 Azure 函数,执行时间为 1 秒,之后我将支付 0.07 美元的存储消耗费用。如图所示,正如预期的那样,我处于每月消费计划免费补助范围内。

包括 贮存

答案3

Azure Functions 消费计划根据资源消耗和执行情况计费。消费计划定价包括每月免费授予 100 万个请求和每月 400,000 GB 的资源消耗。

有关消费计划费用的更多信息,您可以参考此关联

另外,您可以选择免费的应用服务计划,只需支付存储账户费用。

相关内容