Lambda S3Gateway产品 API文档
s3 网关
s3 网关(gateway) 提供了 s3兼容的api 来对存储的某个订单进行管理, 开发者可以针对s3api来开发应用。 也就是说,使用标准的s3的sdk或工具, 或者自己构造s3标准的请求就可以跟s3网关交互。
限制
s3网关使用minio来提供api,其中有若干api不支持,详细可以参考。 而目前阶段,lambda s3 网关支持的功能、接口也有限,基本的文件操作api之外的api大部分目前不支持,请避免使用。
s3网关目前也不支持multipart api,所以在使用工具或sdk时候需要通过配置来避免来使用,下面示例中以64M为例。
配置与运行
针对s3网关的配置默认在 ~/.lambda_storagecli/config/user.toml 的 [gateway] 部分,解释如下:
[gateway]
服务监听的地址
address = "127.0.0.1:9002"
用于访问服务的key
access_key = "accesskey"
secret_key = "secretkey"
若user.toml配置正常,可以在命令行调用 ./storagecli gateway run --account env --broker.extra_order_id XXX --debug 来启动,这就启动了针对某个订单的s3网关服务
启动的更多参数可以通过./storagecli gateway run -h查看
aws cli 示例
首先,先安装awscli.
之后,配置用于访问s3网关的key:
$ aws configure
AWS Access Key ID [None]: accesskey
AWS Secret Access Key [None]: secretkey
Default region name [None]:
Default output format [None]:
然后,配置multipart的阈值,aws configure set default.s3.multipart_threshold 64MB, 表示大于64M才使用multipart
之后就可以进行基本的文件操作了.
创建bucket
aws s3 --endpoint=http://localhost:9002/ mb s3://awstest
上传文件
aws s3 --endpoint=http://localhost:9002/ cp /path/to/your/file s3://awstest
列出bucket内容
aws s3 --endpoint=http://localhost:9002/ ls s3://awstest
下载文件
aws s3 --endpoint=http://localhost:9002/ cp s3://awstest/your-file /tmp/new-file
删除文件
aws python sdk 示例
首先,安装boto3 pip install boto3
然后,调整multipart的阈值
#!/usr/bin/env python
coding: utf-8
"""
refer https://docs.min.io/docs/how-to-use-aws-sdk-for-python-with-minio-server.html
"""
import boto3
from botocore.client import Config
from boto3.s3.transfer import TransferConfig
s3 = boto3.resource('s3',
endpoint_url='http://localhost:9002',
aws_access_key_id='accesskey',
aws_secret_access_key='secretkey',
config=Config(signature_version='s3v4'),
region_name='')
create bucket
s3.Bucket('awstest').create()
list bucket
print("buckets:", [bucket.name for bucket in s3.buckets.all()])
upload file
https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3.html#multipart-transfers
MB = 2 * 20
cfg = TransferConfig(multipart_threshold=64MB)
s3.Bucket('awstest').upload_file('/path/to/your/file','images/your-file', Config=cfg)
list file
print("objects in bucket: awstest", [obj.key for obj in s3.Bucket('awstest2').objects.filter(Prefix='images/')])
download file
s3.Bucket('awstest').download_file('images/your-file', '/tmp/newfile')
也可以使用minio提供的sdk,minio文档有详细的示例,这里不在赘述
0
收藏
电银付声明:该文看法仅代表作者自己,与本平台无关。转载请注明:台州seo:Lambda S3Gateway产品 API文档Sunbet www.eyaey *** 和EYAEYA网强强联合,打造一站式全民直营平台,用资本、技术、服务在同行中获胜。Sunbet和EYAEYA网提供数十种线上纸牌、zhenren、电子游戏,致力打造公平公开公正的信誉平台。
s3 = boto3.resource('s3',
endpoint_url='http://localhost:9002',
aws_access_key_id='accesskey',
aws_secret_access_key='secretkey',
config=Config(signature_version='s3v4'),
region_name='')人这么少吗?不科学
www.allbetgame.uswww.sunbet.us欢迎进入欧博平台网站(www.allbetgaming.net),www.allbetgaming.net开放欧博平台网址、欧博注册、欧博APP下载、欧博客户端下载、欧博游戏等业务。心情阳光明媚啊
UG环球开户www.ugbet.us欢迎进入环球UG官网(UG环球),环球UG官方网站:www.ugbet.net开放环球UG网址访问、环球UG会员注册、环球UG代理申请、环球UG电脑客户端、环球UG手机版下载等业务。不会这样吧
联博接口www.326681.com采用以太坊区块链高度哈希值作为统计数据,联博以太坊统计数据开源、公平、无任何作弊可能性。联博统计免费提供API接口,支持多语言接入。夸夸你~
UG环球开户www.ugbet.us欢迎进入环球UG官网(UG环球),环球UG官方网站:www.ugbet.net开放环球UG网址访问、环球UG会员注册、环球UG代理申请、环球UG电脑客户端、环球UG手机版下载等业务。不会这样吧
诚信在线(现:阳光在线官网)现已开放诚信在线手机版、诚信在线电脑客户端下载。诚信在线娱乐游戏公平、公开、公正,用实力赢取信誉。挺合我口味的。