\u003C/p>\u003Cp data-block-key=\"d0g08\">\u003Ca href=\"https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html\">https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html\u003C/a>\u003C/p>\u003Ch3 data-block-key=\"ft6p2\">UploadPart:\u003C/h3>\u003Cp data-block-key=\"eeu47\">چندین ریکوست PUT که با استفاده از این نوع ریکوست شما chunk هایی که جدا کردید رو آپلود میکنید. این ریکوست به پارامتر UploadId که از ریکوست قبلی میاد و پارامتر partNumber احتیاج داره که بدونه این چانک تکه ی چندم از آپلود شماست. این ریکوست همچنین بعد از اتمام آپلود کردن چانک یک Etag برمیگردونه که Etag های مربوط به هر PartNumber رو لازمه نگهداری کنید.\u003Cbr/>داک رسمی و جزییات ریکوست:\u003C/p>\u003Cp data-block-key=\"fb5dh\">\u003Ca href=\"https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html\">https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html\u003C/a>\u003C/p>\u003Ch3 data-block-key=\"dad5b\">CompleteMultiPartUpload:\u003C/h3>\u003Cp data-block-key=\"9heuv\">یک ریکوست POST، بعد از اینکه همه ی پارت هارو UploadPart کردید برای اتمام آپلود لازمه که این ریکوست احتیاج به UploadId و یک لیست از همه ی پارت های آپلود شده که هر المنت لیست PartNumber و Etag اون پارت هست داره.\u003C/p>\u003Cp data-block-key=\"960vf\">داک رسمی و جزییات ریکوست:\u003C/p>\u003Cp data-block-key=\"a96dd\">\u003Ca href=\"https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html\">https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html\u003C/a>\u003C/p>\u003Cp data-block-key=\"6v548\">اگر در حین آپلود خواستید آپلود رو ابورت کنید باید از ریکوست AbortMultiPartUpload استفاده کنید (که بعد از اون دیگه با UploadId سابق آپلود جدیدی نمیتونید انجام بدید:\u003C/p>\u003Cp data-block-key=\"6kfj9\">برای اینکه بتوانیم فایلهای بزرگ را بر روی S3 آپلود کنیم دو راه وجود دارد. اولین راه این است که خود فایلها را آپلود کنیم که این مورد بدون هیچ گونه مشکلی انجام خواهد شد و در صورتی که آپلود با مشکل مواجه شود فضایی از S3 گرفته نمیشود و فایلی آپلود نخواهد شد و هرچیزی که آپلود شده بدون مشکل پاک خواهد شد.\u003C/p>\u003Cp data-block-key=\"yxjek\">حالت دوم برای آپلود فایل، به این صورت است که کاربر آپلود فایل را بهصورت MultiPart انجام خواهد داد. بهعنوان مثال فایلی با حجم ده گیگ را به ده قسمت یک گیگی تبدیل میکند و هرکدام از قسمتها را بهصورت جدا جدا آپلود میکند. مسئلهای که در آپلود Multi Part در S3 وجود دارد این است که باید پس از اتمام آپلود قسمتها، اطلاع داده شود که آپلود همهی قسمتها کامل شده است در این صورت S3 همهی ده قسمت را به یک آبجکت تبدیل میکند. اگر کامل شدن فرآیند به S3 اطلاع داده نشود، شما ده آبجکت یک گیگی غیرقابل استفاده خواهید داشت. یعنی از حجم باکت شما استفاده میشود ولی در واقعیت شما آن فایل را نخواهید داشت.\u003C/p>\u003Cp data-block-key=\"oakx5\">برای کامل کردن فرآیند آپلود میتوانید گامهای زیر را طی کنید:\u003C/p>","48cce934-fae4-4597-9add-023fda4aa4d2",{"type":1012,"value":1013,"id":1017},"heading_block",{"heading_text":1014,"size":1015,"link_id":1016},"گام اول: لیست گرفتن از آپلودهای Multi Part","h4","multi-part-list","de18d9c1-30ec-433e-894a-c1cf2ee12b26",{"type":1008,"value":1019,"id":1020},"\u003Cp data-block-key=\"vg514\">برای اینکه بتوانید \u003Ca href=\"https://docs.aws.amazon.com/cli/latest/reference/s3api/list-multipart-uploads.html\">لیست آپلودهای Multi Part\u003C/a> خود را بگیرید میتوانید از دستور زیر استفاده کنید. دستور زیر همهی آپلودهای Multi Part فعال باکت My-bucket را برای شما لیست میکند.\u003C/p>","ae639f63-b635-415b-bf53-6f26ecf2ba7d",{"type":1022,"value":1023,"id":1026},"code_block",{"language":1024,"code":1025},"bash","aws s3api list-multipart-uploads --bucket my-bucket","380bcd5f-5ae3-4297-b03d-7faa4341aa4b",{"type":1012,"value":1028,"id":1031},{"heading_text":1029,"size":1015,"link_id":1030},"گام دوم: abort کردن آپلودی که نیمه کاره مانده است","multi-part-abort","77a5d837-fe60-4ff5-8874-f53dd26f92c2",{"type":1008,"value":1033,"id":1034},"\u003Cp data-block-key=\"5rzhm\">هنگامی که یک آپلود دچار مشکلی میشود و نیمه کاره میماند \u003Ca href=\"https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html\">باید آن را abort\u003C/a> کنید. برای مثال دستور زیر یک آپلود Multi Part برای کلید multipart/01 در باکت my-bucket را abort میکند.\u003C/p>","da4ae545-6aeb-4461-b06e-13fc12efd71f",{"type":1022,"value":1036,"id":1038},{"language":1024,"code":1037},"aws s3api abort-multipart-upload \\\r\n --bucket my-bucket \\\r\n --key multipart/01 \\\r\n --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R","e7c414a7-8d57-456f-ba29-0275fa8376c6",{"type":1012,"value":1040,"id":1043},{"heading_text":1041,"size":1015,"link_id":1042},"گام سوم: کامل کردن فرآیند آپلود Multi Part","multi-part-complete","8b676891-9c1a-4d3c-8856-d4f8cba16231",{"type":1008,"value":1045,"id":1046},"\u003Cp data-block-key=\"xkfiw\">اگر میخواهیم \u003Ca href=\"https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html\">یک آپلود Multi Part را کامل کنیم\u003C/a> میتوانیم از دستور زیر استفاده کنید. برای مثال دستور زیر یک آپلود Multi Part برای کلید multipart/01 در باکت my-bucket را کامل میکند.\u003C/p>","205dac33-4f77-4bd3-87da-618813a4590f",{"type":1022,"value":1048,"id":1050},{"language":1024,"code":1049},"aws s3api complete-multipart-upload --multipart-upload file://mpustruct --bucket my-bucket --key 'multipart/01' --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R","bddfb427-5d80-432e-a20b-2ded006359d1",{"type":1008,"value":1052,"id":1053},"\u003Cp data-block-key=\"x4pu6\">داک رسمی و جزییات ریکوست:\u003C/p>\u003Cp data-block-key=\"3tje9\">\u003Ca href=\"https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html\">https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html\u003C/a>\u003C/p>\u003Cp data-block-key=\"eohm5\">همچنین اگر میخواهید پارت هایی که آپلود شدن اما به هر دلیلی آپلود کامل نشده و ابورت شدن و دستی هم پاک نشدن بطور اتوماتیک بعد از زمان مشخصی پاک بشن میتونید در کانفیگوریشن Lifecycle باکت گزینه ی AbortIncompleteMultipartUpload رو ست کنید. مراجعه شود به داک Lifecycle:\u003C/p>\u003Cp data-block-key=\"330pf\">\u003Ca href=\"https://sotoon.ir/docs/storage/object-storage/how-to-guides/LifeCycle\">https://sotoon.ir/docs/storage/object-storage/how-to-guides/LifeCycle\u003C/a>\u003C/p>\u003Cp data-block-key=\"5v479\">آپلود مالتی پارت از طریق Presigned-url :\u003C/p>\u003Cp data-block-key=\"7mi1s\">معمولا زمانی استفاده میشه که شما میخواید آپلود فایل حجیم رو دست کاربر بسپرید و سمت بکند خودتون نیارید اما نمیخواید credentials استوریجتون رو در اختیارشون قرار بدید:\u003C/p>\u003Cp data-block-key=\"cd2tn\">\u003Ca href=\"https://github.com/boto/boto3/issues/2305\">https://github.com/boto/boto3/issues/2305\u003C/a>\u003C/p>","3d865b6b-0fef-4b42-95b3-ffff0a3b1171",[],{"slug":128,"title":129},["Reactive",1057],{"$snuxt-i18n-meta":1058,"$sroute-nav-config":1059,"$ssite-config":1062},{},{"variant":1060,"position":1061,"container":102},"light","static",{"currentLocale":1063,"description":1064,"env":1065,"name":1066,"url":1067},"fa","Managing Sotoon products showcase","production","sotoon","https://sotoon.ir",["Set"],["ShallowReactive",1070],{"products":-1,"documents:products":-1,"documents:search:":-1,"$APL8jXlmTi":-1},"/docs/storage/object-storage/how-to-guides/multi-part-upload"]