در این راهنما یاد می گیریم که چگونه از s3cmd به عنوان کلاینت برای فضای ابری آروان استفاده کنیم. S3cmd ابزاری است که به شما امکان می‌دهد صندوقچه‌ها را از ترمینال ایجاد، فهرست و یا حذف کنید و هم‌چنین اشیا را در/از صندوقچه‌تان دانلود، آپلود و حذف کنید.

نصب S3cmd

می‌توانید S3cmd را از خط فرمان و با استفاده از Package Manager توزیع لینوکس خود نصب کنید.

برای به‌روزرسانی و ارتقا بسته‌های خود دستور زیر را وارد کنید:

apt update && apt upgrade -y

دستور زیر را برای نصب s3cmd وارد کنید:

apt install s3cmd

پیکربندی S3cmd

یک فایل برای پیکربندی به نام .s3cfg در دایرکتوری HOME ایجاد کنید:

cd $HOME
touch .s3cfg

فایل را به‌وسیله‌ی یک ویرایشگر متن مثل nano باز کنید:

nano .s3cfg

متن زیر را کپی و به فایل اضافه کنید، سپس آن را ذخیره کرده و ببندید. توجه داشته باشید که باید مقدار Access  Key و Secret Key خود را که در پیشخان پنل کاربری وجود دارد، در این فایل جایگزین کنید.

[default]

# Login credentials

access_key = <ACCESS_KEY>

secret_key = <SECRET_KEY>

host_base = https://s3.ir-thr-at1.arvanstorage.ir

host_bucket = https://s3.ir-thr-at1.arvanstorage.ir

use_https = True

راهکار جایگزین برای ایجاد فایل کانفیگ، استفاده از دستور s3cmd – -configure است.

استفاده از فضای ابری به کمک S3cmd

قابلیت‌های موجود در پنل کاربری فضای ابری یا ابزارهایی چون S3browser، به سادگی و به کمک S3cmd قابل اجرا خواهد بود. در ادامه به بررسی دستورات مرتبط با نحوه‌ی کار با فضای ابری آروان به کمک S3cmd می‌پردازیم.

ایجاد صندوقچه جدید

دستور زیر را برای ساخت یک صندوقچه‌ی جدید وارد کنید. دقت داشته باشید که نام صندوقچه باید ترکیبی از اعداد و حروف کوچک و یکتا باشد. در اینجا ما نام newbucket را انتخاب کردیم.

s3cmd mb s3://newbucket

خروجی دستور مشابه زیر خواهد بود:

Bucket 's3://newbucket/' created

آپلود فایل در یک صندوقچه

برای آپلود فایل در صندوقچه می‌توانید از دستور زیر استفاده کنید:

s3cmd put logs.txt photo1.jpg s3://newbucket

خروجی این دستور به شکل زیر خواهد بود:

logos.txt -> s3://newbucket/logs.txt [1 of 2]
0 of 0 0% in 0s 0.00 B/s done

photo1.jpg -> s3://newbucket/photo1.jpg [2 of 2]
0 of 0 0% in 0s 0.00 B/s done

لیست کردن فایل‌های یک صندوقچه

برای مشاهده‌ی فهرست فایل‌های یک صندوقچه، از دستور زیر استفاده کنید. در اینجا ما تمام فایل‌های صندوقچه‌ی newbucket را لیست کرده‌ایم:

s3cmd ls s3://newbucket

شما باید خروجی مشابه زیر را مشاهده کنید که شامل فایل‌های داخل صندوقچه است:

2021-07-10 06:23 0 s3://newbucket/logs.txt

2021-07-10 06:23 0 s3://newbucket/photo1.jpg

دانلود یک فایل از صندوقچه

برای دانلود یک شی از صندوقچه در سیستم خود، از دستور زیر استفاده کنید. در اینجا ما فایل logs.txt را از صندوقچه‌ی newbucket دانلود کردیم:

s3cmd get s3://newbucket/logs.txt logs.txt

خروجی به شکل زیر خواهد بود:

s3://mynewbucket/ logs.txt -> logs.txt [1 of 1]
0 of 0 0% in 0s 0.00 B/s done

حذف یک فایل از صندوقچه

برای حذف کردن یک فایل از صندوقچه، می‌توانید از دستور زیر استفاده کنید. در اینجا ما فایل logs.txt را از صندوقچه‌ی newbucket حذف می‌کنیم:

s3cmd del s3://newbucket/logs.txt

باید خروجی به شکل زیر مشاهده کنید:

delete: 's3://mynewbucket/x.txt'

حذف یک صندوقچه

برای حذف یک صندوقچه از دستور زیر استفاده کنید. در اینجا صندوقچه‌ی newbucket را حذف می‌کنیم:

s3cmd rb s3://newbucket

خروجی مشابه زیر خواهد بود:

Bucket 's3://newbucket/' removed

پیکربندی CORS

استاندارد CORS امکانی را در اختیار مرورگرها قرار می‌دهد که در صورت داشتن مجوز، از دامنه‌های دیگر منابع درخواست کنند. این ویژگی به شما کمک می‌کند شیوه‌ی دسترسی به صندوقچه‌های خود از برنامه‌ها و وب‌سایت‌های مبتنی بر مرورگر را پیکربندی کنید.

تنظیم پیکربندی CORS روی یک صندوقچه

یک فایل پیکربندی CORS بسازید و آن را با یک ویرایشگر متن باز کنید:

nano cors.xml

تنظیمات و پیکربندی خود را در فایل قرار دهید، آن را ذخیره کرده و ببندید:

<CORSConfiguration>
<CORSRule>  
   <AllowedOrigin>http://www.example.com</AllowedOrigin>    
   <AllowedMethod>PUT</AllowedMethod>    
   <AllowedMethod>POST</AllowedMethod>    
   <AllowedMethod>DELETE</AllowedMethod>    
   <AllowedHeader>*</AllowedHeader>    
   <MaxAgeSeconds>3000</MaxAgeSeconds>    
   <ExposeHeader>x-server-side-encryption</ExposeHeader>    
</CORSRule>  
</CORSConfiguration>

به کمک دستور زیر و با جایگزین کردن نام صندوقچه‌ی خود با bucketname این اطلاعات را روی صندوقچه‌تان تنظیم کنید.

s3cmd setcors cors.xml s3://bucketname

حذف تنظیمات CORS از یک صندوقچه

دستور زیر را برای حذف پیکربندی CORS یک صندوقچه اجرا کنید. نام صندوقچه‌ی خود را با bucketname جایگزین کنید:

s3cmd delcors s3://bucketname

سایر دستورات

برای اطلاعات بیشتر در مورد دستورات مختلف s3cmd، با اجرای دستور s3cmd –help به مستندات رسمی مراجعه کنید.