AWS Lambda@Edge追加查询字符串到响应
创始人
2024-11-16 20:31:18
0

要在AWS Lambda@Edge中追加查询字符串到响应,你可以使用以下解决方法:

  1. 创建一个Lambda函数:

    exports.handler = async (event, context, callback) => {
      const response = event.Records[0].cf.response;
      const request = event.Records[0].cf.request;
    
      const queryStrings = [
        { key: 'param1', value: 'value1' },
        { key: 'param2', value: 'value2' },
      ];
    
      queryStrings.forEach((queryString) => {
        const { key, value } = queryString;
        const updatedUri = `${request.uri}?${key}=${value}`;
        response.headers['location'] = [{ key: 'Location', value: updatedUri }];
      });
    
      callback(null, response);
    };
    
  2. 部署Lambda函数:

    • 使用AWS CLI部署Lambda函数:
      aws lambda create-function --function-name AppendQueryStrings --runtime nodejs12.x --handler index.handler --role  --zip-file fileb://./lambda.zip --region 
      
    • 在AWS Lambda控制台中手动创建函数。
  3. 创建Lambda@Edge分发:

    • 在AWS CloudFront控制台中打开你的分发配置。
    • 在"Behaviors"选项卡下,选择你想要使用Lambda函数的行为。
    • 在"Lambda Function Associations"部分,选择"Viewer Response"事件类型,并输入你创建的Lambda函数的ARN。
    • 保存分发配置。

这样,当有请求触发CloudFront分发时,Lambda函数将会在响应返回给客户端之前,追加指定的查询字符串到响应的URL中。请根据你的实际需求修改代码中的查询字符串和Lambda函数的名称。

相关内容

热门资讯

安卓换鸿蒙系统会卡吗,体验流畅... 最近手机圈可是热闹非凡呢!不少安卓用户都在议论纷纷,说鸿蒙系统要来啦!那么,安卓手机换上鸿蒙系统后,...
安卓系统拦截短信在哪,安卓系统... 你是不是也遇到了这种情况:手机里突然冒出了很多垃圾短信,烦不胜烦?别急,今天就来教你怎么在安卓系统里...
app安卓系统登录不了,解锁登... 最近是不是你也遇到了这样的烦恼:手机里那个心爱的APP,突然就登录不上了?别急,让我来帮你一步步排查...
安卓系统要维护多久,安卓系统维... 你有没有想过,你的安卓手机里那个陪伴你度过了无数日夜的安卓系统,它究竟要陪伴你多久呢?这个问题,估计...
windows官网系统多少钱 Windows官网系统价格一览:了解正版Windows的购买成本Windows 11官方价格解析微软...
安卓系统如何卸载app,轻松掌... 手机里的App越来越多,是不是感觉内存不够用了?别急,今天就来教你怎么轻松卸载安卓系统里的App,让...
怎么复制照片安卓系统,操作步骤... 亲爱的手机控们,是不是有时候想把自己的手机照片分享给朋友,或者备份到电脑上呢?别急,今天就来教你怎么...
安卓系统应用怎么重装,安卓应用... 手机里的安卓应用突然罢工了,是不是让你头疼不已?别急,今天就来手把手教你如何重装安卓系统应用,让你的...
iwatch怎么连接安卓系统,... 你有没有想过,那款时尚又实用的iWatch,竟然只能和iPhone好上好?别急,今天就来给你揭秘,怎...
iphone系统与安卓系统更新... 最近是不是你也遇到了这样的烦恼?手机更新系统总是失败,急得你团团转。别急,今天就来给你揭秘为什么iP...