در این راهنما یاد می گیریم که چگونه از 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 به مستندات رسمی مراجعه کنید.