Azure Function 时区设置

azure,function · 浏览次数 : 36

小编点评

## 一、问题描述 在 Azure Function 中,我们发现默认情况下使用 UTC 时间,这可能导致业务数据不正常。由于 Azure Function 是微软提供的 IaaS 托管服务,我们无法直接登录服务器来修改时区。因此,我们需要通过配置来实现更改 Azure Function 时区的操作。 ## 二、解决方法 ### 1. 添加环境变量 #### 在 Azure Portal 中操作: 1. 登录 Azure Portal。 2. 找到当前正在运行的函数应用。 3. 点击“设置”>“环境变量”。 4. 在“应用程序设置”页面中,添加一个新的环境变量,名为 `WEBSITE_TIME_ZONE`,值设置为 `China Standard Time`。 #### 代码层面操作: 在 Azure Function 的代码中,我们可以在获取当前时间的地方,将时区更改为中国标准时间。例如,将以下代码: ```javascript const currentDate = new Date(); context.log(currentDate.toLocaleString()); ``` 更改为: ```javascript const currentDate = new Date(); const timezone = 'Asia/Shanghai'; // 更改时区为北京时间 const formattedDate = new Date(currentDate.getTime() + (timezone === 'Asia/Shanghai' ? 8 * 60 * 60 * 1000 : 0)); context.log(formattedDate.toLocaleString()); ``` 这里我们使用了第三方库 [moment.js](https://momentjs.com/) 来处理时区转换。 ### 2. 重启 Azure Function 在更改了环境变量或代码之后,我们需要重新启动 Azure Function 以使更改生效。通常,这可以通过 Azure Portal、Azure CLI 或其他工具来完成。 ## 三、参考链接 - [官方文档 - 如何更改 Azure Function 的时区](https://learn.microsoft.com/en-us/azure/function-how-to-scale-with-rules?tabs=javascript#configure-time-zones) - [ moment.js - 时区转换](https://momentjs.com/timezone/)

正文

一,引言

  Azure Function 上的默认使用UTC 运行程序,我们在获取时间,或者通过时间执行某些逻辑时,返回UTC 时间,导致业务数据不正常,由于 Azure Function 是微软提供的 IaaS 托管服务,我们无法登录服务器来修改时区,那么我们今天将来实践操作,如何通过配置达到更改 Azure Function 时区的操作。

二,正文

  首先,我们来还原一下问题,我们通过在代码中输出当前时间

    const currentDate=new Date();
    context.log(currentDate.toLocaleString());

当它在 Azure 影响服务器上运行时,我们可以看到它显示的时 UTC 时间。当我们的程序需要在中国地区使用,我们可以通过设置环境变量来时间这个需求

登录 Azure Portal ,找到当前运行的 function,选择 "Setting =》Environment",切换到 ”App settings“ 页面添加配置

WEBSITE_TIME_ZONE : China Standard Time

保存设置后,重新执行执行,输出日志

Bingo 🎉🎉🎉🎉🎉

三,结尾

参考链接:https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11

作者:Allen 

版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。

与Azure Function 时区设置相似的内容:

Azure Function 时区设置

一,引言 Azure Function 上的默认使用UTC 运行程序,我们在获取时间,或者通过时间执行某些逻辑时,返回UTC 时间,导致业务数据不正常,由于 Azure Function 是微软提供的 IaaS 托管服务,我们无法登录服务器来修改时区,那么我们今天将来实践操作,如何通过配置达到更改

【Azure 应用服务】Azure Powershell Function 出错 The term 'Connect-AzAccount' is not recognized

问题描述 在Azure Function中,执行Powershell的Function脚本时,先后出现 1:[Error] ERROR: The term 'Connect-AzAccount' is not recognized as a name of a cmdlet, function, s

【Azure 应用服务】Azure Function 部署槽交换时,一不小心把预生产槽上的配置参数交换到生产槽上,引发生产错误

问题描述 部署Function代码先到预生产槽中,进行测试后通过交换方式,把预生产槽中的代码交换到生产槽上,因为在预生产槽中的设置参数值与生产槽有不同,但是在交换的时候,没有仔细检查。导致在交换的时候,把预生产的一些设置值交换到生产中,引起生产错误。 那么是否只进行代码交换而不进行设置值的交换呢?

【Azure 应用服务】Azure Function Python函数中,如何获取Event Hub Trigger的消息Event所属于的PartitionID呢?

问题描述 在通过Azure Function消费Event Hub中的消息时,我们从Function 的 Trigger Details 日志中,可以获得当前Funciton中处理的消息是哪一个分区(PartitionID), 偏移量Offset,序列号SequenceNumber 等信息。 但是在

【Azure 应用服务】Azure Function Timer触发函数加上Singleton后的问题

问题描述 在Azure Function Timer Trigger的函数中,添加了Singleton属性,当Function的实例变为3个后,发现Timer函数并没有在三个实例上同时运行,每次触发时,都只有在一个实例上运行。这时因为Singleton属性的原因吗? 问题解答 在调查Singleto

【Azure Function App】Python Function调用Powershell脚本在Azure上执行失败的案例

问题描述 编写Python Function,并且在Function中通过 subprocess 调用powershell.exe 执行 powershell脚本。 import azure.functions as func import logging import subprocess app

【Azure Function App】在ADF(Azure Data Factory)中调用 Azure Function 时候遇见 Failed to get MI access token

问题描述 在ADF(Azure Data Factory)中,调用Azure Function App中的Function,遇见了 Failed to get MI access token There was an error while calling endpoint with error m

【Azure 应用服务】Azure Function App在部署时候遇见 503 ServiceUnavailable

问题描述 在VS Code中编写好 Azure Function App代码后,通过 func azure functionapp publish 部署失败,抛出 503 Service Unavailable 错误。 Getting site publishing info... Creating

【Azure Function App】Java Function部署到Azure后出现中文显示乱码问题

问题描述 Java Function在Azure上遇见中文显示乱码问题?如何解决呢? 问题解答 中文字符显示为乱码,这个情况就是服务实例上设置的编码格式不是统一的UTF-8所导致的。 在查看Azure App Service/Function App的官方文档,都没有明确的说明它们使用的默认编码是什

【Azure Function App】Nodejs Function遇见WorkerProcessExitException : node exited with code -1073740791 (0xC0000409) 错误

Exception while executing function: Functions.AzureBlobTrigger ---> Microsoft.Azure.WebJobs.Script.Workers.WorkerProcessExitException : node exited with code -1073740791 (0xC0000409)