关于阿里云oss获取sts凭证 app直传 python的实例

yipeiwu_com5年前Python基础

首先安装需要的模块

pip install aliyun-python-sdk-core
pip install aliyun-python-sdk-sts

获取需要的5个参数

getsts.py

from aliyunsdkcore import client
from aliyunsdkcore.profile import region_provider
from aliyunsdksts.request.v20150401 import AssumeRoleRequest
import json


def getStsToken():

  REGINID = 'cn-beijing'
  ENDPOINT = 'sts.cn-beijing.aliyuncs.com'
  region_provider.add_endpoint('Sts', REGINID, ENDPOINT)

  clt = client.AcsClient('LTAIcWKeZ0kxxxxx', 'Kax2Hx1Yf5cqi5nwmg4q5GSNExxxxx', REGINID)

  req = AssumeRoleRequest.AssumeRoleRequest()

  req.set_RoleArn('acs:ram::11605935xxxxxxxx:role/aliyunosstokengeneratorrole')

  req.set_RoleSessionName('external-username')
  #req.set_DurationSeconds(Integer) # past time
  #req.set_Policy('')

  resp = clt.do_action_with_exception(req)
  #print resp
  print type(resp)
  resp = json.loads(resp)
  print type(resp)              
  token = dict(status='200', AccessKeyId=resp['Credentials']['AccessKeyId'], AccessKeySecret=resp['Credentials']['AccessKeySecret'], SecurityToken=resp['Credentials']['SecurityToken'], Expiration=resp['Credentials']['Expiration'])

  tokenString = json.dumps(token)
  #print tokenString

  return tokenString

返回的参数

{
  "AccessKeySecret": "4fSzVwox9v74qEjACfeWLH7CRrYkWG5z92ASJYrJMVRB", 
  "status": "200", 
  "SecurityToken": "CAISiwJ1q6Ft5B2yfSjIpKDUffTcn5xE3Y6OZFzF1nIMduQdvazc0Tz2IHpPenhuAu4bsPsxlG5Q7PkYlrh+W4NIX0rNaY5t9ZlN9wqkbtJdcTlALvhW5qe+EE2/VjTZvqaLEcibIfrZfvCyESOm8gZ43br9cxi7QlWhKufnoJV7b9MRLGLaBHg8c7UwHAZ5r9IAPnb8LOukNgWQ4lDdF011oAFx+wgdgOadupTFtEKD3QankLRO+tqtesGeApMybMslYbCcx/drc6fN6ilU5iVR+b1+5K4+om2c4IDDWAcMvUrYY7SMqII1NnxwYqkrBqhDt+Pgkv51vOPekYntwgpKJ/tSVynP3Q0ITXhd94kagAE7VUD9kf6ZSxi1buTiuoe28f2MAQANEQKP6wrgAKkwinaftUABZolATmUJiHOQZ8pfPgNvwlPrmyDvKe8iT1/uFTnE17UM4VGAgmBry3IGA+gM5IFSe8bQ13tJ6DJzlpuXXcsFxU6oN1zLcr6gKd3UZGGttGMgE9JTC+i7Hoa9Zg==", 
  "Expiration": "2018-04-11T07:41:49Z", 
  "AccessKeyId": "STS.Eca6NhrCejLefzt2rYzk1Riw3"
}

django 应用的views.py

import getsts

def test(request):

  req = getsts.getStsToken()

  print req
  return HttpResponse(req)

安卓或者苹果的app获得这5个参数就可以直接向oss上传图片了

以上这篇关于阿里云oss获取sts凭证 app直传 python的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

浅谈Python中的zip()与*zip()函数详解

前言 1.实验环境: Python 3.6; 2.示例代码地址:下载示例; 3.本文中元素是指列表、元组、字典等集合类数据类型中的下一级项目(可能是单个元素或嵌套列表)。 zi...

python实现登录密码重置简易操作代码

需求: 1.用户输入密码正确登录 2.用户输入密码错误退出并调用函数继续输入 3.用户输入密码符合原先给定的一个值时,允许用户重置密码,并且可以用新密码登录 4.输入三次后禁止输入 虽然...

在Python运行时动态查看进程内部信息的方法

接前两篇“运行时查看线程信息”的博客,我在想,既然我可以随时打印线程信息,那么我是不是可以随时打印进程内部的其它信息呢?比如,实时查看一些对象属性等,这样可以帮助我们在不重新启动应用程序...

python遍历文件目录、批量处理同类文件

python遍历文件目录、批量处理同类文件

本文实例为大家分享了python遍历文件目录、批量处理同类文件的具体代码,供大家参考,具体内容如下 目录操作 1、获取当前目录 import os curr_path=os.path...

Python实现二叉树的最小深度的两种方法

找到给定二叉树的最小深度 最小深度是从根节点到最近叶子节点的最短路径上的节点数量 注意:叶子节点没有子树 Example: Given binary tree [3,9,20,null...