关于阿里云oss获取sts凭证 app直传 python的实例
作者:hongzhangzhao 发布时间:2021-04-29 14:16:11
标签:阿里云oss,sts,app直传,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上传图片了
来源:https://blog.csdn.net/hongzhangzhao/article/details/79897518


猜你喜欢
- 前言:初识Python语言,觉得python满足了你上学时候对编程语言的所有要求。python语言的高效编程技巧让那些曾经苦逼学了四年c或者
- 组建一个关于书籍、作者、出版社的例子:from django.db import modelsclass Publisher(models.
- 1.在本地建立项目 可使用Eclipse,Idea等开发工具创建项目 打开根目录到所在在工程名的下一级2.使用git 客户端 进
- 本文实例为大家分享了python如何实现视频转代码视频的具体代码,供大家参考,具体内容如下# -*- coding:utf-8 -*-#co
- 互联网上的每台计算机都有独一无二的编号,称为IP地址,每个合法的IP地址由“.”分开的4个数字组成,并且IP地址细分类型的话,可以分为“A”
- 本文将带领大家由浅入深的去窥探一下,这个装饰器到底是何方神圣,看完本篇,装饰器就再也不是难点了.一、什么是装饰器网上有人是这么评价装饰器的,
- 笔者之前在学习TensorFlow,也在自己的笔记本上完成了安装,在PyCharm中进行学习。但是最近为了使用python的科学计算环境,我
- 对单词最后一个字母的预测LSTM 的原理自己找,这里只给出简单的示例代码,就是对单词最后一个字母的预测。# LSTM 的原理自己找,这里只给
- sql server 锁定模式有三种:共享( S锁),更新(U锁),排他(X锁);S锁是共享锁,如果事务T对数据A加上共享锁后,则其他事务只
- 在vue使用echarts时,可能会遇到这样的问题,就是直接刷新浏览器,或者数据变化时,echarts不更新? &nb
- #-*- encoding: utf-8 -*-'''Created on 2014-4-24@author: Le
- 有两种方式:一种是图片放在static中,一种是图片放在media中第一种:即:STATIC_URL = '/static/'
- 这两天在看webpack,今天卡在webpack-dev-server上了,折腾了一下午,一直无法正常运行,每次服务器也提示正常启动了,但是
- 网上有这样一道题目:一个字符串String=“adadfdfseffserfefsefseetsdg”,找出里面出现次数最多的字母和出现的次
- 什么是粘包问题最近在使用Golang编写Socket层,发现有时候接收端会一次读到多个数据包的问题。于是通过查阅资料,发现这个就是传说中的T
- Python 实现使用 dict 创建二维数据dict 的 keys、values 分别作为二维数据的两列In [16]: d = {1:&
- UTF-8匹配: 在javascript中,要判断字符串是中文是很简单的。比如: var str = "php编程";
- 在来回切换中英文输入法的时候连按两下shift总是会蹦出来全局搜索框真的很是麻烦,现在是把这个框给禁用掉1.按ctrl+shift+a,弹出
- 在自动化测试过程中,有时后会遇到元素定位方式没有问题,但是依旧抛出无法找到元素的异常的问题,通常情况下,如果元素定位没有问题,但还是无法找到
- 本文实例为大家分享了jQuery Ajax File Upload实例源码,供大家参考,具体内容如下项目结构Default.aspxUplo