如标题所示,boto中的关键是什么?
我无法在其官方文档或任何其他第三方网站上找到此信息。有人能提供这个信息吗?
以下是key
对象的一些使用示例:
def download_file(key_name, storage):
key = bucket.get_key(key_name)
try:
storage.append(key.get_contents_as_string())
except:
print "Some error message."
和
for key in keys_to_process:
pool.spawn_n(download_file, key.key, file_contents)
pool.waitall()
答案 0 :(得分:3)
在您的代码示例中 - key是对存储桶中唯一标识符的对象引用。
将存储桶视为数据库中的表 将密钥视为表中的行 你引用桶中的密钥(更好地称为对象)。
经常在boto(不是boto3)中像这样工作
from boto.s3.connection import S3Connection
connection = S3Connection() # assumes you have a .boto or boto.cfg setup
bucket = connection.get_bucket('my_bucket_name_here') # this is like the table name in SQL, select OBJECT form TABLENAME
key = bucket.get_key('my_key_name_here') this is the OBJECT in the above SQL example. key names are a string, and there is a convention that says if you put a '/' in the name, a viewer/tool should treat it like a path/folder for the user, e.g. my/object_name/is_this is really just a key inside the bucket, but most viewers will show a my folder, and an object_name folder, and then what looks like a file called is_this simply by UI convention
答案 1 :(得分:2)
由于您似乎在谈论简单存储服务(S3),因此您将在S3文档的第1页上找到该信息。
使用开发人员分配的唯一密钥存储和检索每个对象。
密钥是存储桶中对象的唯一标识符。存储桶中的每个对象只有一个密钥。由于存储桶,密钥和版本ID的组合唯一地标识每个对象,因此可以将Amazon S3视为"存储桶+密钥+版本"之间的基本数据映射。和对象本身。 Amazon S3中的每个对象都可以通过Web服务端点,存储桶名称,密钥和可选的版本进行唯一地寻址。例如,在网址http://doc.s3.amazonaws.com/2006-03-01/AmazonS3.wsdl中," doc"是桶的名称和" 2006-03-01 / AmazonS3.wsdl"是关键。
http://docs.aws.amazon.com/AmazonS3/latest/dev/Introduction.html
密钥只是一个字符串 - "路径和文件名"存储桶中的对象,没有前导/
。