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

@azure/storage-file package

Aborter

aborter 实例实现 AbortSignal 接口,可以中止 HTTP 请求。

  • 调用 Aborter.none 以在不超时的情况下创建新的 Aborter 实例。
  • 调用 Aborter.timeout () 以创建具有超时的新 Aborter 实例。

对于现有实例中止程序:

  • 调用 aborter.withTimeout () 以创建并返回具有超时值的子 Aborter 实例。
  • 调用 aborter.withValue (键,值) 创建并返回具有键/值对的子 Aborter 实例。
  • 调用 aborter.abort () 以中止当前实例和所有子实例。
  • 调用 aborter.getValue (密钥) 以搜索并获取当前中止器中所有父级的相应密钥的值。
AccountSASPermissions

仅在 NODE.JS RUNTIME 中可用。 这是一个帮助程序类,用于构造表示 AccountSAS 授予的权限的字符串。 将值设置为 true 意味着使用这些权限的任何 SAS 都将授予该操作的权限。 设置所有值后,应使用 toString 进行序列化,并将其设置为对象上 <xref:IAccountSASSignatureValues> 的权限字段。 可以在没有此类的情况下构造权限字符串,但权限的顺序是特定的,此类保证正确性。

AccountSASResourceTypes

仅在 NODE.JS RUNTIME 中可用。 这是一个帮助程序类,用于构造表示 AccountSAS 可访问的资源的字符串。 将值设置为 true 意味着使用这些权限的任何 SAS 都将授予对该资源类型的访问权限。 设置所有值后,应使用 toString 对此进行序列化,并将其设置为对象上的 <xref:IAccountSASSignatureValues> 资源字段。 可以在没有此类的情况下构造资源字符串,但资源的顺序是特殊的,此类保证正确性。

AccountSASServices

仅在 NODE.JS RUNTIME 中可用。 这是一个帮助程序类,用于构造表示 AccountSAS 可访问的服务的字符串。 将值设置为 true 意味着使用这些权限的任何 SAS 都将授予对该服务的访问权限。 设置所有值后,应使用 toString 进行序列化,并将其设置为 对象上的 <xref:IAccountSASSignatureValues> 服务字段。 可以在没有此类的情况下构造服务字符串,但服务的顺序是特殊的,此类保证正确性。

BrowserPolicyFactory

BrowserPolicyFactory 是一个工厂类,可帮助生成 BrowserPolicy 对象。

DirectoryURL

DirectoryURL 表示 Azure 存储目录的 URL,可用于操作其文件和目录。

FileSASPermissions

仅在 NODE.JS RUNTIME 中可用。 这是一个帮助程序类,用于构造表示 ServiceSAS 授予对文件的权限的字符串。 将值设置为 true 意味着使用这些权限的任何 SAS 都将授予该操作的权限。 设置所有值后,应使用 toString 对此进行序列化,并将其设置为对象上 <xref:IFileSASSignatureValues> 的权限字段。 可以在没有此类的情况下构造权限字符串,但权限的顺序是特定的,此类可以保证正确性。

FileSystemAttributes

这是一个帮助程序类,用于构造表示文件或目录的 NTFS 属性的字符串。

FileURL

FileURL 表示 Azure 存储文件的 URL。

KeepAlivePolicyFactory

KeepAlivePolicyFactory 是一个工厂类,可帮助生成 KeepAlivePolicy 对象。

LoggingPolicyFactory

LoggingPolicyFactory 是一个工厂类,可帮助生成 LoggingPolicy 对象。

Pipeline

包含 HTTP 请求策略的 Pipeline 类。 可以通过调用 StorageURL.newPipeline () 来创建默认管道。 或者,可以通过 Pipeline 的构造函数使用自己的策略创建管道。 在实现自定义管道之前,请参阅 StorageURL.newPipeline () 并提供的策略作为参考。

RetryPolicyFactory

RetryPolicyFactory 是一个工厂类,可帮助生成 RetryPolicy 对象。

SASQueryParameters

表示构成 Azure 存储 SAS 查询参数的组件。 此类型不是由用户直接构造的;它仅由 和 <xref:IFileSASSignatureValues> 类型生成<xref:IAccountSASSignatureValues>。 生成后,可以将其编码为 {@code String} 并直接追加到 URL (不过,如果存在现有的查询参数,则此处应小心,这可能会影响) 追加这些查询参数的适当方式。 注意:此类的实例是不可变的。

ServiceURL

ServiceURL 表示 Azure 存储文件服务的 URL,可用于操作文件共享。

ShareSASPermissions

这是一个帮助程序类,用于构造表示 ServiceSAS 授予共享的权限的字符串。 将值设置为 true 意味着使用这些权限的任何 SAS 都将授予该操作的权限。 设置所有值后,应使用 toString 对此进行序列化,并将其设置为对象上 <xref:IFileSASSignatureValues> 的权限字段。 可以在没有此类的情况下构造权限字符串,但权限的顺序是特定的,此类保证正确性。

ShareURL

ShareURL 表示 Azure 存储共享的 URL,可用于操作其目录和文件。

StorageURL

ServiceURL 表示 ServiceURL、ContainerURL 等的基于 URL 类。

TelemetryPolicyFactory

TelemetryPolicyFactory 是一个工厂类,可帮助生成 TelemetryPolicy 对象。

UniqueRequestIDPolicyFactory

UniqueRequestIDPolicyFactory 是一个工厂类,可帮助生成 UniqueRequestIDPolicy 对象。

AnonymousCredential

AnonymousCredential 提供用于创建 AnonymousCredentialPolicy 对象的 credentialPolicyCreator 成员。 AnonymousCredentialPolicy 与读取公共资源的 HTTP (S) 请求一起使用,或用于共享访问签名 (SAS) 。

Credential

Credential 是 Azure 存储 HTTP 请求签名的抽象类。 此类将托管一个生成 CredentialPolicy 的 credentialPolicyCreator 工厂。

SharedKeyCredential

仅在 NODE.JS RUNTIME 中可用。 用于 Azure 存储服务的帐户密钥授权的 SharedKeyCredential。

Directory

表示目录的类。

File

表示文件的类。

Service

表示服务的类。

Share

表示 Share 的类。

StorageClient
StorageClientContext
AnonymousCredentialPolicy

AnonymousCredentialPolicy 与读取公共资源的 HTTP (S) 请求一起使用,或用于共享访问签名 (SAS) 。

BrowserPolicy

BrowserPolicy 将处理 Node.js 和浏览器运行时之间的差异,包括:

  1. 浏览器通过添加条件标头(如“IF_MODIFIED_SINCE”)来缓存 GET/HEAD请求。 BrowserPolicy 是一种策略,用于将时间戳查询添加到 GET/HEAD请求 URL,从而避免浏览器缓存。

  2. 删除 Cookie 标头以保障安全性

  3. 删除内容长度标头以避免浏览器警告

CredentialPolicy

用于在发送请求之前对 HTTP (S) 请求进行签名的凭据策略。 这是一个抽象类。

KeepAlivePolicy

KeepAlivePolicy 是一种策略,用于控制每个请求的保持活动状态设置。

LoggingPolicy

LoggingPolicy 是用于记录请求的策略。

RetryPolicy

实现指数重试和线性重试的重试策略。

SharedKeyCredentialPolicy

SharedKeyCredentialPolicy 是一种策略,用于使用共享密钥对 HTTP 请求进行签名。

TelemetryPolicy

TelemetryPolicy 是一种策略,用于标记每个请求的用户代理标头。

UniqueRequestIDPolicy

UniqueRequestIDPolicy 生成一个 UUID 作为 x-ms-request-id 标头值。

Batch

Batch 提供具有并发限制的基本并行执行。 当执行的操作之一引发错误时,将停止执行左操作。 但 Batch 无法取消正在进行的操作,需要自行取消这些操作。

BufferScheduler

此类接受 Node.js 可读流作为输入,并将数据从流一直读入内部缓冲区结构,直到达到 maxBuffers。 每个可用缓冲区将尝试触发 outgoingHandler。 内部缓冲区结构包括传入缓冲区数组和传出缓冲区数组。 传入缓冲区数组包含可以使用新的传入数据填充的“空”缓冲区。 传出数组包括要由 outgoingHandler 处理的已填充缓冲区。 上述每个缓冲区大小都由参数 bufferSize 定义。

NUM_OF_ALL_BUFFERS = BUFFERS_IN_INCOMING + BUFFERS_IN_OUTGOING + BUFFERS_UNDER_HANDLING

<NUM_OF_ALL_BUFFERS = maxBuffers

性能改进提示:

  1. 输入流 highWaterMark 最好使用 bufferSize 参数设置相同的值,这将避免 Buffer.concat () 操作。
  2. 并行度应设置比 maxBuffers 更小的值,这有助于降低传出处理程序等待流数据的可能性。 在这种情况下,会阻止传出处理程序。 传出队列不应为空。
RetriableReadableStream

仅在 NODE.JS RUNTIME 中可用。 当内部 ReadableStream 意外结束时,Node.js ReadableStream 将在内部重试。

接口

IDirectoryCreateOptions
IDirectoryForceCloseHandlesSegmentOptions
IDirectoryListFilesAndDirectoriesSegmentOptions
IDirectoryListHandlesSegmentOptions
IDirectoryProperties
IFileCreateOptions
IFileDownloadOptions
IFileGetRangeListOptions

选项定义为与 REST 定义的奇偶校验。 虽然现在尚未准备好使用,但考虑到源内容的 Crc64 不可访问。

IFileListHandlesSegmentOptions
IFileProperties
IFileStartCopyOptions
IFileUploadRangeOptions
ISetPropertiesResponse
IAccountSASSignatureValues

仅在 NODE.JS RUNTIME 中可用。 IAccountSASSignatureValues 用于为 Azure 存储帐户生成共享访问签名 (SAS) 。 正确设置此处的所有值后,调用 generateSASQueryParameters () 以获取实际可应用于文件 URL 的 SAS 的表示形式。 注意:此类和 <xref:SASQueryParameters> 都存在,因为前者是可变的,而后者是不可变的,用于生成实际的 REST 请求。

IFileSASSignatureValues

仅在 NODE.JS RUNTIME 中可用。 IFileSASSignatureValues 用于帮助生成共享或文件的文件服务 SAS 令牌。

IIPRange

SAS 的允许 IP 范围。

IRange

服务操作的范围。

IKeepAliveOptions

KeepAlivePolicy 选项的接口。

IRequestLogOptions

RequestLogOptions 配置重试策略的行为。

IPipelineOptions

管道构造函数的选项接口。

IRetryOptions

重试选项接口。

IServiceListSharesSegmentOptions
IShareCreateOptions
IShareCreateSnapshotOptions
IShareDeleteMethodOptions
ISignedIdentifier
INewPipelineOptions

Pipeline.newPipeline 方法的选项接口。

ITelemetryOptions

TelemetryPolicy 选项的接口。

AccessPolicy

访问策略。

CorsRule

CORS 是一项 HTTP 功能,使在一个域中运行的 Web 应用程序能够访问另一个域中的资源。 Web 浏览器实施一种称为同源策略的安全限制,以防止网页调用另一个域中的 API;CORS 提供了一种安全的方法来允许一个域(源域)调用另一个域中的 API。

DirectoryCreateHeaders

定义创建操作的标头。

DirectoryCreateOptionalParams

可选参数。

DirectoryDeleteHeaders

定义 Delete 操作的标头。

DirectoryDeleteMethodOptionalParams

可选参数。

DirectoryForceCloseHandlesHeaders

定义 ForceCloseHandles 操作的标头。

DirectoryForceCloseHandlesOptionalParams

可选参数。

DirectoryGetPropertiesHeaders

定义 GetProperties 操作的标头。

DirectoryGetPropertiesOptionalParams

可选参数。

DirectoryItem

列出的目录项。

DirectoryListFilesAndDirectoriesSegmentHeaders

定义 ListFilesAndDirectoriesSegment 操作的标头。

DirectoryListFilesAndDirectoriesSegmentOptionalParams

可选参数。

DirectoryListHandlesHeaders

定义 ListHandles 操作的标头。

DirectoryListHandlesOptionalParams

可选参数。

DirectorySetMetadataHeaders

定义 SetMetadata 操作的标头。

DirectorySetMetadataOptionalParams

可选参数。

DirectorySetPropertiesHeaders

定义 SetProperties 操作的标头。

DirectorySetPropertiesOptionalParams

可选参数。

FileAbortCopyHeaders

定义 AbortCopy 操作的标头。

FileAbortCopyOptionalParams

可选参数。

FileCreateHeaders

定义创建操作的标头。

FileCreateOptionalParams

可选参数。

FileDeleteHeaders

定义 Delete 操作的标头。

FileDeleteMethodOptionalParams

可选参数。

FileDownloadHeaders

定义下载操作的标头。

FileDownloadOptionalParams

可选参数。

FileForceCloseHandlesHeaders

定义 ForceCloseHandles 操作的标头。

FileForceCloseHandlesOptionalParams

可选参数。

FileGetPropertiesHeaders

定义 GetProperties 操作的标头。

FileGetPropertiesOptionalParams

可选参数。

FileGetRangeListHeaders

定义 GetRangeList 操作的标头。

FileGetRangeListOptionalParams

可选参数。

FileHTTPHeaders

一组操作的其他参数,例如:File_create、File_setHTTPHeaders。

FileItem

列出的文件项。

FileListHandlesHeaders

定义 ListHandles 操作的标头。

FileListHandlesOptionalParams

可选参数。

FileProperty

文件属性。

FileSetHTTPHeadersHeaders

定义 SetHTTPHeaders 操作的标头。

FileSetHTTPHeadersOptionalParams

可选参数。

FileSetMetadataHeaders

定义 SetMetadata 操作的标头。

FileSetMetadataOptionalParams

可选参数。

FileStartCopyHeaders

定义 StartCopy 操作的标头。

FileStartCopyOptionalParams

可选参数。

FileUploadRangeFromURLHeaders

定义 UploadRangeFromURL 操作的标头。

FileUploadRangeFromURLOptionalParams

可选参数。

FileUploadRangeHeaders

定义 UploadRange 操作的标头。

FileUploadRangeOptionalParams

可选参数。

FilesAndDirectoriesListSegment

可从目录列出的条目的摘要。

HandleItem

列出的 Azure 存储句柄项。

ListFilesAndDirectoriesSegmentResponse

目录和文件的枚举。

ListHandlesResponse

句柄的枚举。

ListSharesResponse

共享的枚举。

Metrics

存储分析文件服务的指标。

Permission

权限 (安全描述符定义语言 (SDDL) 中描述的安全描述符) 。

Range

Azure 存储文件范围。

RetentionPolicy

保留策略。

ServiceGetPropertiesHeaders

定义 GetProperties 操作的标头。

ServiceGetPropertiesOptionalParams

可选参数。

ServiceListSharesSegmentHeaders

定义 ListSharesSegment 操作的标头。

ServiceListSharesSegmentOptionalParams

可选参数。

ServiceSetPropertiesHeaders

定义 SetProperties 操作的标头。

ServiceSetPropertiesOptionalParams

可选参数。

ShareCreateHeaders

定义创建操作的标头。

ShareCreateOptionalParams

可选参数。

ShareCreatePermissionHeaders

定义 CreatePermission 操作的标头。

ShareCreatePermissionOptionalParams

可选参数。

ShareCreateSnapshotHeaders

定义 CreateSnapshot 操作的标头。

ShareCreateSnapshotOptionalParams

可选参数。

ShareDeleteHeaders

定义 Delete 操作的标头。

ShareDeleteMethodOptionalParams

可选参数。

ShareGetAccessPolicyHeaders

定义 GetAccessPolicy 操作的标头。

ShareGetAccessPolicyOptionalParams

可选参数。

ShareGetPermissionHeaders

定义 GetPermission 操作的标头。

ShareGetPermissionOptionalParams

可选参数。

ShareGetPropertiesHeaders

定义 GetProperties 操作的标头。

ShareGetPropertiesOptionalParams

可选参数。

ShareGetStatisticsHeaders

定义 GetStatistics 操作的标头。

ShareGetStatisticsOptionalParams

可选参数。

ShareItem

列出的 Azure 存储共享项。

ShareProperties

共享的属性。

ShareSetAccessPolicyHeaders

定义 SetAccessPolicy 操作的标头。

ShareSetAccessPolicyOptionalParams

可选参数。

ShareSetMetadataHeaders

定义 SetMetadata 操作的标头。

ShareSetMetadataOptionalParams

可选参数。

ShareSetQuotaHeaders

定义 SetQuota 操作的标头。

ShareSetQuotaOptionalParams

可选参数。

ShareStats

共享的统计信息。

SignedIdentifier

已签名的标识符。

SourceModifiedAccessConditions

uploadRangeFromURL 操作的其他参数。

StorageError

表示 StorageError 的接口。

StorageServiceProperties

存储服务属性。

IDownloadFromAzureFileOptions

DownloadAzurefileToBuffer 的选项接口。

IUploadToAzureFileOptions

uploadFileToAzureFile 和 uploadSeekableStreamToAzureFile 的选项接口。

IUploadStreamToAzureFileOptions

uploadStreamToAzureFile 的选项接口。

IFileAndDirectoryCreateCommonOptions
IFileAndDirectorySetPropertiesCommonOptions
IFileHTTPHeaders
IMetadata
IRetriableReadableStreamOptions

类型别名

FileDownloadResponse

包含下载操作的响应数据。

FileGetRangeListResponse

包含 getRangeList 操作的响应数据。

ShareGetAccessPolicyResponse

包含 getAccessPolicy 操作的响应数据。

ShareGetStatisticsResponse

包含 getStatistics 操作的响应数据。

CredentialPolicyCreator

一个工厂函数,用于创建使用提供的 nextPolicy 的新 CredentialPolicy。

CopyStatusType

定义 CopyStatusType 的值。 可能的值包括:“pending”、“success”、“aborted”、“failed”

DeleteSnapshotsOptionType

定义 DeleteSnapshotsOptionType 的值。 可能的值包括:“include”

DirectoryCreateResponse

包含创建操作的响应数据。

DirectoryDeleteResponse

包含 deleteMethod 操作的响应数据。

DirectoryForceCloseHandlesResponse

包含 forceCloseHandles 操作的响应数据。

DirectoryGetPropertiesResponse

包含 getProperties 操作的响应数据。

DirectoryListFilesAndDirectoriesSegmentResponse

包含 listFilesAndDirectoriesSegment 操作的响应数据。

DirectoryListHandlesResponse

包含 listHandles 操作的响应数据。

DirectorySetMetadataResponse

包含 setMetadata 操作的响应数据。

DirectorySetPropertiesResponse

包含 setProperties 操作的响应数据。

FileAbortCopyResponse

包含 abortCopy 操作的响应数据。

FileCreateResponse

包含创建操作的响应数据。

FileDeleteResponse

包含 deleteMethod 操作的响应数据。

FileForceCloseHandlesResponse

包含 forceCloseHandles 操作的响应数据。

FileGetPropertiesResponse

包含 getProperties 操作的响应数据。

FileListHandlesResponse

包含 listHandles 操作的响应数据。

FileRangeWriteType

定义 FileRangeWriteType 的值。 可能的值包括:“update”、“clear”

FileSetHTTPHeadersResponse

包含 setHTTPHeaders 操作的响应数据。

FileSetMetadataResponse

包含 setMetadata 操作的响应数据。

FileStartCopyResponse

包含 startCopy 操作的响应数据。

FileType

定义 FileType 的值。 可能的值包括:“File”

FileUploadRangeFromURLResponse

包含 uploadRangeFromURL 操作的响应数据。

FileUploadRangeResponse

包含 uploadRange 操作的响应数据。

ListSharesIncludeType

定义 ListSharesIncludeType 的值。 可能的值包括:“snapshots”、“metadata”

ServiceGetPropertiesResponse

包含 getProperties 操作的响应数据。

ServiceListSharesSegmentResponse

包含 listSharesSegment 操作的响应数据。

ServiceSetPropertiesResponse

包含 setProperties 操作的响应数据。

ShareCreatePermissionResponse

包含 createPermission 操作的响应数据。

ShareCreateResponse

包含创建操作的响应数据。

ShareCreateSnapshotResponse

包含 createSnapshot 操作的响应数据。

ShareDeleteResponse

包含 deleteMethod 操作的响应数据。

ShareGetPermissionResponse

包含 getPermission 操作的响应数据。

ShareGetPropertiesResponse

包含 getProperties 操作的响应数据。

ShareSetAccessPolicyResponse

包含 setAccessPolicy 操作的响应数据。

ShareSetMetadataResponse

包含 setMetadata 操作的响应数据。

ShareSetQuotaResponse

包含 setQuota 操作的响应数据。

StorageErrorCode

定义 StorageErrorCode 的值。 可能的值包括:“AccountAlreadyExists”、“AccountBeingCreated”、“AccountIsDisabled”、“AuthenticationFailed”、“AuthorizationFailure”、“ConditionHeadersNotSupported”、 “ConditionNotMet”、“EmptyMetadataKey”、“InsufficientAccountPermissions”、“InternalError”、“InvalidAuthenticationInfo”、“InvalidHeaderValue”、“InvalidHttpVerb”、“InvalidInput”、“InvalidMd5”、“InvalidMetadata”、“InvalidQueryParameterValue”、“InvalidRange”、“InvalidResourceName”、“InvalidUri”、“'InvalidXmlDocument“、”InvalidXmlNodeValue“、”Md5Mismatch“、”MetadataTooLarge“、”MissingContentLengthHeader“、”MissingRequiredQueryParameter“、”MissingRequiredHeader“、”MissingRequiredXmlNode“, ”MultipleConditionHeadersNotSupported“、”OperationTimedOut“、”OutOfRangeInput“、”OutOfRangeQueryParameterValue“、”RequestBodyTooLarge“、”ResourceTypeMismatch“、”RequestUrlFailedToParse“、”ResourceAlreadyExists“、”ResourceNotFound“、”ServerBusy“、”UnsupportedHeader“、UnsupportedXmlNode、“UnsupportedQueryParameter”、“UnsupportedHttpVerb”、“CannotDeleteFileOrDirectory”、“ClientCacheFlushDelay”、“DeletePending”、“DirectoryNotEmpty”、“FileLockConflict”、“InvalidFileOrDirectoryPathName”、 “ParentNotFound”、“ReadOnlyAttribute”、“ShareAlreadyExists”、“ShareBeingDeleted”、“ShareDisabled”、“ShareNotFound”、“SharingViolation”、“ShareSnapshotInProgress”、“ShareSnapshotCountExceeded”、“ShareSnapshotOperationNotSupported”、ShareHasSnapshots', 'ContainerQuotaDowngradeNotAllowed'

FileAttributesPreserveType

指示保持现有文件属性不变。

FilePermissionInheritType

指示从父目录继承文件权限。

FilePermissionPreserveType

指示保持现有文件权限值不变。

TimeNowType

指示设置作为请求的时间。

TimePreserveType

指示保持现有时间值不变。

Operation

操作是由 Batch 执行和管理的异步函数。

OutgoingHandler

OutgoingHandler 是由 BufferScheduler 触发的异步函数。

ReadableStreamGetter

枚举

SASProtocol

生成的 SAS 的协议。

RetryPolicyType

RetryPolicy 类型。

函数

generateAccountSASQueryParameters(IAccountSASSignatureValues, SharedKeyCredential)

仅在 NODE.JS RUNTIME 中可用。 生成一个 <xref:SASQueryParameters> 对象,其中包含发出实际 REST 请求所需的所有 SAS 查询参数。

generateFileSASQueryParameters(IFileSASSignatureValues, SharedKeyCredential)

仅在 NODE.JS RUNTIME 中可用。 创建 SASQueryParameters 的实例。

仅接受创建 SAS 所需的设置。 对于可选设置,请直接设置相应的属性,例如权限、startTime 和标识符。

警告:如果未提供标识符,则需要权限和 expiryTime。 如果首先使用此构造函数,则必须手动为 identifier 或 expiryTime & 权限赋值。

ipRangeToString(IIPRange)

生成 IPRange 格式字符串。 例如:“8.8.8.8”或“1.1.1-255.255.255.255”

rangeToString(IRange)

生成范围字符串。 例如:“bytes=255-”或“bytes=0-511”

uploadBrowserDataToAzureFile(Aborter, Blob | ArrayBuffer | ArrayBufferView, FileURL, IUploadToAzureFileOptions)

仅在浏览器中可用。 将浏览器 Blob/文件/ArrayBuffer/ArrayBufferView 对象上传到 Azure 文件。

downloadAzureFileToBuffer(Aborter, Buffer, FileURL, number, undefined | number, IDownloadFromAzureFileOptions)

仅在 NODE.JS RUNTIME 中可用。 将 Azure 文件并行下载到缓冲区。 偏移量和计数是可选的,两者都传递 0 以下载整个文件。

uploadFileToAzureFile(Aborter, string, FileURL, IUploadToAzureFileOptions)

仅在 NODE.JS RUNTIME 中可用。 将本地文件上传到 Azure 文件。

uploadStreamToAzureFile(Aborter, Readable, number, FileURL, number, number, IUploadStreamToAzureFileOptions)

仅在 NODE.JS RUNTIME 中可用。 将 Node.js 可读流上传到 Azure 文件中。 此方法将尝试创建 Azure,然后开始逐个上传区块。 区块大小由 bufferSize 参数定义。 请确保流的潜在大小不超过文件大小。

性能改进提示:

  • 输入流 highWaterMark 最好使用 bufferSize 参数设置相同的值,这将避免 Buffer.concat () 操作。
fileAttributesToString(FileSystemAttributes | FileAttributesPreserveType)
fileCreationTimeToString(Date | TimeNowType | TimePreserveType)
fileLastWriteTimeToString(Date | TimeNowType | TimePreserveType)
validateAndSetDefaultsForFileAndDirectoryCreateCommonOptions(IFileAndDirectoryCreateCommonOptions)
validateAndSetDefaultsForFileAndDirectorySetPropertiesCommonOptions(IFileAndDirectorySetPropertiesCommonOptions)
validateFilePermissionOptions(undefined | string, undefined | string)
NewRetryPolicyFactory(IRetryOptions)

用于生成 RetryPolicy 工厂的工厂方法。

blobToArrayBuffer(Blob)

将浏览器 Blob 对象转换为 ArrayBuffer。

appendToURLPath(string, string)

将字符串追加到 URL 路径。 当 URL 路径以“/”结尾时,将删除字符串前面的重复的“/”。

base64decode(string)

Base64 解码。

base64encode(string)

Base64 编码。

delay(number, AbortSignalLike, Error)

延迟指定的时间间隔。

escapeURLPath(string)

对于 Blob 或文件等存储服务,必须正确转义保留的 URL 字符。

JSv10 SDK 的 URL 编码和转义策略

当客户将 URL 字符串传递到 XXXURL 类构造函数时,URL 字符串可能已进行 URL 编码或未编码。 但在发送到 Azure 存储服务器之前,必须对 URL 进行编码。 但是,SDK 很难猜测 URL 字符串是否已编码。 我们有 2 个潜在策略,并为 XXXURL 构造函数选择了两个策略。

策略一:假设客户 URL 字符串未编码,并且始终在 SDK 中编码 URL 字符串。

这就是旧版 V2 SDK 的作用,简单且适用于大多数情况。

  • 当客户 URL 字符串为“http://account.blob.core.windows.net/con/b:"”时,SDK 会将它编码为“http://account.blob.core.windows.net/con/b%3A"并发送到服务器。 将创建名为“b:”的 Blob。
  • 当客户 URL 字符串为“http://account.blob.core.windows.net/con/b%3A"”时,SDK 会将它编码为“http://account.blob.core.windows.net/con/b%253A"并发送到服务器。 将创建名为“b%3A”的 Blob。

但是,此策略无法创建名称中包含“?”的 Blob。 因为当客户 URL 字符串为“http://account.blob.core.windows.net/con/blob?name"”时,“?name”将被视为 URL 参数,而不是 Blob 名称。 如果客户 URL 字符串为“http://account.blob.core.windows.net/con/blob%3Fname"”,则将创建名为“blob%3Fname”的 Blob。 V2 SDK 没有此问题,因为它不允许客户传入完整的 URL,它接受单独的 Blob 名称和 encodeURIComponent。 我们不能接受 SDK 无法创建包含“?”的 Blob 名称。 因此,我们实现策略 2:

策略二:SDK 不假定 URL 已编码或未编码。 它只会转义特殊字符。

这是 V10 Blob Go SDK 的作用。 它接受 Go 中的 URL 类型,并调用 URL。EscapedPath () 用于转义特殊字符。

  • 当客户 URL 字符串为“;”http://account.blob.core.windows.net/con/b:"时,SDK 将转义“:”,如“http://account.blob.core.windows.net/con/b%3A"并发送到服务器。 将创建名为“b:”的 Blob。
  • 当客户 URL 字符串为“http://account.blob.core.windows.net/con/b%3A"时,没有特殊字符,因此发送”http://account.blob.core.windows.net/con/b%3A"到服务器。 将创建名为“b:”的 Blob。
  • 当客户 URL 字符串为“http://account.blob.core.windows.net/con/b%253A"时,没有特殊字符,因此发送”http://account.blob.core.windows.net/con/b%253A"到服务器。 将创建名为“b%3A”的 Blob。

此策略使我们能够灵活地使用任何特殊字符进行创建。 但“%”将被视为特殊字符,如果未对 URL 字符串进行编码,则 URL 字符串中不应有“%”,否则 URL 不是有效的 URL。 如果客户需要创建 Blob 名称中包含“%”的 Blob,请使用“%”的“%25”。 就像上面的第三个示例一样。 以下 URL 字符串无效:

  • "http://account.blob.core.windows.net/con/b%"
  • "http://account.blob.core.windows.net/con/b%2"
  • "http://account.blob.core.windows.net/con/b%G"

另一个特殊字符是“?”,请使用“%2F”在 URL 字符串中使用“?”来表示 Blob 名称。

方法中 containerName、blobName 或其他特定 XXXName 参数的策略,例如 BlobURL.fromContainerURL(containerURL, blobName)

我们将应用策略 1,并为 blobName 等参数调用 encodeURIComponent。 因为客户传入的内容是纯名称而不是 URL。

getURLParameter(string, string)

按名称获取 URL 参数。

getURLPath(string)

从 URL 字符串获取 URL 路径。

getURLQueries(string)

从 URL 字符串获取 URL 查询键值对。

padStart(string, number, undefined | string)

String.prototype.padStart ()

setURLHost(string, string)

设置 URL 主机。

setURLParameter(string, string, undefined | string)

设置 URL 参数名称和值。 如果 URL 参数中存在名称,则旧值将替换为名称键。 如果未提供值,则将删除 参数。

truncatedISO8061Date(Date, undefined | false | true)

将日期舍入为秒。

streamToBuffer(ReadableStream, Buffer, number, number, undefined | string)

将可读流读入缓冲区。 从偏移量到末尾填充缓冲区。

函数详细信息

generateAccountSASQueryParameters(IAccountSASSignatureValues, SharedKeyCredential)

仅在 NODE.JS RUNTIME 中可用。 生成一个 <xref:SASQueryParameters> 对象,其中包含发出实际 REST 请求所需的所有 SAS 查询参数。

function generateAccountSASQueryParameters(accountSASSignatureValues: IAccountSASSignatureValues, sharedKeyCredential: SharedKeyCredential)

参数

accountSASSignatureValues
IAccountSASSignatureValues
sharedKeyCredential
SharedKeyCredential

返回

generateFileSASQueryParameters(IFileSASSignatureValues, SharedKeyCredential)

仅在 NODE.JS RUNTIME 中可用。 创建 SASQueryParameters 的实例。

仅接受创建 SAS 所需的设置。 对于可选设置,请直接设置相应的属性,例如权限、startTime 和标识符。

警告:如果未提供标识符,则需要权限和 expiryTime。 如果首先使用此构造函数,则必须手动为 identifier 或 expiryTime & 权限赋值。

function generateFileSASQueryParameters(fileSASSignatureValues: IFileSASSignatureValues, sharedKeyCredential: SharedKeyCredential)

参数

fileSASSignatureValues
IFileSASSignatureValues
sharedKeyCredential
SharedKeyCredential

返回

ipRangeToString(IIPRange)

生成 IPRange 格式字符串。 例如:“8.8.8.8”或“1.1.1-255.255.255.255”

function ipRangeToString(ipRange: IIPRange)

参数

ipRange
IIPRange

返回

string

rangeToString(IRange)

生成范围字符串。 例如:“bytes=255-”或“bytes=0-511”

function rangeToString(iRange: IRange)

参数

iRange
IRange

返回

string

uploadBrowserDataToAzureFile(Aborter, Blob | ArrayBuffer | ArrayBufferView, FileURL, IUploadToAzureFileOptions)

仅在浏览器中可用。 将浏览器 Blob/文件/ArrayBuffer/ArrayBufferView 对象上传到 Azure 文件。

function uploadBrowserDataToAzureFile(aborter: Aborter, browserData: Blob | ArrayBuffer | ArrayBufferView, fileURL: FileURL, options?: IUploadToAzureFileOptions)

参数

aborter
Aborter

使用 Aborter.none 或 Aborter.timeout () 创建新的 Aborter 实例,有关请求取消的更多示例,请转到 Aborter 的文档

browserData

Blob | ArrayBuffer | ArrayBufferView

Blob、文件、ArrayBuffer 或 ArrayBufferView

fileURL
FileURL

返回

Promise<void>

downloadAzureFileToBuffer(Aborter, Buffer, FileURL, number, undefined | number, IDownloadFromAzureFileOptions)

仅在 NODE.JS RUNTIME 中可用。 将 Azure 文件并行下载到缓冲区。 偏移量和计数是可选的,两者都传递 0 以下载整个文件。

function downloadAzureFileToBuffer(aborter: Aborter, buffer: Buffer, fileURL: FileURL, offset: number, count?: undefined | number, options?: IDownloadFromAzureFileOptions)

参数

aborter
Aborter

使用 Aborter.none 或 Aborter.timeout () 创建新的 Aborter 实例,有关请求取消的更多示例,请转到 Aborter 的文档

buffer

Buffer

要填充的缓冲区,长度必须大于计数

fileURL
FileURL

FileURL 对象

offset

number

要从哪个位置下载 Azure 文件

count

undefined | number

返回

Promise<void>

uploadFileToAzureFile(Aborter, string, FileURL, IUploadToAzureFileOptions)

仅在 NODE.JS RUNTIME 中可用。 将本地文件上传到 Azure 文件。

function uploadFileToAzureFile(aborter: Aborter, filePath: string, fileURL: FileURL, options?: IUploadToAzureFileOptions)

参数

aborter
Aborter

使用 Aborter.none 或 Aborter.timeout () 创建新的 Aborter 实例,有关请求取消的更多示例,请转到 Aborter 的文档

filePath

string

本地文件的完整路径

fileURL
FileURL

FileURL

返回

Promise<void>

uploadStreamToAzureFile(Aborter, Readable, number, FileURL, number, number, IUploadStreamToAzureFileOptions)

仅在 NODE.JS RUNTIME 中可用。 将 Node.js 可读流上传到 Azure 文件中。 此方法将尝试创建 Azure,然后开始逐个上传区块。 区块大小由 bufferSize 参数定义。 请确保流的潜在大小不超过文件大小。

性能改进提示:

  • 输入流 highWaterMark 最好使用 bufferSize 参数设置相同的值,这将避免 Buffer.concat () 操作。
function uploadStreamToAzureFile(aborter: Aborter, stream: Readable, size: number, fileURL: FileURL, bufferSize: number, maxBuffers: number, options?: IUploadStreamToAzureFileOptions)

参数

aborter
Aborter

使用 Aborter.none 或 Aborter.timeout () 创建新的 Aborter 实例,有关请求取消的更多示例,请转到 Aborter 的文档

stream

Readable

Node.js 可读流。 必须小于或等于文件大小。

size

number

要创建的文件大小。 允许的最大大小为 1TB。 如果此值大于流大小,则文件结尾中将存在空字节。

fileURL
FileURL

FileURL 实例

bufferSize

number

每个分配的缓冲区的大小(以字节为单位),以及上传文件期间的区块/范围大小。 大小必须为 > 0 且 <= 4 * 1024 * 1024 (4MB)

maxBuffers

number

上传期间将分配的最大缓冲区,与最大上传并发正相关

返回

Promise<void>

fileAttributesToString(FileSystemAttributes | FileAttributesPreserveType)

function fileAttributesToString(fileAttributes: FileSystemAttributes | FileAttributesPreserveType)

参数

返回

string

fileCreationTimeToString(Date | TimeNowType | TimePreserveType)

function fileCreationTimeToString(time: Date | TimeNowType | TimePreserveType)

参数

返回

string

fileLastWriteTimeToString(Date | TimeNowType | TimePreserveType)

function fileLastWriteTimeToString(time: Date | TimeNowType | TimePreserveType)

参数

返回

string

validateAndSetDefaultsForFileAndDirectoryCreateCommonOptions(IFileAndDirectoryCreateCommonOptions)

function validateAndSetDefaultsForFileAndDirectoryCreateCommonOptions(options: IFileAndDirectoryCreateCommonOptions)

参数

返回

validateAndSetDefaultsForFileAndDirectorySetPropertiesCommonOptions(IFileAndDirectorySetPropertiesCommonOptions)

function validateAndSetDefaultsForFileAndDirectorySetPropertiesCommonOptions(options: IFileAndDirectorySetPropertiesCommonOptions)

参数

返回

validateFilePermissionOptions(undefined | string, undefined | string)

function validateFilePermissionOptions(filePermission?: undefined | string, filePermissionKey?: undefined | string)

参数

filePermission

undefined | string

filePermissionKey

undefined | string

NewRetryPolicyFactory(IRetryOptions)

用于生成 RetryPolicy 工厂的工厂方法。

function NewRetryPolicyFactory(retryOptions?: IRetryOptions)

参数

retryOptions
IRetryOptions

返回

RequestPolicyFactory

blobToArrayBuffer(Blob)

将浏览器 Blob 对象转换为 ArrayBuffer。

function blobToArrayBuffer(blob: Blob)

参数

blob

Blob

返回

Promise<ArrayBuffer>

appendToURLPath(string, string)

将字符串追加到 URL 路径。 当 URL 路径以“/”结尾时,将删除字符串前面的重复的“/”。

function appendToURLPath(url: string, name: string)

参数

url

string

源 URL 字符串

name

string

要追加到 URL 的字符串

返回

string

更新后的 URL 字符串

base64decode(string)

Base64 解码。

function base64decode(encodedString: string)

参数

encodedString

string

返回

string

base64encode(string)

Base64 编码。

function base64encode(content: string)

参数

content

string

返回

string

delay(number, AbortSignalLike, Error)

延迟指定的时间间隔。

function delay(timeInMs: number, aborter?: AbortSignalLike, abortError?: Error)

参数

timeInMs

number

aborter

AbortSignalLike

abortError

Error

返回

Promise<unknown>

escapeURLPath(string)

对于 Blob 或文件等存储服务,必须正确转义保留的 URL 字符。

JSv10 SDK 的 URL 编码和转义策略

当客户将 URL 字符串传递到 XXXURL 类构造函数时,URL 字符串可能已进行 URL 编码或未编码。 但在发送到 Azure 存储服务器之前,必须对 URL 进行编码。 但是,SDK 很难猜测 URL 字符串是否已编码。 我们有 2 个潜在策略,并为 XXXURL 构造函数选择了两个策略。

策略一:假设客户 URL 字符串未编码,并且始终在 SDK 中编码 URL 字符串。

这就是旧版 V2 SDK 的作用,简单且适用于大多数情况。

  • 当客户 URL 字符串为“http://account.blob.core.windows.net/con/b:"”时,SDK 会将它编码为“http://account.blob.core.windows.net/con/b%3A"并发送到服务器。 将创建名为“b:”的 Blob。
  • 当客户 URL 字符串为“http://account.blob.core.windows.net/con/b%3A"”时,SDK 会将它编码为“http://account.blob.core.windows.net/con/b%253A"并发送到服务器。 将创建名为“b%3A”的 Blob。

但是,此策略无法创建名称中包含“?”的 Blob。 因为当客户 URL 字符串为“http://account.blob.core.windows.net/con/blob?name"”时,“?name”将被视为 URL 参数,而不是 Blob 名称。 如果客户 URL 字符串为“http://account.blob.core.windows.net/con/blob%3Fname"”,则将创建名为“blob%3Fname”的 Blob。 V2 SDK 没有此问题,因为它不允许客户传入完整的 URL,它接受单独的 Blob 名称和 encodeURIComponent。 我们不能接受 SDK 无法创建包含“?”的 Blob 名称。 因此,我们实现策略 2:

策略二:SDK 不假定 URL 已编码或未编码。 它只会转义特殊字符。

这是 V10 Blob Go SDK 的作用。 它接受 Go 中的 URL 类型,并调用 URL。EscapedPath () 用于转义特殊字符。

  • 当客户 URL 字符串为“;”http://account.blob.core.windows.net/con/b:"时,SDK 将转义“:”,如“http://account.blob.core.windows.net/con/b%3A"并发送到服务器。 将创建名为“b:”的 Blob。
  • 当客户 URL 字符串为“http://account.blob.core.windows.net/con/b%3A"时,没有特殊字符,因此发送”http://account.blob.core.windows.net/con/b%3A"到服务器。 将创建名为“b:”的 Blob。
  • 当客户 URL 字符串为“http://account.blob.core.windows.net/con/b%253A"时,没有特殊字符,因此发送”http://account.blob.core.windows.net/con/b%253A"到服务器。 将创建名为“b%3A”的 Blob。

此策略使我们能够灵活地使用任何特殊字符进行创建。 但“%”将被视为特殊字符,如果未对 URL 字符串进行编码,则 URL 字符串中不应有“%”,否则 URL 不是有效的 URL。 如果客户需要创建 Blob 名称中包含“%”的 Blob,请使用“%”的“%25”。 就像上面的第三个示例一样。 以下 URL 字符串无效:

  • "http://account.blob.core.windows.net/con/b%"
  • "http://account.blob.core.windows.net/con/b%2"
  • "http://account.blob.core.windows.net/con/b%G"

另一个特殊字符是“?”,请使用“%2F”在 URL 字符串中使用“?”来表示 Blob 名称。

方法中 containerName、blobName 或其他特定 XXXName 参数的策略,例如 BlobURL.fromContainerURL(containerURL, blobName)

我们将应用策略 1,并为 blobName 等参数调用 encodeURIComponent。 因为客户传入的内容是纯名称而不是 URL。

function escapeURLPath(url: string)

参数

url

string

返回

string

getURLParameter(string, string)

按名称获取 URL 参数。

function getURLParameter(url: string, name: string)

参数

url

string

name

string

返回

string | string[] | undefined

getURLPath(string)

从 URL 字符串获取 URL 路径。

function getURLPath(url: string)

参数

url

string

源 URL 字符串

返回

string | undefined

getURLQueries(string)

从 URL 字符串获取 URL 查询键值对。

function getURLQueries(url: string)

参数

url

string

返回

[key: string]: string

padStart(string, number, undefined | string)

String.prototype.padStart ()

function padStart(currentString: string, targetLength: number, padString?: undefined | string)

参数

currentString

string

targetLength

number

padString

undefined | string

返回

string

setURLHost(string, string)

设置 URL 主机。

function setURLHost(url: string, host: string)

参数

url

string

源 URL 字符串

host

string

新主机字符串

返回

string

更新后的 URL 字符串

setURLParameter(string, string, undefined | string)

设置 URL 参数名称和值。 如果 URL 参数中存在名称,则旧值将替换为名称键。 如果未提供值,则将删除 参数。

function setURLParameter(url: string, name: string, value?: undefined | string)

参数

url

string

源 URL 字符串

name

string

参数名称

value

undefined | string

返回

string

更新后的 URL 字符串

truncatedISO8061Date(Date, undefined | false | true)

将日期舍入为秒。

function truncatedISO8061Date(date: Date, withMilliseconds?: undefined | false | true)

参数

date

Date

withMilliseconds

undefined | false | true

返回

string

日期字符串采用ISO8061格式,带或不带 7 毫秒分量

streamToBuffer(ReadableStream, Buffer, number, number, undefined | string)

将可读流读入缓冲区。 从偏移量到末尾填充缓冲区。

function streamToBuffer(stream: ReadableStream, buffer: Buffer, offset: number, end: number, encoding?: undefined | string)

参数

stream

ReadableStream

Node.js 可读流

buffer

Buffer

要填充的缓冲区,长度必须 >= 偏移量

offset

number

缓冲区中要填充的位置(含)

end

number

要填充缓冲区中的哪个位置,独占

encoding

undefined | string

返回

Promise<void>