مشاركة عبر


@azure/storage-file package

الفصول

Aborter

يقوم مثيل إحباط بتنفيذ واجهة AbortSignal، يمكن إجهاض طلبات HTTP.

  • استدعاء Aborter.none لإنشاء مثيل Aborter جديد دون مهلة.
  • استدعاء Aborter.timeout() لإنشاء مثيل Aborter جديد مع انتهاء المهلة.

لإجهاض مثيل موجود:

  • استدعاء aborter.withTimeout() لإنشاء مثيل Aborter تابع وإرجاعه مع انتهاء المهلة.
  • استدعاء aborter.withValue(key, value) لإنشاء مثيل Aborter تابع وإرجاعه مع زوج مفتاح/قيمة.
  • استدعاء aborter.abort() لإجهاض المثيل الحالي وجميع المثيلات التابعة.
  • اتصل ب aborter.getValue(key) للبحث والحصول على القيمة باستخدام المفتاح المقابل من المجهض الحالي إلى جميع الوالدين.
AccountSASPermissions

متوفر فقط في وقت تشغيل NODE.JS. هذه فئة مساعدة لإنشاء سلسلة تمثل الأذونات الممنوحة من قبل AccountSAS. يعني تعيين قيمة إلى true أن أي SAS يستخدم هذه الأذونات سيمنح أذونات لتلك العملية. بمجرد تعيين كافة القيم، يجب إجراء تسلسل مع toString وتعيينه ك حقل الأذونات على كائن <xref:IAccountSASSignatureValues>. من الممكن إنشاء سلسلة الأذونات بدون هذه الفئة، ولكن ترتيب الأذونات خاص وتضمن هذه الفئة الصحة.

AccountSASResourceTypes

متوفر فقط في وقت تشغيل NODE.JS. هذه فئة مساعدة لإنشاء سلسلة تمثل الموارد التي يمكن الوصول إليها بواسطة AccountSAS. يعني تعيين قيمة إلى true أن أي SAS يستخدم هذه الأذونات سيمنح حق الوصول إلى نوع المورد هذا. بمجرد تعيين كافة القيم، يجب إجراء تسلسل مع toString وتعيينه ك حقل الموارد على كائن <xref:IAccountSASSignatureValues>. من الممكن إنشاء سلسلة الموارد دون هذه الفئة، ولكن ترتيب الموارد خاص وتضمن هذه الفئة الصحة.

AccountSASServices

متوفر فقط في وقت تشغيل NODE.JS. هذه فئة مساعدة لإنشاء سلسلة تمثل الخدمات التي يمكن الوصول إليها بواسطة AccountSAS. يعني تعيين قيمة إلى true أن أي SAS يستخدم هذه الأذونات سيمنح حق الوصول إلى تلك الخدمة. بمجرد تعيين كافة القيم، يجب إجراء تسلسل مع toString وتعيينه ك حقل الخدمات على كائن <xref:IAccountSASSignatureValues>. من الممكن إنشاء سلسلة الخدمات دون هذه الفئة، ولكن ترتيب الخدمات خاص وتضمن هذه الفئة الصحة.

BrowserPolicyFactory

BrowserPolicyFactory هي فئة مصنع تساعد في إنشاء كائنات BrowserPolicy.

DirectoryURL

يمثل DirectoryURL عنوان URL لدليل Azure Storage مما يسمح لك بمعالجة ملفاته ودلائله.

FileSASPermissions

متوفر فقط في وقت تشغيل NODE.JS. هذه فئة مساعد لإنشاء سلسلة تمثل الأذونات الممنوحة من قبل ServiceSAS لملف. يعني تعيين قيمة إلى true أن أي SAS يستخدم هذه الأذونات سيمنح أذونات لتلك العملية. بمجرد تعيين كافة القيم، يجب إجراء تسلسل مع toString وتعيينه كخانة أذونات على كائن <xref:IFileSASSignatureValues>. من الممكن إنشاء سلسلة الأذونات بدون هذه الفئة، ولكن ترتيب الأذونات خاص وتضمن هذه الفئة الصحة.

FileSystemAttributes

هذه فئة مساعدة لإنشاء سلسلة تمثل سمات NTFS إلى ملف أو دليل.

FileURL

يمثل FileURL عنوان URL لملف Azure Storage.

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 عنوان URL لخدمة Azure Storage File مما يسمح لك بمعالجة مشاركات الملفات.

ShareSASPermissions

هذه فئة مساعدة لإنشاء سلسلة تمثل الأذونات الممنوحة من قبل ServiceSAS للمشاركة. يعني تعيين قيمة إلى true أن أي SAS يستخدم هذه الأذونات سيمنح أذونات لتلك العملية. بمجرد تعيين كافة القيم، يجب إجراء تسلسل مع toString وتعيينه كخانة أذونات على كائن <xref:IFileSASSignatureValues>. من الممكن إنشاء سلسلة الأذونات بدون هذه الفئة، ولكن ترتيب الأذونات خاص وتضمن هذه الفئة الصحة.

ShareURL

يمثل ShareURL عنوان URL لمشاركة Azure Storage مما يسمح لك بمعالجة الدلائل والملفات الخاصة به.

StorageURL

يمثل ServiceURL فئة URL تستند إلى ServiceURL و ContainerURL وما إلى ذلك.

TelemetryPolicyFactory

TelemetryPolicyFactory هي فئة مصنع تساعد في إنشاء كائنات TelemetryPolicy.

UniqueRequestIDPolicyFactory

UniqueRequestIDPolicyFactory هي فئة مصنع تساعد في إنشاء كائنات UniqueRequestIDPolicy.

AnonymousCredential

يوفر AnonymousCredential عضو credentialPolicyCreator المستخدم لإنشاء كائنات AnonymousCredentialPolicy. يتم استخدام AnonymousCredentialPolicy مع طلبات HTTP (S) التي تقرأ الموارد العامة أو للاستخدام مع توقيعات الوصول المشترك (SAS).

Credential

بيانات الاعتماد هي فئة مجردة لتوقيع طلبات AZURE Storage HTTP. ستستضيف هذه الفئة مصنع credentialPolicyCreator الذي ينشئ CredentialPolicy.

SharedKeyCredential

متوفر فقط في وقت تشغيل NODE.JS. SharedKeyCredential لتخويل مفتاح الحساب لخدمة Azure Storage.

Directory

فئة تمثل دليل.

File

فئة تمثل ملف.

Service

فئة تمثل خدمة.

Share

فئة تمثل مشاركة.

StorageClient
StorageClientContext
AnonymousCredentialPolicy

يتم استخدام AnonymousCredentialPolicy مع طلبات HTTP (S) التي تقرأ الموارد العامة أو للاستخدام مع توقيعات الوصول المشترك (SAS).

BrowserPolicy

سيتعامل BrowserPolicy مع الاختلافات بين Node.js ووقت تشغيل المستعرض، بما في ذلك:

  1. تقوم المستعرضات بتخزين طلبات GET/HEAD مؤقتا عن طريق إضافة عناوين شرطية مثل "IF_MODIFIED_SINCE". BrowserPolicy هو نهج يستخدم لإضافة استعلام طابع زمني إلى عنوان URL لطلب GET/HEAD وبالتالي تجنب ذاكرة التخزين المؤقت للمستعرض.

  2. إزالة رأس ملف تعريف الارتباط للأمان

  3. إزالة رأس طول المحتوى لتجنب تحذير المستعرضات

CredentialPolicy

نهج بيانات الاعتماد المستخدم لتوقيع طلبات HTTP(S) قبل الإرسال. هذه فئة مجردة.

KeepAlivePolicy

KeepAlivePolicy هو نهج يستخدم للتحكم في إعدادات الاحتفاظ بالحيوية لكل طلب.

LoggingPolicy

LoggingPolicy هو نهج يستخدم لتسجيل الطلبات.

RetryPolicy

نهج إعادة المحاولة مع تنفيذ إعادة المحاولة الأسية وإعادة المحاولة الخطية.

SharedKeyCredentialPolicy

SharedKeyCredentialPolicy هو نهج يستخدم لتوقيع طلب HTTP باستخدام مفتاح مشترك.

TelemetryPolicy

نهج القياس عن بعد هو نهج يستخدم لوضع علامة على عنوان عامل المستخدم لكل طلبات.

UniqueRequestIDPolicy

ينشئ UniqueRequestIDPolicy UUID كقيمة رأس x-ms-request-id.

Batch

يوفر Batch تنفيذا متوازيا أساسيا مع حدود التزامن. سيتوقف تنفيذ العمليات اليسرى عندما تطرح إحدى العمليات المنفذة خطأ. ولكن لا يمكن ل Batch إلغاء العمليات الجارية، فأنت بحاجة إلى إلغائها بنفسك.

BufferScheduler

تقبل هذه الفئة دفق Node.js قابل للقراءة كإدخل، وتحتفظ بقراءة البيانات من الدفق إلى بنية المخزن المؤقت الداخلي، حتى تصل إلى maxBuffers. سيحاول كل مخزن مؤقت متوفر تشغيل outgoingHandler. تتضمن بنية المخزن المؤقت الداخلي صفيف مخزن مؤقت وارد، وصفيف مخزن مؤقت صادر. يتضمن صفيف المخزن المؤقت الوارد المخازن المؤقتة "الفارغة" التي يمكن تعبئتها بالبيانات الواردة الجديدة. يتضمن الصفيف الصادر المخازن المؤقتة التي تمت تعبئتها ليتم معالجتها بواسطة outgoingHandler. يتم تعريف كل حجم مخزن مؤقت أعلاه بواسطة حجم المخزن المؤقت للمعلمة.

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. ستتم إعادة محاولة Node.js ReadableStream داخليا عند انتهاء ReadableStream الداخلي غير المتوقع.

الواجهات

IDirectoryCreateOptions
IDirectoryForceCloseHandlesSegmentOptions
IDirectoryListFilesAndDirectoriesSegmentOptions
IDirectoryListHandlesSegmentOptions
IDirectoryProperties
IFileCreateOptions
IFileDownloadOptions
IFileGetRangeListOptions

يتم تعريف الخيار على أنه تماثل لتعريف REST. على الرغم من أنه غير جاهز للاستخدام الآن، لا يمكن الوصول إلى Crc64 من المحتوى المصدر.

IFileListHandlesSegmentOptions
IFileProperties
IFileStartCopyOptions
IFileUploadRangeOptions
ISetPropertiesResponse
IAccountSASSignatureValues

متوفر فقط في وقت تشغيل NODE.JS. يتم استخدام IAccountSASSignatureValues لإنشاء توقيع الوصول المشترك (SAS) لحساب Azure Storage. بمجرد تعيين جميع القيم هنا بشكل مناسب، قم باستدعاء generateSASQueryParameters() للحصول على تمثيل SAS الذي يمكن تطبيقه فعليا على عناوين URL للملف. ملاحظة: أن كلا من هذه الفئة <xref:SASQueryParameters> موجودة لأن الأول قابل للتغيير وتمثيل منطقي بينما الأخير غير قابل للتغيير ويستخدم لإنشاء طلبات REST الفعلية.

IFileSASSignatureValues

متوفر فقط في وقت تشغيل NODE.JS. يتم استخدام IFileSASSignatureValues للمساعدة في إنشاء رموز SAS لخدمة الملفات للمشاركات أو الملفات.

IIPRange

نطاق IP المسموح به ل SAS.

IRange

نطاق عمليات الخدمة.

IKeepAliveOptions

واجهة خيارات KeepAlivePolicy.

IRequestLogOptions

تقوم RequestLogOptions بتكوين سلوك نهج إعادة المحاولة.

IPipelineOptions

واجهة الخيار لمنشئ البنية الأساسية لبرنامج ربط العمليات التجارية.

IRetryOptions

واجهة خيارات إعادة المحاولة.

IServiceListSharesSegmentOptions
IShareCreateOptions
IShareCreateSnapshotOptions
IShareDeleteMethodOptions
ISignedIdentifier
INewPipelineOptions

واجهة الخيار لأسلوب Pipeline.newPipeline.

ITelemetryOptions

واجهة خيارات نهج بيانات تتبع الاستخدام.

AccessPolicy

نهج الوصول.

CorsRule

CORS هي ميزة HTTP تمكن تطبيق ويب يعمل ضمن مجال واحد من الوصول إلى الموارد في مجال آخر. تطبق مستعرضات الويب تقييد أمان يعرف بنهج الأصل نفسه الذي يمنع صفحة ويب من استدعاء واجهات برمجة التطبيقات في مجال مختلف؛ توفر CORS طريقة آمنة للسماح لمجال واحد (مجال الأصل) باستدعاء واجهات برمجة التطبيقات في مجال آخر.

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 مدرج.

ListFilesAndDirectoriesSegmentResponse

تعداد للدلائل والملفات.

ListHandlesResponse

تعداد المقابض.

ListSharesResponse

تعداد المشاركات.

Metrics

مقاييس Storage Analytics لخدمة الملفات.

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

دالة مصنع تنشئ نهج بيانات اعتماد جديد يستخدم النهج التالي المتوفر.

CopyStatusType

تعريف قيم CopyStatusType. تتضمن القيم المحتملة: "معلق" و"نجاح" و"تم إجهاضه" و"فشل"

DeleteSnapshotsOptionType

تعريف قيم DeleteSnapshotsOptionType. تتضمن القيم المحتملة: "تضمين"

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. تتضمن القيم المحتملة: "تحديث"، "مسح"

FileSetHTTPHeadersResponse

يحتوي على بيانات الاستجابة لعملية setHTTPHeaders.

FileSetMetadataResponse

يحتوي على بيانات استجابة لعملية setMetadata.

FileStartCopyResponse

يحتوي على بيانات الاستجابة لعملية startCopy.

FileType

تعريف قيم FileType. تتضمن القيم المحتملة: "ملف"

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

أنواع نهج إعادة المحاولة.

الوظائف

generateAccountSASQueryParameters(IAccountSASSignatureValues, SharedKeyCredential)

متوفر فقط في وقت تشغيل NODE.JS. ينشئ كائن <xref:SASQueryParameters> يحتوي على جميع معلمات استعلام SAS اللازمة لتقديم طلب REST فعلي.

generateFileSASQueryParameters(IFileSASSignatureValues, SharedKeyCredential)

متوفر فقط في وقت تشغيل NODE.JS. إنشاء مثيل SASQueryParameters.

يقبل فقط الإعدادات المطلوبة اللازمة لإنشاء SAS. بالنسبة للإعدادات الاختيارية، يرجى تعيين الخصائص المقابلة مباشرة، مثل الأذونات ووقت البدء والمعرف.

تحذير: عند عدم توفير المعرف، تكون الأذونات ووقت انتهاء الصلاحية مطلوبين. يجب تعيين قيمة للمعرف أو انتهاء الصلاحية والوقت & الأذونات يدويا إذا قمت بالأحرف الأولى باستخدام هذا المنشئ.

ipRangeToString(IIPRange)

إنشاء سلسلة تنسيق IPRange. على سبيل المثال: "8.8.8.8" أو "1.1.1.1-255.255.255.255"

rangeToString(IRange)

إنشاء سلسلة نطاق. على سبيل المثال: "بايت=255-" أو "بايت=0-511"

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

متوفر فقط في المستعرضات. تحميل كائن Blob/File/ArrayBuffer/ArrayBufferView إلى ملف Azure.

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 من الأفضل تعيين نفس القيمة باستخدام معلمة 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)

تحويل كائن كائن ثنائي كبير الحجم للمستعرض إلى ArrayBuffer.

appendToURLPath(string, string)

إلحاق سلسلة إلى مسار URL. سيؤدي إلى إزالة "/" المكررة أمام السلسلة عندما ينتهي مسار URL ب "/".

base64decode(string)

فك ترميز Base64.

base64encode(string)

ترميز Base64.

delay(number, AbortSignalLike, Error)

تأخير الفاصل الزمني المحدد.

escapeURLPath(string)

يجب إلغاء أحرف URL المحجوزة بشكل صحيح لخدمات التخزين مثل Blob أو File.

استراتيجية ترميز عنوان URL وإلغاءه ل JSv10 SDKs

عندما يمرر العملاء سلسلة URL إلى منشئ فئات XXXURL، قد تكون سلسلة URL مشفرة بالفعل أو لا. ولكن قبل الإرسال إلى خادم Azure Storage، يجب ترميز عنوان URL. ومع ذلك، من الصعب على SDK تخمين ما إذا كانت سلسلة URL قد تم ترميزها أم لا. لدينا إستراتيجيتان محتملتان، واخترنا الاستراتيجية الثانية لمنشئات XXXURL.

الاستراتيجية 1: افترض أن سلسلة عنوان URL للعميل غير مشفرة، وقم دائما بترميز سلسلة URL في SDK.

هذا ما يفعله V2 SDK القديم، بسيط ويعمل لمعظم الحالات.

  • عندما تكون سلسلة عنوان URL للعميل "http://account.blob.core.windows.net/con/b:"؛، ستقوم SDK بترميزها إلى "http://account.blob.core.windows.net/con/b%3A"؛ وإرسالها إلى الخادم. سيتم إنشاء كائن ثنائي كبير الحجم يسمى "b:".
  • عندما تكون سلسلة عنوان URL للعميل "http://account.blob.core.windows.net/con/b%3A"؛، ستقوم SDK بترميزها إلى "http://account.blob.core.windows.net/con/b%253A"؛ وإرسالها إلى الخادم. سيتم إنشاء كائن ثنائي كبير الحجم يسمى "b%3A".

ولكن هذه الاستراتيجية لن تجعل من الممكن إنشاء كائن ثنائي كبير الحجم مع "؟" في اسمه. لأنه عندما تكون سلسلة عنوان URL للعميل "http://account.blob.core.windows.net/con/blob?name"؛، سيتم التعامل مع "?name" على أنها معلمة URL بدلا من اسم الكائن الثنائي كبير الحجم. إذا كانت سلسلة عنوان URL للعميل هي "http://account.blob.core.windows.net/con/blob%3Fname"؛، إنشاء كائن ثنائي كبير الحجم يسمى "blob%3Fname". لا تحتوي V2 SDK على هذه المشكلة لأنها لا تسمح للعميل بتمرير عنوان URL كامل، بل يقبل اسم كائن ثنائي كبير الحجم منفصلا و encodeURIComponent له. لا يمكننا قبول SDK لا يمكن إنشاء اسم كائن ثنائي كبير الحجم مع "؟". لذلك ننفذ الاستراتيجية الثانية:

الاستراتيجية الثانية: لا تفترض SDK أن عنوان URL قد تم ترميزه أم لا. وسوف مجرد الهروب من الأحرف الخاصة.

هذا ما يفعله V10 Blob Go SDK. يقبل نوع URL في Go، وعنوان URL للاتصال. EscapedPath() للهروب من الأحرف الخاصة غير المغلفة.

  • عندما تكون سلسلة عنوان URL للعميل "http://account.blob.core.windows.net/con/b:"، ستهرب SDK من ":" مثل "http://account.blob.core.windows.net/con/b%3A" وإرسالها إلى الخادم. سيتم إنشاء كائن ثنائي كبير الحجم يسمى "b:".
  • عندما تكون سلسلة عنوان URL للعميل "http://account.blob.core.windows.net/con/b%3A"؛، لا توجد أحرف خاصة، لذا أرسل "http://account.blob.core.windows.net/con/b%3A"؛ إلى الخادم. سيتم إنشاء كائن ثنائي كبير الحجم يسمى "b:".
  • عندما تكون سلسلة عنوان URL للعميل "http://account.blob.core.windows.net/con/b%253A"؛، لا توجد أحرف خاصة، لذا أرسل "http://account.blob.core.windows.net/con/b%253A"؛ إلى الخادم. سيتم إنشاء كائن ثنائي كبير الحجم يسمى "b%3A".

تمنحنا هذه الاستراتيجية المرونة لإنشاء مع أي أحرف خاصة. ولكن سيتم التعامل مع "%" كأحرف خاصة، إذا لم يتم ترميز سلسلة URL، فلا ينبغي أن يكون هناك "%" في سلسلة URL، وإلا فإن عنوان URL ليس عنوان URL صالحا. إذا كان العميل بحاجة إلى إنشاء كائن ثنائي كبير الحجم مع "%" في اسم الكائن الثنائي كبير الحجم، فاستخدم "%25" insead of "%". تماما مثل أعلى العينة الثالثة. وسلاسل 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.

استراتيجية containerName أو blobName أو معلمات XXXName أخرى محددة في أساليب مثل BlobURL.fromContainerURL(containerURL, blobName)

سنطبق استراتيجية واحدة، ونستدعي encodeURIComponent لهذه المعلمات مثل blobName. لأن ما يمر به العملاء هو اسم عادي بدلا من عنوان 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. ينشئ كائن <xref:SASQueryParameters> يحتوي على جميع معلمات استعلام SAS اللازمة لتقديم طلب REST فعلي.

function generateAccountSASQueryParameters(accountSASSignatureValues: IAccountSASSignatureValues, sharedKeyCredential: SharedKeyCredential)

المعلمات

accountSASSignatureValues
IAccountSASSignatureValues
sharedKeyCredential
SharedKeyCredential

المرتجعات

generateFileSASQueryParameters(IFileSASSignatureValues, SharedKeyCredential)

متوفر فقط في وقت تشغيل NODE.JS. إنشاء مثيل SASQueryParameters.

يقبل فقط الإعدادات المطلوبة اللازمة لإنشاء SAS. بالنسبة للإعدادات الاختيارية، يرجى تعيين الخصائص المقابلة مباشرة، مثل الأذونات ووقت البدء والمعرف.

تحذير: عند عدم توفير المعرف، تكون الأذونات ووقت انتهاء الصلاحية مطلوبين. يجب تعيين قيمة للمعرف أو انتهاء الصلاحية والوقت & الأذونات يدويا إذا قمت بالأحرف الأولى باستخدام هذا المنشئ.

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)

إنشاء سلسلة نطاق. على سبيل المثال: "بايت=255-" أو "بايت=0-511"

function rangeToString(iRange: IRange)

المعلمات

iRange
IRange

المرتجعات

string

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

متوفر فقط في المستعرضات. تحميل كائن Blob/File/ArrayBuffer/ArrayBufferView إلى ملف Azure.

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

المعلمات

aborter
Aborter

إنشاء مثيل Aborter جديد باستخدام Aborter.none أو Aborter.timeout()، مستندات goto من Aborter للحصول على مزيد من الأمثلة حول إلغاء الطلب

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 جديد باستخدام Aborter.none أو Aborter.timeout()، مستندات goto من Aborter للحصول على مزيد من الأمثلة حول إلغاء الطلب

buffer

Buffer

المخزن المؤقت المطلوب تعبئته، يجب أن يكون طوله أكبر من العدد

fileURL
FileURL

كائن FileURL

offset

number

من أي موضع من Azure File لتنزيله

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 جديد باستخدام Aborter.none أو Aborter.timeout()، مستندات goto من Aborter للحصول على مزيد من الأمثلة حول إلغاء الطلب

filePath

string

المسار الكامل للملف المحلي

fileURL
FileURL

FileURL

المرتجعات

Promise<void>

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

متوفر فقط في وقت تشغيل NODE.JS. تحميل دفق 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 جديد باستخدام Aborter.none أو Aborter.timeout()، مستندات goto من Aborter للحصول على مزيد من الأمثلة حول إلغاء الطلب

stream

Readable

Node.js دفق قابل للقراءة. يجب أن يكون حجم الملف أقل أو مساويا له.

size

number

حجم الملف الذي سيتم إنشاؤه. الحد الأقصى المسموح به هو 1 تيرابايت. إذا كانت هذه القيمة أكبر من حجم الدفق، فسيكون هناك بايت فارغ في ذيل الملف.

fileURL
FileURL

مثيل FileURL

bufferSize

number

حجم كل مخزن مؤقت مخصص بالبايت، وكذلك حجم المجموعة/النطاق أثناء الملف الذي تم تحميله. يجب أن يكون الحجم > 0 <= 4 * 1024 * 1024 (4 ميغابايت)

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)

تحويل كائن كائن ثنائي كبير الحجم للمستعرض إلى 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)

يجب إلغاء أحرف URL المحجوزة بشكل صحيح لخدمات التخزين مثل Blob أو File.

استراتيجية ترميز عنوان URL وإلغاءه ل JSv10 SDKs

عندما يمرر العملاء سلسلة URL إلى منشئ فئات XXXURL، قد تكون سلسلة URL مشفرة بالفعل أو لا. ولكن قبل الإرسال إلى خادم Azure Storage، يجب ترميز عنوان URL. ومع ذلك، من الصعب على SDK تخمين ما إذا كانت سلسلة URL قد تم ترميزها أم لا. لدينا إستراتيجيتان محتملتان، واخترنا الاستراتيجية الثانية لمنشئات XXXURL.

الاستراتيجية 1: افترض أن سلسلة عنوان URL للعميل غير مشفرة، وقم دائما بترميز سلسلة URL في SDK.

هذا ما يفعله V2 SDK القديم، بسيط ويعمل لمعظم الحالات.

  • عندما تكون سلسلة عنوان URL للعميل "http://account.blob.core.windows.net/con/b:"؛، ستقوم SDK بترميزها إلى "http://account.blob.core.windows.net/con/b%3A"؛ وإرسالها إلى الخادم. سيتم إنشاء كائن ثنائي كبير الحجم يسمى "b:".
  • عندما تكون سلسلة عنوان URL للعميل "http://account.blob.core.windows.net/con/b%3A"؛، ستقوم SDK بترميزها إلى "http://account.blob.core.windows.net/con/b%253A"؛ وإرسالها إلى الخادم. سيتم إنشاء كائن ثنائي كبير الحجم يسمى "b%3A".

ولكن هذه الاستراتيجية لن تجعل من الممكن إنشاء كائن ثنائي كبير الحجم مع "؟" في اسمه. لأنه عندما تكون سلسلة عنوان URL للعميل "http://account.blob.core.windows.net/con/blob?name"؛، سيتم التعامل مع "?name" على أنها معلمة URL بدلا من اسم الكائن الثنائي كبير الحجم. إذا كانت سلسلة عنوان URL للعميل هي "http://account.blob.core.windows.net/con/blob%3Fname"؛، إنشاء كائن ثنائي كبير الحجم يسمى "blob%3Fname". لا تحتوي V2 SDK على هذه المشكلة لأنها لا تسمح للعميل بتمرير عنوان URL كامل، بل يقبل اسم كائن ثنائي كبير الحجم منفصلا و encodeURIComponent له. لا يمكننا قبول SDK لا يمكن إنشاء اسم كائن ثنائي كبير الحجم مع "؟". لذلك ننفذ الاستراتيجية الثانية:

الاستراتيجية الثانية: لا تفترض SDK أن عنوان URL قد تم ترميزه أم لا. وسوف مجرد الهروب من الأحرف الخاصة.

هذا ما يفعله V10 Blob Go SDK. يقبل نوع URL في Go، وعنوان URL للاتصال. EscapedPath() للهروب من الأحرف الخاصة غير المغلفة.

  • عندما تكون سلسلة عنوان URL للعميل "http://account.blob.core.windows.net/con/b:"، ستهرب SDK من ":" مثل "http://account.blob.core.windows.net/con/b%3A" وإرسالها إلى الخادم. سيتم إنشاء كائن ثنائي كبير الحجم يسمى "b:".
  • عندما تكون سلسلة عنوان URL للعميل "http://account.blob.core.windows.net/con/b%3A"؛، لا توجد أحرف خاصة، لذا أرسل "http://account.blob.core.windows.net/con/b%3A"؛ إلى الخادم. سيتم إنشاء كائن ثنائي كبير الحجم يسمى "b:".
  • عندما تكون سلسلة عنوان URL للعميل "http://account.blob.core.windows.net/con/b%253A"؛، لا توجد أحرف خاصة، لذا أرسل "http://account.blob.core.windows.net/con/b%253A"؛ إلى الخادم. سيتم إنشاء كائن ثنائي كبير الحجم يسمى "b%3A".

تمنحنا هذه الاستراتيجية المرونة لإنشاء مع أي أحرف خاصة. ولكن سيتم التعامل مع "%" كأحرف خاصة، إذا لم يتم ترميز سلسلة URL، فلا ينبغي أن يكون هناك "%" في سلسلة URL، وإلا فإن عنوان URL ليس عنوان URL صالحا. إذا كان العميل بحاجة إلى إنشاء كائن ثنائي كبير الحجم مع "%" في اسم الكائن الثنائي كبير الحجم، فاستخدم "%25" insead of "%". تماما مثل أعلى العينة الثالثة. وسلاسل 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.

استراتيجية containerName أو blobName أو معلمات XXXName أخرى محددة في أساليب مثل BlobURL.fromContainerURL(containerURL, blobName)

سنطبق استراتيجية واحدة، ونستدعي encodeURIComponent لهذه المعلمات مثل blobName. لأن ما يمر به العملاء هو اسم عادي بدلا من عنوان 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>