@azure/storage-file package

클래스

Aborter

중단자 인스턴스는 AbortSignal 인터페이스를 구현하고 HTTP 요청을 중단할 수 있습니다.

  • Aborter.none을 호출하여 시간 제한 없이 새 Aborter 인스턴스를 만듭니다.
  • Aborter.timeout()을 호출하여 시간 제한이 있는 새 Aborter 인스턴스를 만듭니다.

기존 인스턴스 중단의 경우:

  • aborter.withTimeout()을 호출하여 시간 제한이 있는 자식 중단 인스턴스를 만들고 반환합니다.
  • aborter.withValue(키, 값)를 호출하여 키/값 쌍을 사용하여 자식 Aborter 인스턴스를 만들고 반환합니다.
  • aborter.abort()를 호출하여 현재 인스턴스 및 모든 자식 인스턴스를 중단합니다.
  • aborter.getValue(키)를 호출하여 현재 중단자에서 모든 부모에 해당하는 키를 사용하여 값을 검색하고 가져옵니다.
AccountSASPermissions

NODE.JS 런타임에서만 사용할 수 있습니다. AccountSAS에서 부여한 권한을 나타내는 문자열을 생성하는 도우미 클래스입니다. 값을 true로 설정하면 이러한 권한을 사용하는 모든 SAS가 해당 작업에 대한 권한을 부여합니다. 모든 값이 설정되면 toString을 사용하여 serialize되고 <xref:IAccountSASSignatureValues> 개체에 대한 사용 권한 필드로 설정되어야 합니다. 이 클래스 없이 사용 권한 문자열을 생성할 수 있지만 사용 권한 순서는 특정하며 이 클래스는 정확성을 보장합니다.

AccountSASResourceTypes

NODE.JS 런타임에서만 사용할 수 있습니다. AccountSAS에서 액세스할 수 있는 리소스를 나타내는 문자열을 생성하는 도우미 클래스입니다. 값을 true로 설정하면 이러한 사용 권한을 사용하는 모든 SAS가 해당 리소스 종류에 대한 액세스 권한을 부여합니다. 모든 값이 설정되면 toString을 사용하여 serialize되고 <xref:IAccountSASSignatureValues> 개체의 리소스 필드로 설정되어야 합니다. 이 클래스 없이 리소스 문자열을 생성할 수 있지만 리소스 순서는 특정하며 이 클래스는 정확성을 보장합니다.

AccountSASServices

NODE.JS 런타임에서만 사용할 수 있습니다. AccountSAS에서 액세스할 수 있는 서비스를 나타내는 문자열을 생성하는 도우미 클래스입니다. 값을 true로 설정하면 이러한 권한을 사용하는 모든 SAS가 해당 서비스에 대한 액세스 권한을 부여합니다. 모든 값이 설정되면 toString을 사용하여 직렬화되고 <xref:IAccountSASSignatureValues> 개체의 서비스 필드로 설정되어야 합니다. 이 클래스 없이 서비스 문자열을 생성할 수 있지만 서비스의 순서는 특정하며 이 클래스는 정확성을 보장합니다.

BrowserPolicyFactory

BrowserPolicyFactory는 BrowserPolicy 개체를 생성하는 데 도움이 되는 팩터리 클래스입니다.

DirectoryURL

DirectoryURL은 해당 파일 및 디렉터리를 조작할 수 있는 Azure Storage 디렉터리의 URL을 나타냅니다.

FileSASPermissions

NODE.JS 런타임에서만 사용할 수 있습니다. ServiceSAS에서 파일에 부여한 권한을 나타내는 문자열을 생성하는 도우미 클래스입니다. 값을 true로 설정하면 이러한 권한을 사용하는 모든 SAS가 해당 작업에 대한 권한을 부여합니다. 모든 값이 설정되면 toString으로 serialize되고 <xref:IFileSASSignatureValues> 개체에 대한 사용 권한 필드로 설정되어야 합니다. 이 클래스 없이 사용 권한 문자열을 생성할 수 있지만 사용 권한 순서는 특정하며 이 클래스는 정확성을 보장합니다.

FileSystemAttributes

파일 또는 디렉터리에 대한 NTFS 특성을 나타내는 문자열을 생성하는 도우미 클래스입니다.

FileURL

FileURL은 Azure Storage 파일의 URL을 나타냅니다.

KeepAlivePolicyFactory

KeepAlivePolicyFactory는 KeepAlivePolicy 개체를 생성하는 데 도움이 되는 팩터리 클래스입니다.

LoggingPolicyFactory

LoggingPolicyFactory는 LoggingPolicy 개체를 생성하는 데 도움이 되는 팩터리 클래스입니다.

Pipeline

HTTP 요청 정책을 포함하는 파이프라인 클래스입니다. StorageURL.newPipeline()을 호출하여 기본 파이프라인을 만들 수 있습니다. 또는 파이프라인 생성자가 고유한 정책을 사용하여 파이프라인을 만들 수 있습니다. 사용자 지정된 파이프라인을 구현하기 전에 StorageURL.newPipeline()을 참조하고 정책을 참조로 제공합니다.

RetryPolicyFactory

RetryPolicyFactory는 RetryPolicy 개체를 생성하는 데 도움이 되는 팩터리 클래스입니다.

SASQueryParameters

Azure Storage SAS의 쿼리 매개 변수를 구성하는 구성 요소를 나타냅니다. 이 형식은 사용자가 직접 생성하지 않습니다. <xref:IAccountSASSignatureValues> 및 <xref:IFileSASSignatureValues> 형식에서만 생성됩니다. 생성되면 {@code String}으로 인코딩하고 URL에 직접 추가할 수 있습니다(기존 쿼리 매개 변수가 있는 경우 주의해야 하지만 이러한 쿼리 매개 변수를 추가하는 적절한 수단에 영향을 줄 수 있음). 참고: 이 클래스의 인스턴스는 변경할 수 없습니다.

ServiceURL

ServiceURL은 파일 공유를 조작할 수 있는 Azure Storage 파일 서비스에 대한 URL을 나타냅니다.

ShareSASPermissions

ServiceSAS가 공유에 부여한 권한을 나타내는 문자열을 생성하는 도우미 클래스입니다. 값을 true로 설정하면 이러한 권한을 사용하는 모든 SAS가 해당 작업에 대한 권한을 부여합니다. 모든 값이 설정되면 toString으로 serialize되고 <xref:IFileSASSignatureValues> 개체에 대한 사용 권한 필드로 설정되어야 합니다. 이 클래스 없이 사용 권한 문자열을 생성할 수 있지만 사용 권한 순서는 특정하며 이 클래스는 정확성을 보장합니다.

ShareURL

ShareURL은 Azure Storage 공유에 대한 URL을 나타내며, 이를 통해 해당 디렉터리와 파일을 조작할 수 있습니다.

StorageURL

ServiceURL은 ServiceURL, ContainerURL 등에 대한 기반 URL 클래스를 나타냅니다.

TelemetryPolicyFactory

TelemetryPolicyFactory는 TelemetryPolicy 개체를 생성하는 데 도움이 되는 팩터리 클래스입니다.

UniqueRequestIDPolicyFactory

UniqueRequestIDPolicyFactory는 UniqueRequestIDPolicy 개체를 생성하는 데 도움이 되는 팩터리 클래스입니다.

AnonymousCredential

AnonymousCredential은 AnonymousCredentialPolicy 개체를 만드는 데 사용되는 credentialPolicyCreator 멤버를 제공합니다. AnonymousCredentialPolicy는 공용 리소스를 읽는 HTTP(S) 요청과 함께 사용되거나 SAS(공유 액세스 서명)와 함께 사용됩니다.

Credential

자격 증명은 Azure Storage HTTP 요청 서명을 위한 추상 클래스입니다. 이 클래스는 CredentialPolicy를 생성하는 credentialPolicyCreator 팩터리를 호스트합니다.

SharedKeyCredential

NODE.JS 런타임에서만 사용할 수 있습니다. Azure Storage 서비스의 계정 키 권한 부여에 대한 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. 보안을 위해 쿠키 헤더 제거

  3. 브라우저 경고를 방지하기 위해 콘텐츠 길이 헤더 제거

CredentialPolicy

보내기 전에 HTTP(S) 요청에 서명하는 데 사용되는 자격 증명 정책입니다. 추상 클래스입니다.

KeepAlivePolicy

KeepAlivePolicy는 모든 요청에 대한 활성 유지 설정을 제어하는 데 사용되는 정책입니다.

LoggingPolicy

LoggingPolicy는 요청을 기록하는 데 사용되는 정책입니다.

RetryPolicy

지수 재시도 및 선형 재시도를 구현한 재시도 정책입니다.

SharedKeyCredentialPolicy

SharedKeyCredentialPolicy는 공유 키를 사용하여 HTTP 요청에 서명하는 데 사용되는 정책입니다.

TelemetryPolicy

TelemetryPolicy는 모든 요청에 대해 사용자 에이전트 헤더에 태그를 지정하는 데 사용되는 정책입니다.

UniqueRequestIDPolicy

UniqueRequestIDPolicy는 UUID를 x-ms-request-id 헤더 값으로 생성합니다.

Batch

Batch는 동시성 제한이 있는 기본 병렬 실행을 제공합니다. 실행된 작업 중 하나가 오류를 throw할 때 왼쪽 실행 작업을 중지합니다. 그러나 Batch는 진행 중인 작업을 취소할 수 없으며 직접 취소해야 합니다.

BufferScheduler

이 클래스는 Node.js 읽기 가능한 스트림을 입력으로 허용하고, maxBuffers에 도달할 때까지 스트림에서 내부 버퍼 구조로 데이터를 계속 읽습니다. 사용 가능한 모든 버퍼는 outgoingHandler를 트리거하려고 합니다. 내부 버퍼 구조에는 들어오는 버퍼 배열과 나가는 버퍼 배열이 포함됩니다. 들어오는 버퍼 배열에는 "빈" 버퍼를 새 들어오는 데이터로 채울 수 있습니다. 나가는 배열에는 outgoingHandler에서 처리할 채워진 버퍼가 포함됩니다. 위의 모든 버퍼 크기는 parameter bufferSize에 의해 정의됩니다.

NUM_OF_ALL_BUFFERS = BUFFERS_IN_INCOMING + BUFFERS_IN_OUTGOING + BUFFERS_UNDER_HANDLING

NUM_OF_ALL_BUFFERS <= 최대 버퍼

성능 향상 팁:

  1. 입력 스트림 highWaterMark는 Buffer.concat() 작업을 방지하는 bufferSize 매개 변수를 사용하여 동일한 값을 설정하는 것이 좋습니다.
  2. 병렬 처리기는 maxBuffers보다 작은 값을 설정해야 합니다. 이는 나가는 처리기가 스트림 데이터를 대기할 때 가능성을 줄이는 데 도움이 됩니다. 이 경우 나가는 처리기가 차단됩니다. 나가는 큐는 비어 있지 않아야 합니다.
RetriableReadableStream

NODE.JS 런타임에서만 사용할 수 있습니다. Node.js ReadableStream은 내부 ReadableStream 예기치 않은 종료 시 내부적으로 다시 시도합니다.

인터페이스

IDirectoryCreateOptions
IDirectoryForceCloseHandlesSegmentOptions
IDirectoryListFilesAndDirectoriesSegmentOptions
IDirectoryListHandlesSegmentOptions
IDirectoryProperties
IFileCreateOptions
IFileDownloadOptions
IFileGetRangeListOptions

옵션은 REST 정의에 대한 패리티로 정의됩니다. 지금은 사용할 준비가 되지 않았지만 원본 콘텐츠의 Crc64를 고려할 때 액세스할 수 없습니다.

IFileListHandlesSegmentOptions
IFileProperties
IFileStartCopyOptions
IFileUploadRangeOptions
ISetPropertiesResponse
IAccountSASSignatureValues

NODE.JS 런타임에서만 사용할 수 있습니다. IAccountSASSignatureValues는 Azure Storage 계정에 대한 SAS(공유 액세스 서명)를 생성하는 데 사용됩니다. 여기에 있는 모든 값이 적절하게 설정되면 generateSASQueryParameters()를 호출하여 실제로 파일 URL에 적용할 수 있는 SAS의 표현을 가져옵니다. 참고: 이 클래스와 <xref:SASQueryParameters> 모두 존재합니다. 전자는 변경 가능하고 논리적 표현이지만 후자는 변경할 수 없으며 실제 REST 요청을 생성하는 데 사용되므로 존재합니다.

IFileSASSignatureValues

NODE.JS 런타임에서만 사용할 수 있습니다. 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 기능입니다. 웹 브라우저는 웹 페이지가 다른 도메인에서 API를 호출하지 못하도록 하는 동일한 원본 정책이라고 하는 보안 제한을 구현합니다. CORS는 한 도메인(원본 도메인)이 다른 도메인에서 API를 호출하도록 허용하는 안전한 방법을 제공합니다.

DirectoryCreateHeaders

만들기 작업에 대한 헤더를 정의합니다.

DirectoryCreateOptionalParams

선택적 매개 변수입니다.

DirectoryDeleteHeaders

삭제 작업에 대한 헤더를 정의합니다.

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

삭제 작업에 대한 헤더를 정의합니다.

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 Storage 핸들 항목입니다.

ListFilesAndDirectoriesSegmentResponse

디렉터리 및 파일의 열거형입니다.

ListHandlesResponse

핸들의 열거형입니다.

ListSharesResponse

공유의 열거형입니다.

Metrics

파일 서비스에 대한 스토리지 분석 메트릭입니다.

Permission

SDDL(보안 설명자 정의 언어)에 설명된 권한(보안 설명자)입니다.

Range

Azure Storage 파일 범위입니다.

RetentionPolicy

보존 정책입니다.

ServiceGetPropertiesHeaders

GetProperties 작업에 대한 헤더를 정의합니다.

ServiceGetPropertiesOptionalParams

선택적 매개 변수입니다.

ServiceListSharesSegmentHeaders

ListSharesSegment 작업에 대한 헤더를 정의합니다.

ServiceListSharesSegmentOptionalParams

선택적 매개 변수입니다.

ServiceSetPropertiesHeaders

SetProperties 작업에 대한 헤더를 정의합니다.

ServiceSetPropertiesOptionalParams

선택적 매개 변수입니다.

ShareCreateHeaders

만들기 작업에 대한 헤더를 정의합니다.

ShareCreateOptionalParams

선택적 매개 변수입니다.

ShareCreatePermissionHeaders

CreatePermission 작업에 대한 헤더를 정의합니다.

ShareCreatePermissionOptionalParams

선택적 매개 변수입니다.

ShareCreateSnapshotHeaders

CreateSnapshot 작업에 대한 헤더를 정의합니다.

ShareCreateSnapshotOptionalParams

선택적 매개 변수입니다.

ShareDeleteHeaders

삭제 작업에 대한 헤더를 정의합니다.

ShareDeleteMethodOptionalParams

선택적 매개 변수입니다.

ShareGetAccessPolicyHeaders

GetAccessPolicy 작업에 대한 헤더를 정의합니다.

ShareGetAccessPolicyOptionalParams

선택적 매개 변수입니다.

ShareGetPermissionHeaders

GetPermission 작업에 대한 헤더를 정의합니다.

ShareGetPermissionOptionalParams

선택적 매개 변수입니다.

ShareGetPropertiesHeaders

GetProperties 작업에 대한 헤더를 정의합니다.

ShareGetPropertiesOptionalParams

선택적 매개 변수입니다.

ShareGetStatisticsHeaders

GetStatistics 작업에 대한 헤더를 정의합니다.

ShareGetStatisticsOptionalParams

선택적 매개 변수입니다.

ShareItem

나열된 Azure Storage 공유 항목입니다.

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에 대한 값을 정의합니다. 가능한 값은 '스냅샷', '메타데이터'입니다.

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 런타임에서만 사용할 수 있습니다. 실제 REST 요청을 만드는 데 필요한 모든 SAS 쿼리 매개 변수를 포함하는 <xref:SASQueryParameters> 개체를 생성합니다.

generateFileSASQueryParameters(IFileSASSignatureValues, SharedKeyCredential)

NODE.JS 런타임에서만 사용할 수 있습니다. SASQueryParameters의 인스턴스를 만듭니다.

SAS를 만드는 데 필요한 설정만 허용합니다. 선택적 설정의 경우 사용 권한, startTime 및 식별자와 같은 해당 속성을 직접 설정하세요.

경고: 식별자가 제공되지 않으면 사용 권한 및 expiryTime이 필요합니다. 이 생성자를 사용하여 초기화할 경우 ider 또는 expiryTime & 권한에 값을 수동으로 할당해야 합니다.

ipRangeToString(IIPRange)

IPRange 형식 문자열을 생성합니다. 예: "8.8.8.8" 또는 "1.1.1.1-255.255.255.255"

rangeToString(IRange)

범위 문자열을 생성합니다. 예: "bytes=255-" 또는 "bytes=0-511"

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

브라우저에서만 사용할 수 있습니다. 브라우저 Blob/File/ArrayBuffer/ArrayBufferView 개체를 Azure File에 업로드합니다.

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

NODE.JS 런타임에서만 사용할 수 있습니다. 버퍼와 병렬로 Azure 파일을 다운로드합니다. 오프셋 및 개수는 선택 사항이며, 전체 파일을 다운로드하려면 둘 다 0을 전달합니다.

uploadFileToAzureFile(Aborter, string, FileURL, IUploadToAzureFileOptions)

NODE.JS 런타임에서만 사용할 수 있습니다. Azure 파일에 로컬 파일을 업로드합니다.

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

NODE.JS 런타임에서만 사용할 수 있습니다. Node.js 읽기 가능한 스트림을 Azure 파일에 업로드합니다. 이 메서드는 Azure를 만든 다음 청크로 청크 업로드를 시작합니다. 청크의 크기는 bufferSize 매개 변수에 의해 정의됩니다. 스트림의 잠재적 크기가 파일 크기를 초과하지 않는지 확인하세요.

성능 향상 팁:

  • 입력 스트림 highWaterMark는 Buffer.concat() 작업을 방지하는 bufferSize 매개 변수를 사용하여 동일한 값을 설정하는 것이 좋습니다.
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)

Browser Blob 개체를 ArrayBuffer로 변환합니다.

appendToURLPath(string, string)

URL 경로에 문자열을 추가합니다. URL 경로가 "/"로 끝나는 경우 문자열 앞에서 중복된 "/"를 제거합니다.

base64decode(string)

Base64 디코딩

base64encode(string)

Base64 인코딩

delay(number, AbortSignalLike, Error)

지정된 시간 간격을 지연합니다.

escapeURLPath(string)

Blob 또는 File과 같은 Storage 서비스에 대해 예약된 URL 문자를 올바르게 이스케이프해야 합니다.

JSv10 SDK에 대한 URL 인코딩 및 이스케이프 전략

고객이 XXXURL 클래스 생성자에 URL 문자열을 전달하는 경우 URL 문자열은 이미 URL 인코딩 여부일 수 있습니다. 그러나 Azure Storage 서버로 보내기 전에 URL을 인코딩해야 합니다. 그러나 SDK는 URL 문자열이 인코딩되었는지 여부를 추측하기가 어렵습니다. 2개의 잠재적인 전략이 있으며 XXXURL 생성자에 대한 전략 2를 선택했습니다.

전략 1: 고객 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"은 Blob 이름 대신 URL 매개 변수로 처리되기 때문입니다. 고객 URL 문자열이 "http://account.blob.core.windows.net/con/blob%3Fname"이면 "blob%3Fname"이라는 Blob이 만들어집니다. V2 SDK는 고객이 전체 URL을 전달할 수 없고 별도의 Blob 이름과 encodeURIComponent를 허용하므로 이 문제가 없습니다. SDK에서 "?"로 Blob 이름을 만들 수 없습니다. 따라서 전략 2를 구현합니다.

전략 2: SDK는 URL이 인코딩되었는지 여부를 가정하지 않습니다. 그것은 단지 특수 문자를 탈출합니다.

이것이 V10 Blob Go SDK에서 수행하는 작업입니다. Go 및 호출 URL의 URL 형식을 허용합니다. 이스케이프되지 않은 특수 문자를 이스케이프하는 EscapeedPath()입니다.

  • 고객 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" insead를 사용합니다. 위의 3번째 샘플과 같습니다. 그리고 다음 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 이름을 나타냅니다.

BlobURL.fromContainerURL(containerURL, blobName) 같은 메서드의 containerName, blobName 또는 기타 특정 XXXName 매개 변수에 대한 전략

전략 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 런타임에서만 사용할 수 있습니다. 실제 REST 요청을 만드는 데 필요한 모든 SAS 쿼리 매개 변수를 포함하는 <xref:SASQueryParameters> 개체를 생성합니다.

function generateAccountSASQueryParameters(accountSASSignatureValues: IAccountSASSignatureValues, sharedKeyCredential: SharedKeyCredential)

매개 변수

accountSASSignatureValues
IAccountSASSignatureValues
sharedKeyCredential
SharedKeyCredential

반환

generateFileSASQueryParameters(IFileSASSignatureValues, SharedKeyCredential)

NODE.JS 런타임에서만 사용할 수 있습니다. SASQueryParameters의 인스턴스를 만듭니다.

SAS를 만드는 데 필요한 설정만 허용합니다. 선택적 설정의 경우 사용 권한, startTime 및 식별자와 같은 해당 속성을 직접 설정하세요.

경고: 식별자가 제공되지 않으면 사용 권한 및 expiryTime이 필요합니다. 이 생성자를 사용하여 초기화할 경우 ider 또는 expiryTime & 권한에 값을 수동으로 할당해야 합니다.

function generateFileSASQueryParameters(fileSASSignatureValues: IFileSASSignatureValues, sharedKeyCredential: SharedKeyCredential)

매개 변수

fileSASSignatureValues
IFileSASSignatureValues
sharedKeyCredential
SharedKeyCredential

반환

ipRangeToString(IIPRange)

IPRange 형식 문자열을 생성합니다. 예: "8.8.8.8" 또는 "1.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/File/ArrayBuffer/ArrayBufferView 개체를 Azure File에 업로드합니다.

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

매개 변수

aborter
Aborter

Aborter.none 또는 Aborter.timeout()을 사용하여 새 Aborter 인스턴스를 만듭니다. 요청 취소에 대한 자세한 예제를 보려면 Aborter의 goto 문서

browserData

Blob | ArrayBuffer | ArrayBufferView

Blob, File, ArrayBuffer 또는 ArrayBufferView

fileURL
FileURL

반환

Promise<void>

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

NODE.JS 런타임에서만 사용할 수 있습니다. 버퍼와 병렬로 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의 goto 문서

buffer

Buffer

채울 버퍼, 개수보다 큰 길이가 있어야 합니다.

fileURL
FileURL

FileURL 개체

offset

number

다운로드할 Azure 파일의 위치

count

undefined | number

반환

Promise<void>

uploadFileToAzureFile(Aborter, string, FileURL, IUploadToAzureFileOptions)

NODE.JS 런타임에서만 사용할 수 있습니다. Azure 파일에 로컬 파일을 업로드합니다.

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

매개 변수

aborter
Aborter

Aborter.none 또는 Aborter.timeout()을 사용하여 새 Aborter 인스턴스를 만듭니다. 요청 취소에 대한 자세한 예제를 보려면 Aborter의 goto 문서

filePath

string

로컬 파일의 전체 경로

fileURL
FileURL

FileURL

반환

Promise<void>

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

NODE.JS 런타임에서만 사용할 수 있습니다. Node.js 읽기 가능한 스트림을 Azure 파일에 업로드합니다. 이 메서드는 Azure를 만든 다음 청크로 청크 업로드를 시작합니다. 청크의 크기는 bufferSize 매개 변수에 의해 정의됩니다. 스트림의 잠재적 크기가 파일 크기를 초과하지 않는지 확인하세요.

성능 향상 팁:

  • 입력 스트림 highWaterMark는 Buffer.concat() 작업을 방지하는 bufferSize 매개 변수를 사용하여 동일한 값을 설정하는 것이 좋습니다.
function uploadStreamToAzureFile(aborter: Aborter, stream: Readable, size: number, fileURL: FileURL, bufferSize: number, maxBuffers: number, options?: IUploadStreamToAzureFileOptions)

매개 변수

aborter
Aborter

Aborter.none 또는 Aborter.timeout()을 사용하여 새 Aborter 인스턴스를 만듭니다. 요청 취소에 대한 자세한 예제를 보려면 Aborter의 goto 문서

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)

Browser 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 또는 File과 같은 Storage 서비스에 대해 예약된 URL 문자를 올바르게 이스케이프해야 합니다.

JSv10 SDK에 대한 URL 인코딩 및 이스케이프 전략

고객이 XXXURL 클래스 생성자에 URL 문자열을 전달하는 경우 URL 문자열은 이미 URL 인코딩 여부일 수 있습니다. 그러나 Azure Storage 서버로 보내기 전에 URL을 인코딩해야 합니다. 그러나 SDK는 URL 문자열이 인코딩되었는지 여부를 추측하기가 어렵습니다. 2개의 잠재적인 전략이 있으며 XXXURL 생성자에 대한 전략 2를 선택했습니다.

전략 1: 고객 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"은 Blob 이름 대신 URL 매개 변수로 처리되기 때문입니다. 고객 URL 문자열이 "http://account.blob.core.windows.net/con/blob%3Fname"이면 "blob%3Fname"이라는 Blob이 만들어집니다. V2 SDK는 고객이 전체 URL을 전달할 수 없고 별도의 Blob 이름과 encodeURIComponent를 허용하므로 이 문제가 없습니다. SDK에서 "?"로 Blob 이름을 만들 수 없습니다. 따라서 전략 2를 구현합니다.

전략 2: SDK는 URL이 인코딩되었는지 여부를 가정하지 않습니다. 그것은 단지 특수 문자를 탈출합니다.

이것이 V10 Blob Go SDK에서 수행하는 작업입니다. Go 및 호출 URL의 URL 형식을 허용합니다. 이스케이프되지 않은 특수 문자를 이스케이프하는 EscapeedPath()입니다.

  • 고객 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" insead를 사용합니다. 위의 3번째 샘플과 같습니다. 그리고 다음 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 이름을 나타냅니다.

BlobURL.fromContainerURL(containerURL, blobName) 같은 메서드의 containerName, blobName 또는 기타 특정 XXXName 매개 변수에 대한 전략

전략 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

7밀리초 구성 요소를 포함하거나 사용하지 않는 ISO8061 형식의 날짜 문자열

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>