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

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万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

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
rsong
+关注
目录
打赏
0
0
0
1
184
分享
相关文章
云端问道13期方案教学-告别资源瓶颈,函数计算驱动多媒体文件处理
《云端问道13期方案教学》由阿里云技术团队周博宇主讲,聚焦如何使用函数计算突破资源瓶颈,高效处理多媒体文件。方案涵盖六大要点:寻找云需求解决方案、选择函数计算的原因、对比不同文件处理方式、实现多媒体文件处理、应用场景广泛性及优惠购买推荐。通过将文件处理从主应用拆分,利用函数计算的按需扩展和自动弹性特性,确保核心业务稳定,并大幅降低成本。适用于图片、视频处理等多种场景。
云端问道13期方案教学-告别资源瓶颈,函数计算驱动多媒体文件处理
阿里云函数计算助力AI大模型快速部署
随着人工智能技术的快速发展,AI大模型已经成为企业数字化转型的重要工具。然而,对于许多业务人员、开发者以及企业来说,探索和利用AI大模型仍然面临诸多挑战。业务人员可能缺乏编程技能,难以快速上手AI模型;开发者可能受限于GPU资源,无法高效构建和部署AI应用;企业则希望简化技术门槛,以更低的成本和更高的效率利用AI大模型。
247 12
企业级API集成方案:基于阿里云函数计算调用DeepSeek全解析
DeepSeek R1 是一款先进的大规模深度学习模型,专为自然语言处理等复杂任务设计。它具备高效的架构、强大的泛化能力和优化的参数管理,适用于文本生成、智能问答、代码生成和数据分析等领域。阿里云平台提供了高性能计算资源、合规与数据安全、低延迟覆盖和成本效益等优势,支持用户便捷部署和调用 DeepSeek R1 模型,确保快速响应和稳定服务。通过阿里云百炼模型服务,用户可以轻松体验满血版 DeepSeek R1,并享受免费试用和灵活的API调用方式。
90 12
阿里云 EMR Serverless Spark 在微财机器学习场景下的应用
面对机器学习场景下的训练瓶颈,微财选择基于阿里云 EMR Serverless Spark 建立数据平台。通过 EMR Serverless Spark,微财突破了单机训练使用的数据规模瓶颈,大幅提升了训练效率,解决了存算分离架构下 Shuffle 稳定性和性能困扰,为智能风控等业务提供了强有力的技术支撑。
121 15
美的楼宇科技基于阿里云 EMR Serverless Spark 构建 LakeHouse 湖仓数据平台
美的楼宇科技基于阿里云 EMR Serverless Spark 建设 IoT 数据平台,实现了数据与 AI 技术的有效融合,解决了美的楼宇科技设备数据量庞大且持续增长、数据半结构化、数据价值缺乏深度挖掘的痛点问题。并结合 EMR Serverless StarRocks 搭建了 Lakehouse 平台,最终实现不同场景下整体性能提升50%以上,同时综合成本下降30%。
云端问道13期实操教学-告别资源瓶颈,函数计算驱动多媒体文件处理
《云端问道13期实操教学》介绍了使用函数计算实现多媒体文件处理的解决方案,分为五部分:方案概览、部署准备、一键部署、完成及清理和主流应用场景。通过创建VPC、ECS、RDS等资源,演示了如何利用函数计算处理PPT加水印并转PDF,解决了资源瓶颈问题。最后讲解了函数计算在部署外部应用、文件处理和音视频处理中的优势。
阿里云 Serverless 助力盟主直播:高并发下的稳定性和成本优化
通过阿里云的 Serverless 产品和技术,盟主直播实现了核心直播平台的云原生架构升级,不仅解决了盟主直播现有业务面临的挑战,还面向未来为盟主直播的平台扩展性提供了技术基础,有效提升了行业竞争力。
活动实践 | 告别资源瓶颈,函数计算驱动多媒体文件处理测评
本方案介绍了一种高效处理文件的方法,适用于企业办公和社交媒体应用。通过阿里云的函数计算、对象存储OSS和轻量消息队列,实现文件的异步处理,如格式转换和水印添加,有效减轻了核心应用的负担,提高了业务稳定性和资源利用率。方案包括云服务器ECS、云数据库RDS、OSS存储等组件,支持快速部署和资源清理。
阿里云 SAE 邀您参加 Serverless 高可用架构挑战赛,赢取精美礼品
阿里云 SAE 邀您参加 Serverless 高可用架构挑战赛,赢取精美礼品。
云大使 X 函数计算 FC 专属活动上线!享返佣,一键打造 AI 应用
如今,AI 技术已经成为推动业务创新和增长的重要力量。但对于许多企业和开发者来说,如何高效、便捷地部署和管理 AI 应用仍然是一个挑战。阿里云函数计算 FC 以其免运维的特点,大大降低了 AI 应用部署的复杂性。用户无需担心底层资源的管理和运维问题,可以专注于应用的创新和开发,并且用户可以通过一键部署功能,迅速将 AI 大模型部署到云端,实现快速上线和迭代。函数计算目前推出了多种规格的云资源优惠套餐,用户可以根据实际需求灵活选择。

相关产品

  • 函数计算