AWS S3 预签名 URL 包含 X-Amz-Security-Token

2023-12-21

我正在尝试使用 go sdk 为 S3 存储桶中的文件创建预签名 URL。

当我从命令行运行程序时,我得到了不包含 X-Amz-Security-Token 的预签名 URL。

但如果我使用 lambda 函数中的相同代码,我总是会在 URL 中获得 X-Amz-Security-Token。

我不确定为什么这种行为有所不同。

这是代码 -

func CreatePreSignedURL(bucketName string, path string) (string, error) {

    sess, err := session.NewSession(&aws.Config{
        Region: aws.String("us-east-1")},
    )

    svc := s3.New(sess)

    req, _ := svc.GetObjectRequest(&s3.GetObjectInput{
        Bucket: aws.String(bucketName),
        Key:    aws.String(path),
    })

    urlStr, err := req.Presign(60 * time.Minute)

    if err != nil {
        fmt.Println("error in generarting presigned URL is ", err)
        return urlStr, err
    }

    return urlStr, nil
}

lambda 生成的 URL 相当长,对于我的应用程序,我期望没有 X-Amz-Security-Token 的较短 URL


当该函数在命令行中运行时,它会生成带有可能存储在环境变量或中的 IAM 凭证的预签名 URL~/.aws/config.

Temporary credentials are assigned for the IAM role associated 1 https://docs.aws.amazon.com/lambda/latest/dg/accessing-resources.html with the function when invoked in AWS Lambda environment.

AWS necessitates that requests made with temporary credentials include x-amz-security-token header. 2 https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html#UsingTemporarySecurityCredentials

我不认为 URL 的长度是一个问题。

如果您希望在本地和 Lambda 函数环境中保持一致的行为,一个简单的方法是在 Lambda 函数环境中设置 AWS 凭证。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AWS S3 预签名 URL 包含 X-Amz-Security-Token 的相关文章

随机推荐

  • 将networkx图转换为Gephi

    我正在尝试转换Pythonnetworkx图形到 Gephi 兼容文件 但是 我遇到了一些我不知道如何解决的问题 问题 我们如何将节点特征向量合并到gexf文件中 我不断收到错误 TypeError 不允许属性值类型 如果我删除下面的节点功
  • 如何在一个页面中处理多个表单

    我正在一页工作 如下所示 div div
  • 在React中使用for循环和switch case来动态渲染不同的组件

    我正在尝试使用 React JSX 中的 switch case 有条件地渲染组件 我正在尝试构建一些从特定 json 结构读取并呈现数据的东西 由于可能有许多不同的组件和数据 因此我尝试动态渲染它 请参阅下面的代码 我没有收到任何错误 但
  • 将显示的价格替换为缺货 WooCommerce 产品的文本

    我不是专家 但我需要在我的 Woocommerce 产品页面中更改 out of stoke 产品的价格 我找到了如何将价格更改为 已售出 并且有效 Change price to sold add filter woocommerce p
  • 为什么使用参数化查询或实体框架可以防止 SQL 注入?

    我已经很好地掌握了 SQL 注入 当 SQL 查询应该是这样的时候 SELECT FirstName LastName FROM Customers WHERE CustomerId valueFromApplication 变成这样的查询
  • Spring Bean 的公共访问修饰符和模块导出

    Spring bean 类 Spring 应用程序上下文设置的对象的类 必须是public课程 让 Spring 创建这些对象 显然 如果yourbeans 访问不同包中的其他 beans 你的 beans 必须是public彼此互动 我的
  • O_NONBLOCK 是否被设置为文件描述符或底层文件的属性?

    根据我在 The Open Group 网站上读到的内容fcntl http www opengroup org onlinepubs 009695399 functions fcntl html open http www opengro
  • Phonegap iPad 应用程序启动画面/启动屏幕在 deviceReady 上切换

    我有一个使用 HTML JS CSS Phonegap 创建的 iPad 应用程序 仅限横向 一切都按预期进行 但是我遇到了启动画面 启动屏幕的问题 当应用程序加载时 会显示正确的启动画面 正确的大小和命名等 但是一旦应用程序达到 devi
  • Google Billing API:订阅购买后不久,会触发订阅过期,然后立即续订订阅

    我正在使用 Firebase Cloud Functions 来处理应用内购买的后端流程 如果我购买订阅 在 Flutter Android 客户端上 购买流程将毫无问题 但是 当第一次续订发生时 我首先收到订阅已过期的实时开发人员通知 大
  • 本地化比较属性

    这个问题的底部是一个包含三个属性的模型 OldPassword NewPassword 和ConfirmPassword 这些显示在更改密码表单中 我已本地化了所有错误消息 但以下一条除外 当 Compare 属性失败时 我无法完全本地化错
  • 我有一个 Vertx 请求,我需要计算一个外部可见(公共)URL

    我将 Vertx 3 与 Kotlin 结合使用 有时我需要从公共 URL 的角度返回一个特定的 URI 该 URI 与 Vertx web 请求认为我的 URL 不同 这可能是由于我的负载均衡器或代理接收一个 URL 然后通过内部 URL
  • Javascript-变量提升

    这是一个简单的片段 我只是不明白 下面的代码输出 12 我明白 因为var foo 12 替换先前的变量声明 在下面的代码中 它会发出警报1 这意味着在函数外部声明的变量可以在函数内部访问 但是 在下面的代码中 为什么它会警告未定义 我以为
  • CSS:最大宽度不会缩小? [复制]

    这个问题在这里已经有答案了 可能的重复 使 CSS Div 宽度等于内容宽度 https stackoverflow com questions 450903 make css div width equal to contents 我正在
  • 亚马逊MWS feed API问题,取消订单

    请帮我解决这个问题 我很久以前就尝试通过 MWS Feed API 取消亚马逊订单 但它根本没有取消 Feed 提交一切正常 但订单并未取消 下面是我的 Feed XML 我们正在使用我尝试过的报告类型 POST ORDER ACKNOWL
  • Python 是否评估前向引用的类型提示?

    我正在查看 PEP 484 部分转发参考文献 https www python org dev peps pep 0484 forward references并注意到以下声明 该定义可以表示为字符串文字 稍后解决 这让我想知道 稍后 是什
  • 从最小化状态恢复表单时,WS_EX_COMPOSITED 会导致无休止的重画

    The Form从最小化状态恢复时需要无尽的时间来重新绘制 The Form是无国界的 我凌驾于一切之上WndProc and 创建参数 我正在恢复无边界Form从最小化状态到正常状态 我凌驾于一切之上创建参数降低阴影并停止闪烁的方法 pr
  • 按三个不同列中的最大值排序

    我什至不确定是否可以执行此操作 但我想根据三列之一的最大值来排序查询 表结构示例 引导 列 1 列 2 列 3 第 1 3 列有数值 我想根据 1 2 OR 3 的最大值对 select 语句进行排序 例如 record column1 c
  • Akka testkit:时间因素是多少?

    Akka TestProbe 上有多种方法表示它们 正确处理 timeFactor 这意味着什么 http doc akka io api akka 2 0 akka testkit TestProbe html http doc akka
  • NFA 与 DFA 的时间复杂度权衡

    我正在寻找关于 nfa 或 dfa 哪个更好使用以及在编译器中什么情况下使用的讨论 模拟 nfa 与 dfa 的时间复杂度权衡是什么 在编译器的什么情况下 哪一个更合适 从 NFA 构造 DFA 的时间为 O 2 m 其中 m 是节点数 D
  • AWS S3 预签名 URL 包含 X-Amz-Security-Token

    我正在尝试使用 go sdk 为 S3 存储桶中的文件创建预签名 URL 当我从命令行运行程序时 我得到了不包含 X Amz Security Token 的预签名 URL 但如果我使用 lambda 函数中的相同代码 我总是会在 URL