rgw使用boto3生成可以访问的预签名url
前言
如果想访问一个ceph里面的s3地址,但是又不想直接提供secrect key的时候,可以通过预签名的方式生成url
生成方法
下载boto3
脚本如下
cat s3.py
import boto3
from botocore.client import Config
s3_host="http://192.168.0.201:7481"
# Get the service client with sigv4 configured
s3 = boto3.client('s3', aws_access_key_id = "test",aws_secret_access_key = "test",endpoint_url = s3_host, config=Config(signature_version='s3v4'))
# Generate the URL to get 'key-name' from 'bucket-name'
# URL expires in 604800 seconds (seven days)
url = s3.generate_presigned_url(
ClientMethod='get_object',
Params={
'Bucket': 'movie',
'Key': '20200919211055.ps'
},
ExpiresIn=604800
)
print(url)
执行以后
[root@lab201 s3]# python s3.py
http://192.168.0.201:7481/movie/20200919211055.ps?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=604800&X-Amz-Credential=test%2F20201103%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Date=20201103T062621Z&X-Amz-Signature=b008a40341800b1ab7f701490e56b0597a05fe2e5c796d063c798e20564ef4a2
生成上面的地址就可以直接下载需要权限才能访问的文件了
上面的签名的是V4的,如果想生成V2的修改配置文件如下
config=Config(signature_version='s3')
再次执行:
http://192.168.0.201:7481/movie/20200919211055.ps?AWSAccessKeyId=test&Expires=1604989885&Signature=mpGtOaHn0NHLIY5PXqqD6TJrDSE%3D
生成上面的形式的url
rgw使用boto3生成可以访问的预签名url的更多相关文章
- C#上传图片和生成缩略图以及图片预览
因工作需要,上传图片要增加MIME类型验证和生成较小尺寸的图片用于浏览.根据网上代码加以修改做出如下效果图: 前台代码如下: <html xmlns="http://www.w3.or ...
- 未知的生成错误 因为没有预加载,所以无法解析程序集 GalaSoft.MvvmLight
使用wpf开发时,在ViewModel中引用了DevExpress注册的GalaSoft.MvvmLight命名空间,使用其ViewModelBase,在View界面中绑定事件时出现错误: 错误 13 ...
- Openstack中用秘钥对(keypair)生成和访问虚机的方法
Openstack中用镜像文件生成的image来创建虚机(VM或Instance)时, 通常不支持用户名加密码的ssh方式登录访问该VM,而是用秘钥对(keypair)方式. 这里以Centos的镜像 ...
- 利用Xml架构生成实体访问类
由xml生成xsd及实体类 xmldataset工具 使用VS2005工具XSD.exe(SDK/v2.0/Bin/xsd.exe)自动生成实体类: xsd /c /namespace:myCom ...
- ceph rgw java sdk 使用域名访问服务时需要设置s3client的配置项 PathStyleAccess 为true, 负责将报域名异常
Caused by: java.net.UnknownHostException: my-new-bucket.s3.yyclouds.com at java.net.InetAddress.getA ...
- Openstack中用keypair生成和访问虚机的方法
Openstack中用keypair生成和访问虚机的方法 标签:task iso perm cte 生成 复制 vol rsa sla Openstack中用镜像文件生 ...
- 允许asp.net MVC报 错说明: 访问服务此请求所需的资源时出错。服务器可能未配置为访问所请求的 URL。错误消息 401.2。: 未经授权
运行mvc3程序报以下错误 详细报错如下: “/”应用程序中的服务器错误. 访问被拒绝. 说明: 访问服务此请求所需的资源时出错.服务器可能未配置为访问所请求的 URL. 错误消息 401.2.: 未 ...
- 通过cookies跳过验证码登陆页面,直接访问网站的其它URL
我每次手动访问去NN网的一家酒店,就不需要登陆,一旦我用脚本打开就会让我登陆,而登陆页面又有验证码,不想识别验证码,所以就想:“通过cookies跳过验证码登陆页面,直接访问网站的其它URL” 转 ...
- ABP框架详解(八)动态ApiController的生成和访问机制
在ABP框架中提供了一套动态生成ApiController的机制(依然支持原生ApiController的使用方式),虽然说是动态生成ApiController但是实际上并没有真正在启动程序的时候生成 ...
随机推荐
- 调试与优化:一次数据中心看板 T+1 改 T+0 优化过程
背景 团队目前在做一个用户数据看板(下面简称看板),基本覆盖用户的所有行为数据,并生成分析数据,用户行为数据来源于多个数据源(餐饮.生活日用.充值消费.交通出行.通讯物流.交通出行.医疗保健.住房物业 ...
- docker-搭建单机 kafka+zookeeper
1 zookeeper docker run --name zookeeper -p 12181:2181 -d wurstmeister/zookeeper:latest 2 kafka ...
- Mac安装stf
1.brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config 2.node版本8.x我的是8.15.0 3.npm i ...
- mac 解决安卓模拟器链接不上网络
方法1.临时方法,每次启动都要加114.114.114.114 1.进入到下面的目录 /Users/anxiaodong/Library/Android/sdk/emulator 2.执行以下命令 e ...
- 标签中colgroup的属性
如需对全部列应用样式,<colgroup> 标签很有用,这样就不需要对各个单元和各行重复应用样式了. <colgroup> 标签只能在 table 元素中使用. 可选的属性 属 ...
- 【事件中心 Azure Event Hub】Event Hub Java SDK的消费端出现不消费某一个分区中数据的情况,出现IdleTimerExpired错误消息记录
问题情形 使用Java SDK编写的Event Hub消费端应用,随机性遇见了某个分区没有消费消息的情况,在检查日志时候,有发现IdelTimeExpired的错误记录.在重启应用后,连接EventH ...
- C++学习笔记---数据类型
1.整型 C++中能够表示整型的类型有几下几种方式,区别在于所占内存空间不足 数据类型 占用空间 取值范围 short(短整型) 2字节 (-2^15~2^15-1) int(整型) 4字节 (-2^ ...
- oblivious polynomial evaluation
Oblivious polynomial evaluation is a protocol involving two parties, a sender whose input is a polyn ...
- 《SQL 必知必会》读书笔记
第1课 了解 SQL 这章主要介绍了数据库,表,字段类型,行,列,主键和SQL等基本概念. 数据库:以某种形式存储的数据集合,在计算机上的表现形式可能是一个文件或者一组文件.我们平时所说的数据库,往往 ...
- Azure Data Factory(一)入门简介
一,引言 今天分享一个新的Azure 服务-----Azure Data Factory(Azure 数据工厂),怎么理解,参考根据官方解释-----数据工厂解释:大数据需要可以启用协调和操作过程以将 ...