如何利用函数计算获取临时token访问其他阿里云资源

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 利用函数计算获取临时token访问其他阿里云资源

对于一些用户来说,可能需要在网页,app等客户端可以操作阿里云资源,如上传文件到oss,但是用户又不想把自己的AK暴露出来,在本文中,实现用户不需要自己直接使用自己的AK来实现文件上传到oss的例子
主要步骤如下:
1,用户创建一个函数 get_sts,该函数如下:

# -*- coding: utf-8 -*-

def handler(event, context):
  response = {
     'isBase64Encoded': False,
       'statusCode': 200,
       'headers': {
          "x-custom-header" : "header value"
      },
      'body': {
        "access_key_id":context.credentials.access_key_id ,
        "access_key_secret": context.credentials.access_key_secret,
        "security_token" : context.credentials.security_token
      }
  }
  return response
AI 代码解读

注意:要想获取context中credentials信息,需要配置函数所在的service的服务角色,在本例中, 配置的服务角色是一个具有操作oss读写权限的角色, 这样context.credentials有能操作oss的临时token信息
本文的配置如下:
image
如何给service配置服务角色,可以参考https://help.aliyun.com/document_detail/60984.html?spm=5176.doc61023.6.558.RkgmAR

2, 以函数计算作为 API 网关后端服务
2.1,具体的教程可以参考:https://help.aliyun.com/document_detail/54788.html?spm=5176.doc29497.6.584.8ykpic
2.2,本教程最后配置如下:
image
image

2.3,将api发布以后,可以使用curl来测试下:
image

3, 使用函数计算返回的临时token对oss进行操作

# coding=utf-8
import oss2
import requests

def put_object_to_oss():
    # use your api
    r = requests.get("http://05248dd6f0c14c7ebaa723f18c17b7d4-cn-shanghai.alicloudapi.com/getSts")
    if r.status_code!=200:
         return
    sts_creds = r.json()
    auth = oss2.StsAuth(sts_creds['access_key_id'], sts_creds['access_key_secret'], sts_creds['security_token'])
    endpoint = "oss-cn-shanghai.aliyuncs.com" # your endpoint
    bucket = "ls-oss-test" # your bucket
    bucket = oss2.Bucket(auth, endpoint, bucket)
    bucket.put_object("apigateway.txt", "api gate way uploaddata")
    remote_stream = bucket.get_object('apigateway.txt')
    return remote_stream.read()

print put_object_to_oss()
AI 代码解读

补充

现在函数计算提供了http trigger,也可以直接使用http trigger 达到上面的效果,http trigger的用法可以参考:HTTP Trigger

相关实践学习
1分钟 Serverless搭建高性能网盘
本场景将使用阿里云函数计算、文件存储NAS以及开源项目Kodbox,带大家1分钟Serverless搭建个人高性能网盘,网盘可长期使用。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
rsong
+关注
目录
打赏
0
0
0
1
184
分享
相关文章
亚太唯一!阿里云Serverless计算产品进入Forrester领导者象限
近日,Forrester发布《Serverless Development Platforms, Q2 2025》报告,阿里云函数计算FC与Serverless应用引擎SAE在21项评测中斩获9项最高分,成为国内唯一进入领导者象限的科技公司。
一体系数据平台的进化:基于阿里云 EMR Serverless Spark 的持续演进
本文介绍了一体系汽配供应链平台如何借助阿里云EMR Serverless Spark实现从传统Hadoop平台向云原生架构的迁移。通过融合高质量零部件供应与创新互联网科技,一体系利用EMR Serverless Spark和DataWorks构建高效数据分析体系,解决大规模数据处理瓶颈。方案涵盖实时数据集成、Lakehouse搭建、数仓分层设计及BI/ML应用支持,显著提升数据处理性能与业务响应速度,降低运维成本,为数字化转型奠定基础。最终实现研发效率提升、运维压力减轻,并推动AI技术深度整合,迈向智能化云原生数据平台。
Fusion 引擎赋能:流利说如何用阿里云 Serverless Spark 实现数仓计算加速
本文介绍了流利说与阿里云合作,利用EMR Serverless Spark优化数据处理的全过程。流利说是科技驱动的教育公司,通过AI技术提升用户英语水平。原有架构存在资源管理、成本和性能等痛点,采用EMR Serverless Spark后,实现弹性资源管理、按需计费及性能优化。方案涵盖数据采集、存储、计算到查询的完整能力,支持多种接入方式与高效调度。迁移后任务耗时减少40%,失败率降低80%,成本下降30%。未来将深化合作,探索更多行业解决方案。
亚太唯一,阿里云Serverless计算产品进入Forrester领导者象限
Forrester发布Serverless开发平台评估报告《Forrester Wave™: Serverless Development Platforms, Q2 2025》:在21项测评中,阿里云函数计算FC和Serverless应用引擎SAE的产品能力拿到了9项最高分。阿里云成功进入领导者象限,是国内唯一进入该象限的科技公司。
阿里云 Serverless 助力海牙湾构建弹性、高效、智能的 AI 数字化平台
海牙湾(G-Town)是一家以“供应链+场景+技术+AI”为核心驱动力的科技公司,致力于为各行业提供数字化转型解决方案。通过采用阿里云Serverless架构,解决了弹性能力不足、资源浪费与运维低效的问题。SAE全托管特性降低了技术复杂度,并计划进一步探索Serverless与AI结合,推动智能数字化发展。海牙湾业务覆盖金融、美妆、能源等领域,与多家知名企业建立战略合作,持续优化用户体验和供应链决策能力,保障信息安全并创造可量化的商业价值。未来,公司将深化云原生技术应用,助力更多行业实现高效数字化转型。
271 20
Serverless架构下的OSS应用:函数计算FC自动处理图片/视频转码(演示水印添加+缩略图生成流水线)
本文介绍基于阿里云函数计算(FC)和对象存储(OSS)构建Serverless媒体处理流水线,解决传统方案资源利用率低、运维复杂、成本高等问题。通过事件驱动机制实现图片水印添加、多规格缩略图生成及视频转码优化,支持毫秒级弹性伸缩与精确计费,提升处理效率并降低成本,适用于高并发媒体处理场景。
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
鹰角网络为应对游戏业务高频活动带来的数据潮汐、资源弹性及稳定性需求,采用阿里云 EMR Serverless Spark 替代原有架构。迁移后实现研发效率提升,支持业务快速发展、计算效率提升,增强SLA保障,稳定性提升,降低运维成本,并支撑全球化数据架构部署。
352 56
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速
作为云上托管 MCP 服务的最佳运行时,函数计算 FC 为阿里云百炼 MCP 提供弹性调用能力,用户只需提交 npx 命令即可“零改造”将开源 MCP Server 部署到云上,函数计算 FC 会准备好计算资源,并以弹性、可靠的方式运行 MCP 服务,按实际调用时长和次数计费,欢迎你在阿里云百炼和函数计算 FC 上体验 MCP 服务。
376 30

相关产品

  • 函数计算
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等

    登录插画

    登录以查看您的控制台资源

    管理云资源
    状态一览
    快捷访问