跳转至

在函数内使用环境变量

在 Hyac 中,您可以通过 context.env 对象来动态地读取和设置特定于该函数实例的环境变量。这对于管理配置、密钥或其他运行时需要的数据非常有用。

一个核心特性是,所有对环境变量的修改(无论是通过管理后台还是通过代码)都是实时生效的,无需重启应用或函数

1. 获取环境变量

您可以使用 context.env.get("VARIABLE_NAME") 方法来获取一个环境变量的值。

async def handler(context):
    """
    一个演示如何获取环境变量的函数。
    """
    # 获取名为 'API_KEY' 的环境变量
    api_key = context.env.get("API_KEY")

    if not api_key:
        return {"error": "API_KEY not configured."}

    return {"message": f"Successfully retrieved API_KEY: {api_key[:4]}****"}

2. 设置环境变量

您可以使用 await context.env.set("VARIABLE_NAME", "VALUE") 方法来设置或更新一个环境变量。这是一个异步操作。

重要提示: 通过此方法设置的环境变量是持久化的,它会覆盖在管理后台设置的同名变量,并在该函数的所有未来执行中生效,且无需重启。

async def handler(context):
    """
    一个演示如何设置环境变量的函数。
    """
    new_api_key = "a-new-secret-key-generated-at-runtime"

    # 设置或更新名为 'API_KEY' 的环境变量
    await context.env.set("API_KEY", new_api_key)

    return {"message": "API_KEY has been updated successfully."}

通过结合使用 getset 方法,您可以实现动态配置管理、状态持久化等高级功能,而无需担心因配置变更而中断服务。