bucketstore, 一个与 Amazon S3交互的简单

分享于 

4分钟阅读

GitHub

  繁體 雙語
A simple library for interacting with Amazon S3.
  • 源代码名称:bucketstore
  • 源代码网址:http://www.github.com/kennethreitz/bucketstore
  • bucketstore源代码文档
  • bucketstore源代码下载
  • Git URL:
    git://www.github.com/kennethreitz/bucketstore.git
    Git Clone代码到本地:
    git clone http://www.github.com/kennethreitz/bucketstore
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/kennethreitz/bucketstore
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    BucketStore: 一个简单的AmazonS3客户端,用于 python。

    BucketStore 是一个非常简单的Amazon S3客户端,在。 它的目的是要比boto3更直接使用,并且专门在 Amazon S3中,忽略它的他的AWS生态系统。

    特性

    • 将S3存储桶视为键/值存储。
    • AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 环境变量的自动支持。
    • 轻松地将密钥设置为( 或者整个桶)。
    • 轻松获取给定密钥的public URL。
    • 为给定的密钥生成临时 url。

    用法

    获取( 或者创建),轻松:

    import bucketstore# Create the bucket if it doesn't exist.bucket = bucketstore.get('bucketstore-playground', create=True)

    将桶视为一个键/值存储:

    >>> bucket
    <S3Bucket name='bucketstore-playground'>
    >>> bucket['foo'] ='bar'>>> bucket['foo']
    bar
    >>> bucket.set('foo2', 'bar2')
    >>> bucket.get('foo2')
    bar2
    >>> bucket.list()
    [u'foo', u'foo2']
    >>> bucket.all()
    [<S3Key name=u'foo' bucket='bucketstore-playground'>, <S3Key name=u'foo2' bucket='bucketstore-playground'>]

    与S3键交互:

    >>> bucket.key('foo')
    <S3Key bucket='bucketstore-playground' name=u'foo'>
    >>> foo = _
    >>> foo.set('new value')
    # Generate a temporary share URL.
    >>> foo.temp_url(duration=1200)
    u'https://bucketstore-playground.s3.amazonaws.com/foo?AWSAccessKeyId=AKIAI2RVFNXIW7WS66QQ&Expires=1485493909&Signature=L3gD9avwQZQO1i11dIJXUiZ7Nx8%3D'
    # Make key publically accessable.
    >>> foo.make_public()
    >>> foo.url
    'https://s3.amazonaws.com/bucketstore-playground/foo'
    # Get/set metadata for key.
    >>> foo.meta = {'foo': 'bar'}
    >>> foo.meta
    {'foo': 'bar}
    # Rename key to 'foo3'.
    >>> foo.rename('foo3')
    # Delete the key.
    >>> foo.delete()
    # Create a key with metadata at the same time.
    >>> foo = bucket.key('foo.html')
    >>> foo.set('<h1>bar</h1>', {'content_type': 'text/html'})

    其他方法包括 bucketstore.login(access_key_id, secret_access_key)bucketstore.list(),和 bucketstore.get(bucket_name, create=False)

    测试

    测试是通过毒理测试运行的。

    # Run tests against all environments.$ tox# Run against a specific version.$ tox -e py35# Run with pytest arguments.$ tox -- --pdb

    安装

    $ pip install bucketstore

    相关文章