你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Path - Read

读取文件
读取文件的内容。 对于读取操作,支持范围请求。 此操作支持条件 HTTP 请求。 有关详细信息,请参阅为 Blob 服务操作指定条件标头

GET https://{accountName}.{dnsSuffix}/{filesystem}/{path}
GET https://{accountName}.{dnsSuffix}/{filesystem}/{path}?timeout={timeout}

URI 参数

名称 必需 类型 说明
accountName
path True

string

Azure 存储帐户名称。

dnsSuffix
path True

string

Azure Data Lake Storage终结点的 DNS 后缀。

filesystem
path True

string

文件系统标识符。

正则表达式模式: ^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$

path
path True

string

文件或目录路径。

timeout
query

integer

int32

可选的操作超时值(以秒为单位)。 时间段从服务收到请求时开始。 如果超时值在操作完成之前已过,则操作将失败。

请求头

名称 必需 类型 说明
Range

string

HTTP Range 请求标头指定要检索的资源的一个或多个字节范围。

x-ms-lease-id

string

可选。 如果指定了此标头,则仅当满足以下两个条件时才执行操作:i) 路径的租约当前处于活动状态,ii) 请求中指定的租约 ID 与路径的租约 ID 匹配。

正则表达式模式: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-range-get-content-md5

boolean

可选。 如果此标头设置为“true”并与 Range 标头一起指定,则服务将返回该范围的 MD5 哈希,前提是该范围的大小小于或等于 4MB。 如果在未指定 Range 标头的情况下指定此标头,则服务将返回状态代码 400 (错误的请求) 。 如果当范围超过 4 MB 时将此标头设置为 true,则服务将返回状态代码 400 (错误的请求) 。

If-Match

string

可选。 ETag 值。 指定此标头,以便仅在资源的 ETag 与指定的值匹配时才执行操作。 必须在引号中指定 ETag。

If-None-Match

string

可选。 ETag 值或特殊通配符 (“*”) 值。 指定此标头,以便仅在资源的 ETag 与指定的值不匹配时才执行操作。 必须在引号中指定 ETag。

If-Modified-Since

string

可选。 日期和时间值。 指定此标头以仅当资源自指定日期和时间以来已修改时才执行操作。

If-Unmodified-Since

string

可选。 日期和时间值。 指定此标头以仅当自指定日期和时间以来未修改资源时才执行操作。

x-ms-encryption-key

string

可选。 Base64 编码的 AES-256 加密密钥。

x-ms-encryption-key-sha256

string

可选。 加密密钥的 Base64 编码 SHA256 哈希。

x-ms-encryption-algorithm: AES256

string

可选。 指定要用于加密的算法。 此标头的值必须为 AES256。

x-ms-client-request-id

string

用于故障排除和关联的分析日志中记录的 UUID。

正则表达式模式: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-date

string

指定请求的协调世界时 (UTC)。 使用共享密钥授权时,这是必需的。

x-ms-version

string

指定用于处理请求的 REST 协议的版本。 使用共享密钥授权时,这是必需的。

响应

名称 类型 说明
200 OK

file

正常

Media Types: "application/json", "application/octet-stream", "text/plain"

标头

  • Accept-Ranges: string
  • Cache-Control: string
  • Content-Disposition: string
  • Content-Encoding: string
  • Content-Language: string
  • Content-Length: integer
  • Content-Range: string
  • Content-Type: string
  • Content-MD5: string
  • Date: string
  • ETag: string
  • Last-Modified: string
  • x-ms-request-id: string
  • x-ms-version: string
  • x-ms-resource-type: string
  • x-ms-properties: string
  • x-ms-lease-duration: string
  • x-ms-lease-state: string
  • x-ms-lease-status: string
  • x-ms-server-encrypted: true/false: boolean
  • x-ms-encryption-key-sha256: string
  • x-ms-encryption-context: string
  • x-ms-encryption-scope: string
Other Status Codes

file

部分内容

Media Types: "application/json", "application/octet-stream", "text/plain"

标头

  • Accept-Ranges: string
  • Cache-Control: string
  • Content-Disposition: string
  • Content-Encoding: string
  • Content-Language: string
  • Content-Length: integer
  • Content-Range: string
  • Content-Type: string
  • Content-MD5: string
  • x-ms-content-md5: string
  • Date: string
  • ETag: string
  • Last-Modified: string
  • x-ms-request-id: string
  • x-ms-version: string
  • x-ms-resource-type: string
  • x-ms-properties: string
  • x-ms-lease-duration: string
  • x-ms-lease-state: string
  • x-ms-lease-status: string
  • x-ms-server-encrypted: true/false: boolean
  • x-ms-encryption-key-sha256: string
  • x-ms-encryption-context: string
  • x-ms-encryption-scope: string
Other Status Codes

DataLakeStorageError

出现了错误。 下面列出了可能的 HTTP 状态、代码和消息字符串:

  • 400 错误的请求,ContentLengthMustBeZero,“Content-Length 请求标头必须为零。”
  • 400 错误的请求,InvalidAuthenticationInfo,“未以正确的格式提供身份验证信息。 检查 Authorization 标头的值。”
  • 400 错误的请求,InvalidFlushPosition,“上传的数据不是连续的,或者位置查询参数值不等于追加上传的数据后的文件长度。”
  • 400 错误的请求,InvalidHeaderValue,“其中一个 HTTP 标头的值的格式不正确。”
  • 400 错误的请求,InvalidHttpVerb,“指定的 HTTP 谓词无效 - 服务器无法识别它。”
  • 400 错误的请求,InvalidInput,“其中一个请求输入无效。”
  • 400 错误的请求,InvalidPropertyName,“属性名称不能为空。”
  • 400 错误的请求,InvalidPropertyName,“属性名称包含无效字符。”
  • 400 错误请求,InvalidQueryParameterValue,“请求 URI 中指定的某个查询参数的值无效。”
  • 400 错误的请求,InvalidResourceName,“指定的资源名称包含无效字符。”
  • 400 错误请求,InvalidSourceUri,“源 URI 无效。
  • 400 错误的请求,InvalidUri,“请求 URI 无效。
  • 400 错误请求,MissingRequiredHeader,“未指定此请求必需的 HTTP 标头。”
  • 400 错误请求,MissingRequiredQueryParameter,“未指定此请求必需的查询参数。”
  • 400 错误的请求,MultipleConditionHeadersNotSupported,“不支持多个条件标头。”
  • 400 错误的请求,OutOfRangeInput,“其中一个请求输入超出范围。”
  • 400 错误请求,OutOfRangeQueryParameterValue,“请求 URI 中指定的查询参数之一超出了允许的范围。”
  • 400 错误的请求,UnsupportedHeader,“不支持请求中指定的标头之一。”
  • 400 错误请求,UnsupportedQueryParameter,“不支持请求 URI 中指定的查询参数之一。”
  • 400 错误的请求,UnsupportedRestVersion,“指定的 Rest 版本不受支持。”
  • 403 禁止访问,AccountIsDisabled,“指定的帐户已禁用。”
  • 403 禁止,AuthorizationFailure,“此请求无权执行此操作。”
  • 403 禁止访问,InsufficientAccountPermissions,“正在访问的帐户没有足够的权限来执行此操作。”
  • 404 未找到,FilesystemNotFound,“指定的文件系统不存在。”
  • 404 找不到,PathNotFound,“指定的路径不存在。”
  • 404 Not Found,RenameDestinationParentPathNotFound,“目标路径的父目录不存在。”
  • 404 找不到,ResourceNotFound,“指定的资源不存在。”
  • 404 Not Found, SourcePathNotFound, “重命名操作的源路径不存在。”
  • 405 方法不允许,不支持HttpVerb,“资源不支持指定的 HTTP 谓词。”
  • 409 Conflict,DestinationPathIsBeingDeleted,“指定的目标路径标记为要删除。”
  • 409 Conflict, DirectoryNotEmpty, “递归查询参数值必须为 true 才能删除非空目录。”
  • 409 Conflict,FilesystemAlreadyExists,“指定的文件系统已存在。”
  • 409 Conflict, FilesystemBeingDeleted, “指定的文件系统正在删除。”
  • 409 Conflict, InvalidDestinationPath, “指定的路径或路径的元素存在,并且其资源类型对于此操作无效。”* 409 冲突,InvalidFlushOperation,“资源由 Blob 服务 API 创建或修改,无法由Data Lake Storage服务 API 写入。”
  • 409 冲突,InvalidRenameSourcePath,“源目录不能与目标目录相同,目标目录也不能是源目录的子目录。”
  • 409 Conflict,InvalidSourceOrDestinationResourceType,“源和目标资源类型必须相同。”
  • 409 Conflict, LeaseAlreadyPresent,“已存在租约。
  • 409 Conflict, LeaseIdMismatchWithLeaseOperation,“指定的租约 ID 与具有指定租约操作的资源的租约 ID 不匹配。”
  • 409 Conflict, LeaseIsAlreadyBroken, “租约已被打破, 不能再次打破。
  • 409 Conflict, LeaseIsBreakingAndCannotBeAcquired,“租约 ID 匹配,但租约当前处于中断状态,在中断之前无法获取。”
  • 409 Conflict, LeaseIsBreakingAndCannotBeChanged,“租约 ID 匹配,但租约当前处于中断状态,无法更改。”
  • 409 Conflict, LeaseIsBrokenAndCannotBeRenewed,“租约 ID 匹配,但租约已显式中断,无法续订。”
  • 409 Conflict, LeaseNameMismatch, “指定的租约名称与现有租约名称不匹配。”
  • 409 Conflict, LeaseNotPresentWithLeaseOperation,“指定的租约操作中不存在租约 ID。
  • 409 Conflict,PathAlreadyExists,“指定的路径已存在。”
  • 409 Conflict, PathConflict, “指定的路径或路径的元素存在,并且其资源类型对于此操作无效。”
  • 409 Conflict, SourcePathIsBeingDeleted,“指定的源路径标记为要删除”。
  • 409 Conflict,ResourceTypeMismatch,“请求中指定的资源类型与资源类型不匹配。”
  • 412 前置条件失败,ConditionNotMet,“未满足使用 HTTP 条件标头 () 指定的条件。”
  • 412 前置条件失败,LeaseIdMismatch,“指定的租约 ID 与资源的租约 ID 不匹配。”
  • 412 前置条件失败,LeaseIdMissing,“当前资源上有租约,请求中未指定租约 ID。”
  • 412 前置条件失败,LeaseNotPresent,“资源当前没有租约。”
  • 412 前置条件失败,LeaseLost,“已指定租约 ID,但资源的租约已过期。”
  • 412 前置条件失败,SourceConditionNotMet,“未满足使用 HTTP 条件标头 () 指定的源条件。”
  • 413 请求实体太大,RequestBodyTooLarge,“请求正文太大,超出允许的最大限制。”
  • 416 请求的范围不可满足,InvalidRange,“指定的范围对于资源的当前大小无效。”
  • 500 内部服务器错误,InternalError,“服务器遇到内部错误。 请重试请求。”
  • 500 内部服务器错误 OperationTimedOut,“操作无法在允许的时间内完成。”
  • 503 服务不可用,ServerBusy,“出口超出帐户限制。”
  • 503 服务不可用,ServerBusy,“入口超出帐户限制。”
  • 503 服务不可用,ServerBusy,“每秒操作数超过帐户限制。”
  • 503 服务不可用,ServerBusy,“服务器当前无法接收请求。 请重试请求。”

Media Types: "application/json", "application/octet-stream", "text/plain"

标头

  • x-ms-request-id: string
  • x-ms-version: string

定义

名称 说明
DataLakeStorageError
Error

服务错误响应对象。

DataLakeStorageError

名称 类型 说明
error

Error

服务错误响应对象。

Error

服务错误响应对象。

名称 类型 说明
code

string

服务错误代码。

message

string

服务错误消息。