نحوه استفاده از REST APIهای MinIO
برای استفاده از REST APIهای MinIO، نیاز به ارسال درخواستهای HTTP به سرور MinIO دارید. این درخواستها میتوانند شامل عملیاتهایی مانند ایجاد باکت، آپلود فایل، و دانلود فایل باشند. در اینجا چند مثال ساده برای نحوه استفاده از این APIها آورده شده است.
1. ایجاد باکت
برای ایجاد یک باکت جدید، از درخواست PUT
استفاده میکنید. این درخواست باید به URL مربوط به سرور MinIO ارسال شود.
درخواست HTTP:
PUT /mybucket HTTP/1.1
Host: minio.example.com:9000
Authorization: Bearer <access_token>
توضیح:
این درخواست یک باکت به نام mybucket
در سرور MinIO ایجاد میکند.
2. آپلود فایل
برای آپلود فایل به داخل یک باکت، از درخواست PUT
استفاده میکنید. این درخواست شامل دادههای فایل است که باید به همراه متادیتا ارسال شوند.
درخواست HTTP:
PUT /mybucket/myfile.txt HTTP/1.1
Host: minio.example.com:9000
Authorization: Bearer <access_token>
Content-Type: text/plain
Content-Length: <file_size>
<contents_of_file>
توضیح:
این درخواست فایل myfile.txt
را به باکت mybucket
آپلود میکند.
3. دانلود فایل
برای دانلود یک فایل از MinIO، از درخواست GET
استفاده میکنید. در این درخواست، باید نام باکت و فایل مورد نظر را مشخص کنید.
درخواست HTTP:
GET /mybucket/myfile.txt HTTP/1.1
Host: minio.example.com:9000
Authorization: Bearer <access_token>
توضیح:
این درخواست فایل myfile.txt
را از باکت mybucket
دریافت میکند.
4. حذف فایل
برای حذف یک فایل از MinIO، از درخواست DELETE
استفاده میکنید.
درخواست HTTP:
DELETE /mybucket/myfile.txt HTTP/1.1
Host: minio.example.com:9000
Authorization: Bearer <access_token>
توضیح:
این درخواست فایل myfile.txt
را از باکت mybucket
حذف میکند.
5. لیست کردن محتویات یک باکت
برای مشاهده فایلهای موجود در یک باکت، از درخواست GET
استفاده میکنید.
درخواست HTTP:
GET /mybucket/ HTTP/1.1
Host: minio.example.com:9000
Authorization: Bearer <access_token>
توضیح:
این درخواست لیست تمام فایلهای داخل باکت mybucket
را نمایش میدهد.
6. ایجاد لینک پیشامضا (Pre-signed URL)
برای ایجاد یک لینک موقت که به کاربران اجازه دسترسی به فایل را میدهد، از API presign
استفاده میکنید.
درخواست HTTP:
GET /mybucket/myfile.txt?AWSAccessKeyId=<access_key>&Expires=<expiration_time>&Signature=<signature> HTTP/1.1
Host: minio.example.com:9000
توضیح:
این درخواست یک لینک موقت برای دسترسی به myfile.txt
ایجاد میکند که به مدت معین قابل استفاده است.
نتیجهگیری
این مثالها نشان میدهند که چگونه میتوان از APIهای MinIO برای انجام عملیاتهای مختلف مانند ایجاد باکت، آپلود و دانلود فایلها، و حذف فایلها استفاده کرد. همچنین، امکان ایجاد لینکهای پیشامضا برای اشتراکگذاری موقت فایلها وجود دارد.