本文整理汇总了Python中minio.Minio.presigned_get_object方法的典型用法代码示例。如果您正苦于以下问题:Python Minio.presigned_get_object方法的具体用法?Python Minio.presigned_get_object怎么用?Python Minio.presigned_get_object使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类minio.Minio
的用法示例。
在下文中一共展示了Minio.presigned_get_object方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_presigned_get_url
# 需要导入模块: from minio import Minio [as 别名]
# 或者: from minio.Minio import presigned_get_object [as 别名]
def get_presigned_get_url(filename, config, secrets):
"""Generate a presigned get URL using the Minio S3 client.
Args:
filename: Name of file to use in S3
config: Pyglidein cluster config dictionary
secrets: Pyglidein cluster secrets dictionary
Returns:
string: Presigned Get URL
"""
from minio import Minio
from minio.error import ResponseError
config_startd_logging = config['StartdLogging']
secrets_startd_logging = secrets['StartdLogging']
client = Minio(config_startd_logging['url'],
access_key=secrets_startd_logging['access_key'],
secret_key=secrets_startd_logging['secret_key'],
secure=True
)
try:
return client.presigned_get_object(config_startd_logging['bucket'],
filename)
except ResponseError as err:
print(err)
示例2: test_can_include_response_headers
# 需要导入模块: from minio import Minio [as 别名]
# 或者: from minio.Minio import presigned_get_object [as 别名]
def test_can_include_response_headers(self):
client = Minio('localhost:9000', 'my_access_key', 'my_secret_key',
secure=True)
client._get_bucket_region = mock.Mock(return_value='us-east-1')
r = client.presigned_get_object(
'mybucket', 'myfile.pdf',
response_headers={
'Response-Content-Type': 'application/pdf',
'Response-Content-Disposition': 'inline; filename="test.pdf"'
})
self.assertIn('inline', r)
self.assertIn('test.pdf', r)
self.assertIn('application%2Fpdf', r)
示例3: Minio
# 需要导入模块: from minio import Minio [as 别名]
# 或者: from minio.Minio import presigned_get_object [as 别名]
# -*- coding: utf-8 -*-
# Minio Python Library for Amazon S3 Compatible Cloud Storage, (C) 2015 Minio, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Note: YOUR-ACCESSKEYID, YOUR-SECRETACCESSKEY, my-bucketname and my-objectname
# are dummy values, please replace them with original values.
from minio import Minio
client = Minio('s3.amazonaws.com',
access_key='YOUR-ACCESSKEYID',
secret_key='YOUR-SECRETACCESSKEY')
# presigned get object URL for object name, expires in 7 days.
print(client.presigned_get_object('my-bucketname', 'my-objectname'))
示例4: test_expiry_limit
# 需要导入模块: from minio import Minio [as 别名]
# 或者: from minio.Minio import presigned_get_object [as 别名]
def test_expiry_limit(self):
client = Minio('localhost:9000')
client.presigned_get_object('hello', 'key', expires=timedelta(days=8))
示例5: test_object_is_not_empty_string
# 需要导入模块: from minio import Minio [as 别名]
# 或者: from minio.Minio import presigned_get_object [as 别名]
def test_object_is_not_empty_string(self):
client = Minio('localhost:9000')
client.presigned_get_object('hello', ' \t \n ')
示例6: test_object_is_string
# 需要导入模块: from minio import Minio [as 别名]
# 或者: from minio.Minio import presigned_get_object [as 别名]
def test_object_is_string(self):
client = Minio('localhost:9000')
client.presigned_get_object('hello', 1234)
示例7: main
# 需要导入模块: from minio import Minio [as 别名]
# 或者: from minio.Minio import presigned_get_object [as 别名]
def main():
"""
Functional testing of minio python library.
"""
fake = Factory.create()
client = Minio('s3.amazonaws.com',
os.getenv('ACCESS_KEY'),
os.getenv('SECRET_KEY'))
_http = urllib3.PoolManager(
cert_reqs='CERT_REQUIRED',
ca_certs=certifi.where()
)
# Get unique bucket_name, object_name.
bucket_name = uuid.uuid4().__str__()
object_name = uuid.uuid4().__str__()
# Enable trace
# client.trace_on(sys.stderr)
# Make a new bucket.
bucket_name = 'minio-pytest'
print(client.make_bucket(bucket_name))
print(client.make_bucket(bucket_name+'.unique',
location='us-west-1'))
## Check if return codes a valid from server.
try:
client.make_bucket(bucket_name+'.unique',
location='us-west-1')
except ResponseError as err:
if str(err.code) in ['BucketAlreadyOwnedByYou', 'BucketAlreadyExists']:
pass
else:
raise
# Check if bucket was created properly.
print(client.bucket_exists(bucket_name))
print(client.bucket_exists(bucket_name+'.unique'))
# List all buckets.
buckets = client.list_buckets()
for bucket in buckets:
print(bucket.name, bucket.creation_date)
with open('testfile', 'wb') as file_data:
file_data.write(fake.text().encode('utf-8'))
file_data.close()
# Put a file
file_stat = os.stat('testfile')
with open('testfile', 'rb') as file_data:
client.put_object(bucket_name, object_name, file_data, file_stat.st_size)
file_data.close()
# Fput a file
print(client.fput_object(bucket_name, object_name+'-f', 'testfile'))
# Fetch stats on your object.
print(client.stat_object(bucket_name, object_name))
# Get a full object
object_data = client.get_object(bucket_name, object_name)
with open('newfile', 'wb') as file_data:
for data in object_data:
file_data.write(data)
file_data.close()
# Get a full object locally.
print(client.fget_object(bucket_name, object_name, 'newfile-f'))
# List all object paths in bucket.
objects = client.list_objects(bucket_name, recursive=True)
for obj in objects:
print(obj.bucket_name, obj.object_name, obj.last_modified, \
obj.etag, obj.size, obj.content_type)
presigned_get_object_url = client.presigned_get_object(bucket_name, object_name)
response = _http.urlopen('GET', presigned_get_object_url)
if response.status != 200:
response_error = ResponseError(response)
raise response_error.get(bucket_name, object_name)
presigned_put_object_url = client.presigned_put_object(bucket_name, object_name)
value = fake.text().encode('utf-8')
data = io.BytesIO(value).getvalue()
response = _http.urlopen('PUT', presigned_put_object_url, body=data)
if response.status != 200:
response_error = ResponseError(response)
raise response_error.put(bucket_name, object_name)
object_data = client.get_object(bucket_name, object_name)
if object_data.read() != value:
raise ValueError('Bytes not equal')
# Post policy.
policy = PostPolicy()
policy.set_bucket_name(bucket_name)
#.........这里部分代码省略.........
示例8: Minio
# 需要导入模块: from minio import Minio [as 别名]
# 或者: from minio.Minio import presigned_get_object [as 别名]
# -*- coding: utf-8 -*-
# Minio Python Library for Amazon S3 Compatible Cloud Storage, (C) 2015 Minio, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from minio import Minio
client = Minio('https://s3.amazonaws.com',
access_key='YOUR-ACCESSKEYID',
secret_key='YOUR-SECRETACCESSKEY')
# presigned get object URL for object name, expires in 7 days.
print(client.presigned_get_object('bucketName', 'objectName'))
示例9: main
# 需要导入模块: from minio import Minio [as 别名]
# 或者: from minio.Minio import presigned_get_object [as 别名]
def main():
"""
Functional testing of minio python library.
"""
fake = Factory.create()
client = Minio('https://play.minio.io:9002',
'Q3AM3UQ867SPQQA43P2F',
'zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG')
# Get unique bucket_name, object_name.
bucket_name = uuid.uuid4().__str__()
object_name = uuid.uuid4().__str__()
# Make a new bucket.
print(client.make_bucket(bucket_name))
# Check if bucket was created properly.
print(client.bucket_exists(bucket_name))
# Set bucket name to private.
print(client.set_bucket_acl(bucket_name, Acl.private()))
# Print current bucket acl.
print(client.get_bucket_acl(bucket_name))
# List all buckets.
buckets = client.list_buckets()
for bucket in buckets:
print(bucket.name, bucket.creation_date)
with open('testfile', 'wb') as file_data:
file_data.write(fake.text().encode('utf-8'))
file_data.close()
# Put a file
file_stat = os.stat('testfile')
with open('testfile', 'rb') as file_data:
client.put_object(bucket_name, object_name, file_data, file_stat.st_size)
file_data.close()
# Fetch stats on your object.
print(client.stat_object(bucket_name, object_name))
# Get a full object
data = client.get_object(bucket_name, object_name)
with open('newfile', 'wb') as file_data:
for d in data:
file_data.write(d)
file_data.close()
# List all object paths in bucket that begin with hello.
objects = client.list_objects(bucket_name)
for obj in objects:
print(obj.bucket_name, obj.object_name, obj.last_modified, \
obj.etag, obj.size, obj.content_type)
uploads = client.list_incomplete_uploads(bucket_name,
prefix='',
recursive=True)
for obj in uploads:
print(obj.bucket_name, obj.object_name, obj.upload_id)
print(client.presigned_get_object(bucket_name, object_name))
print(client.presigned_put_object(bucket_name, object_name))
# Remove an object.
print(client.remove_object(bucket_name, object_name))
# Remove a bucket.
# This operation will only work if your bucket is empty.
print(client.remove_bucket(bucket_name))
# Remove temporary files.
os.remove('testfile')
os.remove('newfile')