开发者社区 > 云原生 > Serverless > 正文

我现在是2个别名指向2个环境,想给不同环境配不同的key该怎么做,我发现只有latest才可以配置环

我现在是2个别名指向2个环境,想给不同环境配不同的key该怎么做,我发现只有latest才可以配置环境变量

展开
收起
码字王 2023-05-17 11:28:42 11733 0
5 条回答
写回答
取消 提交回答
  • 值得去的地方都没有捷径

    如果您使用的是AWS Lambda,您可以在Lambda函数的配置页面上设置环境变量。在Lambda函数的配置页面上,您可以为您的函数设置多个别名,并在每个别名下设置不同的环境变量。在设置环境变量时,您可以选择使用默认别名(即"$LATEST")或选择特定的别名来设置环境变量。如果您选择特定的别名,则只有该别名下的Lambda函数会使用设置的环境变量。

    如果您使用的是其他云服务提供商或自己的服务器,您可以在操作系统级别设置环境变量。在Linux上,您可以在/etc/environment文件中设置全局环境变量,或在用户的.bashrc文件中设置用户级别的环境变量。在Windows上,您可以在系统属性的高级选项中设置全局环境变量,或在用户的环境变量中设置用户级别的环境变量。

    无论您使用哪种方法,都应该为每个环境设置不同的环境变量,以确保它们使用不同的密钥。

    2023-05-20 18:17:07
    赞同 展开评论 打赏
  • 是只有latest版本才可以修改,如果环境变量需要频繁修改的话可以写文件或者写层

    此答案来自钉钉群“阿里函数计算官网客户"

    2023-05-17 17:52:55
    赞同 展开评论 打赏
  • 您可以考虑使用业务参数的方式来实现不同环境使用不同 API Key。

    业务参数是云产品控制台提供的一个应用参数配置平台,能够实现在不同的环境中配置不同的参数值,比如同一个 APP 同时连接两个不同的环境,每个环境使用不同的 API Key。

    具体配置步骤如下:

    1. 登录阿里云控制台,在应用发布列表中找到您的应用并单击进入。

    2. 在应用详情页中找到“业务参数”选项卡进入业务参数页面。

    3. 在业务参数页面中,找到您想要配置的参数,并在右侧的“参数值”列中进行设置。

      在这里您可以创建两个环境变量分别为 API Key 和 Secret,指向两个不同环境的值。

    4. 在代码里通过 EMAS 配置服务SDK 的 EMASOptions 对象来指定业务参数。

      具体代码示例:

      EMASOptions options = new EMASOptions.Builder()
         .setAppKey("<your-appkey>")
         .setAppSecret("<your-app-secret>")
         .setEnvMode(EMASOptions.EMAS_ENV_MODE_ONLINE)
         .setBizParamValue("api_key", "<your-api-key>")
         .setBizParamValue("secret", "<your-secret>")
         .build();
      

      其中,setBizParamValue 方法可以用来设置业务参数的值,参数名以及参数值需要和控制台中设置的名称和值相对应。

    通过这种方式,您就可以在项目中指定不同的业务参数值来连接不同的环境和 API Key,从而实现应用在不同环境中的配置管理。

    2023-05-17 14:53:21
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    在阿里云函数计算中,您可以通过使用环境变量来配置不同环境的key。但是,您提到只有latest才可以配置环境变量,这可能是因为您没有在函数计算中创建并发布别名。

    要配置不同环境的key,您需要先创建并发布别名,然后在别名上配置环境变量。以下是具体步骤:

    1. 创建并发布别名

    在函数计算控制台中,选择您的函数,并在函数配置页面中选择“版本与别名”选项卡。在这里,您可以创建新的别名,并将其指向您的函数版本。请确保为每个环境都创建一个别名,并将其指向相应的函数版本。

    1. 配置环境变量

    在别名页面中,您可以为每个别名配置不同的环境变量。选择您要配置的别名,然后在“环境变量”选项卡中添加环境变量。您可以为每个别名添加不同的环境变量,以满足不同环境的需求。

    1. 在函数代码中使用环境变量

    在函数代码中,您可以使用process.env来访问环境变量。例如,如果您在别名中添加了一个名为“API_KEY”的环境变量,您可以使用以下代码来获取该环境变量的值:

    const apiKey = process.env.API_KEY;
    

    您需要创建并发布别名,并在别名上配置环境变量,才能为不同环境配置不同的key。

    2023-05-17 11:56:37
    赞同 展开评论 打赏
  • CSDN全栈领域优质创作者,万粉博主;InfoQ签约博主;华为云享专家;华为Iot专家;亚马逊人工智能自动驾驶(大众组)吉尼斯世界纪录获得者

    如果您想为不同的环境配置不同的key,可以使用不同的别名来指向不同的环境。例如,您可以创建一个名为“dev”的别名,然后使用以下命令将其指向您的开发环境:

    
    docker run -d -p 3000:3000 --name dev my-image
    
    
    

    这将创建一个名为“dev”的容器,并将其映射到主机的3000端口。现在,您可以在该容器中设置不同的环境变量,如下所示:

    
    export MY_KEY=my_value_for_dev
    
    
    

    这将设置一个名为“MY_KEY”的环境变量,其值为“my_value_for_dev”,仅适用于当前的“dev”环境。

    如果您想在其他环境中使用不同的key,请使用相应的别名来指向该环境。例如,如果您想在名为“prod”的环境中使用另一个key,可以使用以下命令:

    
    docker run -d -p 4000:4000 --name prod my-image
    export MY_KEY=my_value_for_prod
    
    
    

    这将创建一个名为“prod”的容器,并将其映射到主机的4000端口。然后,您可以在该容器中设置不同的环境变量,以便仅在该环境中使用。

    2023-05-17 11:47:13
    赞同 展开评论 打赏
问答地址:

快速交付实现商业价值。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载