openstack.object_store.v1.obj

对象类

对象类 Object 继承自 Resource

class openstack.object_store.v1.obj.Object(data=None, **attrs)

处理并保存创建阶段已知的元数据

base_path = '/%(container)s'

此资源的 URI 的基本部分。

pagination_key = 'X-Container-Object-Count'

用于分页链接的键

allow_create = True

允许对此资源进行创建操作。

allow_fetch = True

允许对此资源进行获取操作。

allow_commit = True

允许对此资源进行更新操作。

allow_delete = True

允许对此资源进行删除操作。

allow_list = True

允许对此资源进行列表操作。

allow_head = True

允许对此资源进行 head 操作。

container

容器的唯一名称。

name

对象的唯一名称。

is_newest

如果设置为 True,对象存储将查询所有副本以返回最新的副本。 如果您省略此标头,对象存储在找到一个有效副本后会更快地响应。 由于将此标头设置为 True 对后端来说成本更高,因此只有在绝对需要时才使用它。 *类型:bool*

range

TODO(briancurtin) 这里有很多内容…

if_match

请参阅 http://www.ietf.org/rfc/rfc2616.txt

if_none_match

结合 Expect: 100-Continue,指定一个“If-None-Match: *”标头,以查询服务器是否在发送任何数据之前已经拥有该对象的副本。

if_modified_since

请参阅 http://www.ietf.org/rfc/rfc2616.txt

if_unmodified_since

请参阅 http://www.ietf.org/rfc/rfc2616.txt

signature

与临时 URL 一起用于签名请求。 有关临时 URL 的更多信息,请参阅 OpenStack 对象存储 API v1 参考。

expires_at

与临时 URL 一起用于指定签名的过期时间。 有关临时 URL 的更多信息,请参阅 OpenStack 对象存储 API v1 参考。

manifest

如果存在,这是一个动态大对象清单对象。 该值是分段对象在容器和对象名称前缀中的形式:container/prefix。

multipart_manifest

如果您包含 multipart-manifest=get 查询参数并且该对象是大对象,则不会返回对象内容。 相反,清单将以动态大对象的 X-Object-Manifest 响应标头或静态大对象的响应主体中的形式返回。

content_length

HEAD 操作不返回内容。 但是,在此操作中,Content-Length 标头中的值不是响应主体的尺寸。 相反,它包含对象的大小(以字节为单位)。

content_type

对象的 MIME 类型。

accept_ranges

对象接受的范围的类型。

etag

对于小于 5 GB 的对象,此值是对象内容的 MD5 校验和。 该值未加引号。 对于清单对象,此值是清单中每个分段的 MD5 校验和和 ETag 的串联字符串的 MD5 校验和,而不是下载内容的 MD5 校验和。 此外,该值包含在双引号字符中。 强烈建议您在接收到响应主体时计算 MD5 校验和并将其与标头中的值进行比较。 如果它们不同,则内容已损坏,因此请重试该操作。

is_static_large_object

如果此对象是静态大对象清单对象,则设置为 True。 *类型:bool*

content_encoding

如果设置,则为 Content-Encoding 元数据的的值。 如果未设置,则此标头不会在此操作中返回。

content_disposition

如果设置,则指定浏览器覆盖行为。 例如,此标头可能指定浏览器使用下载程序保存此文件,而不是显示文件,这是默认行为。 如果未设置,则此标头不会在此操作中返回。

delete_after

指定对象删除后的秒数。 在内部,对象存储系统将此值存储在 X-Delete-At 元数据项中。

delete_at

如果设置,则系统将在 UNIX Epoch 时间戳格式删除对象的时间。 如果未设置,则此标头不会在此操作中返回。

object_manifest

如果设置,则这是一个动态大对象清单对象。 该值是分段对象在容器和对象名称前缀中的形式:container/prefix。

timestamp

事务的时间戳。

last_modified_at

创建对象或上次更改元数据的日期和时间。

transfer_encoding

设置为 chunked 以启用分块传输编码。 如果使用,请不要将 Content-Length 标头设置为非零值。

is_content_type_detected

如果设置为 true,对象存储将根据文件扩展名猜测内容类型,并忽略 Content-Type 标头中发送的值(如果存在)。 *类型:bool*

copy_from

如果设置,这是用于通过复制 X-Copy-From 对象来创建新对象的对象名称。 该值采用 {container}/{object} 的形式。 在包含容器和对象名称之前,必须对它们进行 UTF-8 编码,然后进行 URL 编码。 使用带有 X-Copy-From 的 PUT 具有与使用 COPY 操作复制对象相同的效果。

如果存在,这是一个符号链接对象。 该值是目标对象的相对路径,格式为 <container>/<object>。

如果存在,并且存在 X-Symlink-Target,则这是指向指定值中帐户中对象的跨帐户符号链接。

access_control_allow_origin

RAX 的 CORS(偏离标准)

has_body = False

响应是否具有主体

create(session, prepend_key=True, base_path=None, **kwargs)

基于此实例创建远程资源。

参数:
  • session (Adapter) – 用于发出此请求的会话。

  • prepend_key – 一个布尔值,指示是否应在资源创建请求中将 resource_key 附加到请求体之前。默认为 True。

  • base_path (str) – 创建资源的 URI 的基本部分,如果与 base_path 不同。

  • resource_request_key (str) – 覆盖在将键附加到请求体时使用 self.resource_key 的用法。如果 prepend_key 为 false,则忽略。

  • resource_response_key (str) – 覆盖在处理响应体时使用 self.resource_key 的用法。如果 prepend_key 为 false,则忽略。

  • microversion (str) – 覆盖协商版本使用的 API 版本。

  • params (dict) – 传递的额外参数。

返回值:

Resource 实例。

引发:

MethodNotSupported 如果 Resource.allow_create 未设置为 True