如何利用函数计算获取临时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

注意:要想获取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()

补充

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

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
2月前
|
人工智能 自然语言处理 Serverless
阿里云函数计算 x NVIDIA 加速企业 AI 应用落地
阿里云函数计算与 NVIDIA TensorRT/TensorRT-LLM 展开合作,通过结合阿里云的无缝计算体验和 NVIDIA 的高性能推理库,开发者能够以更低的成本、更高的效率完成复杂的 AI 任务,加速技术落地和应用创新。
136 13
|
2月前
|
存储 人工智能 运维
正式收官!阿里云函数计算携手优酷,用 AI 重塑影视 IP 创新边界
近日,阿里云联合优酷发起的 Create@影视 IP x AI 应用创新大赛,将网剧《少年白马醉春风》这一热门影视 IP 与阿里云 AI 技术相结合,由阿里云函数计算提供 AIGC 技术支持参赛者基于网剧《少年白马醉春风》IP 或“少年江湖”精神内核,用 AI 生成角色场景设计、手办设计、破次元合照、数字人等多样化的作品。
106 10
|
2天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
14 1
|
16天前
|
人工智能 弹性计算 运维
触手可及:阿里云函数计算助力AI大模型的评测
阿里云推出的面向AI服务器的功能计算(Functional Computing, FC),专为AI应用提供弹性计算资源。该服务支持无服务器部署、自动资源管理和多语言支持,极大简化了AI应用的开发和维护。本文全面评测了FC for AI Server的功能特性、使用体验和成本效益,展示了其在高效部署、成本控制和安全性方面的优势,并通过具体应用案例和改进建议,展望了其未来发展方向。
89 4
|
17天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
45 3
|
2月前
|
SQL 分布式计算 Serverless
阿里云 EMR Serverless Spark 版正式开启商业化
阿里云 EMR Serverless Spark 版正式开启商业化,内置 Fusion Engine,100% 兼容开源 Spark 编程接口,相比于开源 Spark 性能提升300%;提供 Notebook 及 SQL 开发、调试、发布、调度、监控诊断等一站式数据开发体验!
115 3
阿里云 EMR Serverless Spark 版正式开启商业化
|
2月前
|
人工智能 运维 大数据
阿里云“触手可及,函数计算玩转 AI 大模型”解决方案评测报告
阿里云“触手可及,函数计算玩转 AI 大模型”解决方案评测报告
79 2
|
2月前
|
弹性计算 关系型数据库 Serverless
告别资源瓶颈,函数计算驱动多媒体文件处理方案:https://www.aliyun.com/solution/tech-solution/fc-drive-file
本文介绍了一种基于阿里云的一键部署解决方案,利用云服务器ECS、RDS MySQL、OSS、函数计算FC及MNS等服务,实现高效的多媒体文件处理。方案通过事件驱动机制,将文件处理任务解耦,并自动弹性扩展,按需付费,简化部署流程,提高处理效率。本文还提供了详细的部署步骤与体验反馈,展示了从配置到文件处理的全过程。
|
2月前
|
Cloud Native 关系型数据库 Serverless
基于阿里云函数计算(FC)x 云原生 API 网关构建生产级别 LLM Chat 应用方案最佳实践
本文带大家了解一下如何使用阿里云Serverless计算产品函数计算构建生产级别的LLM Chat应用。该最佳实践会指导大家基于开源WebChat组件LobeChat和阿里云函数计算(FC)构建企业生产级别LLM Chat应用。实现同一个WebChat中既可以支持自定义的Agent,也支持基于Ollama部署的开源模型场景。
317 12
|
3月前
|
Serverless API 异构计算
函数计算产品使用问题之修改SD模版应用的运行环境
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。

热门文章

最新文章

相关产品

  • 函数计算