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

函数计算获取不到access_key_id等信息,是要在s.yaml中加什么吗?

我通过fc的context.credentials获取oss的信息,获取不到access_key_id等信息,是要在s.yaml中加什么吗? 'Message': 'Authorization header is invalid.', 我不知道怎么通过添加 oss的访问权限
2b11012731e32f66f79e3925c8d06625.png这个是通过什么配置出来的?

展开
收起
你鞋带开了~ 2024-02-07 17:21:12 56 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    如果您在函数计算(Function Compute,简称FC)中通过context.credentials获取不到OSS(Object Storage Service)的access_key_id等信息,并且遇到了Authorization header is invalid的错误,这通常意味着您的函数不具备访问OSS的权限。以下是一些步骤来解决此问题:

    1. RAM角色和策略:确保您的FC函数关联的RAM角色具有访问OSS的权限。您需要为该角色添加相应的权限策略,允许访问OSS的相关操作。

    2. 配置s.yaml:在函数计算的控制台中,您可以通过编辑s.yaml文件来配置环境变量,包括OSS的访问密钥。确保在s.yaml文件中设置了access_key_idaccess_key_secret等环境变量。

      environment:
        variables:
          OSS_ACCESS_KEY_ID: your_access_key_id
          OSS_ACCESS_KEY_SECRET: your_access_key_secret
      
    3. 使用STS临时凭证:如果您使用的是STS(Security Token Service)临时凭证,确保您的函数具有正确的权限来获取这些凭证,并且context.credentials能够正确提供这些信息。

    4. 检查代码:检查您的代码,确保在使用context.credentials时正确获取了OSS的访问信息,并且使用了这些信息来构建Authorization头部。

    5. 调试和日志:启用函数的调试和日志记录功能,以便查看详细的错误信息和执行过程,帮助定位问题所在。

    6. 文档参考:查阅阿里云官方文档,了解如何在函数计算中使用OSS,以及如何配置s.yaml文件。

    7. 联系支持:如果以上步骤都无法解决问题,建议联系阿里云技术支持,寻求专业的帮助。

    通过以上步骤,您应该能够为您的FC函数配置正确的OSS访问权限,并解决Authorization header is invalid的错误。

    2024-02-08 14:42:25
    赞同 展开评论 打赏
  • fc会根据函数配置的角色,去生成临时 ak,sk,然后你从代码的context 读出来用就行,yaml里的role字段就是角色,另外用的是角色的role,不是当前账号的role。比如说你用的是 https://ram.console.aliyun.com/roles/detail?roleName=AliyunFcDefaultRole 你要这里看有没有 oss 的权限
    --此回答整理自钉群“阿里函数计算官网客户”

    2024-02-07 17:30:28
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    Hologres Serverless之路:揭秘弹性计算组 立即下载
    Serverless开发平台: 让研发效能再提升 立即下载
    Serverless 引领云上研发新范式 立即下载