نویسنده : Arvan

آغاز کار با محصول فضای ابری آروان

linkedin

برای استفاده از فضای ابری ابر آروان، ابتدا وارد پنل کاربری خود شوید و از منوی سمت راست روی گزینه‌ی Storage یا در همان صفحه‌ی اصلی، روی گزینه‌ی فضای ابری کلیک کنید.

1.png

در پنجره‌ی باز شده، از منوی سمت راست روی گزینه‌ی صندوقچه‌ها (Buckets) کلیک کنید تا فهرست صندوقچه‌های شما نمایش داده شوند. 2.png

در این صفحه علاوه‌بر صندوقچه‌هایی که دارید، می‌توانید Access key و Secret Key مربوط به حساب کاربری خود را نیز مشاهده کنید. 3.png

برای استفاده از فضای ابری، شما نیازمند صندوقچه، Access Key، Secret Key و آدرس محل اتصال (Endpoint URL) هستید. 

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

4.png

نکات زیر هنگام تعریف یک صندوقچه حتمن باید در نظر گرفته شوند:

  • نام صندوقچه باید یکتا باشد. یکتایی این نام در تمامی فضای ابری ابر آروان بررسی می‌شود.
  • نام صندوقچه نباید دارای کاراکترهای خاص مانند . (نقطه)، ـ (خط پایین)، ! و ... باشد.
  • در تعریف نام صندوقچه می‌توان از حروف بزرگ و کوچک استفاده کرد. اما در هرحال، پس از تعریف صندوقچه، نام آن به حروف کوچک تبدیل می‌شود.
  • نام صندوقچه تنها باید با حروف انگلیسی باشد.
  • نام صندوقچه حداقل باید شامل ۳ حرف باشد.

 

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

 

استفاده از صندوقچه

شما می‌توانید در صفحه‌ی صندوقچه‌ها، صندوقچه‌ی مورد نظر خود را مشاهده کنید، وارد آن شوید، فایلی را داخل آن آپلود، از آن دانلود یا حذف کنید. هم‌چنین می‌توانید فایل مورد نظر خود را در دسترس عموم قرار دهید. صفحه‌ای که پس از انتخاب نام صندوقچه، با آن روبه‌رو می‌شوید مشابه تصویر زیر است. 5.png

اگر روی دکمه‌ی انتخاب فایل کلیک کنید، پنجره‌ای برای انتخاب فایل باز می‌شود که به کمک آن می‌توانید فایل مورد نظر خود را برای بارگذاری درون صندوقچه انتخاب کنید. هم‌چنین می‌توانید فایل مورد نظر را روی قسمت مشخص شده بکشید و رها کنید. پس از انجام هریک از کارها، پنجره‌ای مشابه تصویر زیر نمایش داده می‌شود.

 6.png

در این صحفه می توان نام متفاوتی برای فایل انتخاب کرد. هم‌چنین می‌توان دسترسی عمومی را نیز برای این فایل آزاد کرد.

پس از افزودن فایل به صندوقچه، در نهایت صفحه‌ی صندوقچه‌ی شما چیزی مشابه تصویر زیر خواهد بود.

7.png

 

استفاده با ابزار سیستم عامل

در این قسمت با استفاده از برنامه‌ی s3cmd، به فضای ابری آروان متصل می‌شویم. ابزارهای مشابه دیگری نیز وجود دارند که می‌توانید از آن‌ها نیز استفاده کنید.

برای استفاده از s3cmd راه‌های مختلفی وجود دارد. شما می‌توانید با استفاده از ابزار مدیریت برنامه در سیستم‌عامل خود نیز s3cmd را نصب کنید. برای نمونه، در توزیع‌های CentOS و Ubuntu، نصب این ابزار به‌شکل زیر است.

#ubuntu
sudo apt-get install s3cmd


#CentOS
yum install s3cmd

 

معمولن نسخه‌ی داخلی مخازن سیستم‌عامل‌ها قدیمی‌تر هستند. شما می‌توانید با مراجعه به آدرس زیر، آخرین نسخه‌ی مورد نظر خود را دانلود کنید:

https://github.com/s3tools/s3cmd/releases

در این مثال از نسخه ی ۲.۱.۰ استفاده شده است.

wget https://github.com/s3tools/s3cmd/releases/download/v2.1.0/s3cmd-2.1.0.tar.gz
tar zxvf s3cmd-2.1.0.tar.gz
cd s3cmd-2.1.0/

برای دیدن راهنما کافیست دستور زیر را وارد کنید.

./s3cmd

برای اتصال به فضای ابری آروان نیازمند فایل تنظیمات هستید. برای ساخت فایل تنظیمات می‌توانید از دستور زیر استفاده کنید.

./s3cmd --configure

برای راحتی، نمونه تنظیمات ساده‌ای در زیر قرار گرفته است که می‌توانید با این تنظیمات و تغییر Access Key و Secrect Key به مقادیر خود، از s3cmd استفاده کنید. برنامه‌ی s3cmd به‌شکل پیش‌فرض از فایل .s3cfg که در پوشه‌ی /home/$USER قرار دارد، استفاده می‌کند.

nano ~/.s3cfg

[default]
access_key = <put-your-access-key>
secret_key = <put-your-secret-key>
host_base = https://s3.ir-thr-at1.arvanstorage.com
host_bucket = https://s3.ir-thr-at1.arvanstorage.com
enable_multipart = True
multipart_chunk_size_mb = 15
use_https = True

حال شما می‌توانید از فضای ابری خود استفاده کنید. در زیر به چند نمونه از این کاربردها پرداخته شده است.

 

فهرست صندوقچه‌های موجود

./s3cmd ls
2020-02-17 16:59 s3://test



فهرست داده‌ی موجود در صندوقچه

./s3cmd ls s3://test

 

ساخت صندوقچه

./s3cmd mb s3://real-test
Bucket 's3://real-test/' created

 

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

./s3cmd put test-file-1 s3://real-test
upload: 'test-file-1' -> 's3://real-test/test-file-1' [1 of 1]
4760 of 4760 100% in 9s 481.58 B/s done

 

آپلود پوشه داخل صندوقچه

./s3cmd put -r test-dir-1 s3://real-test
upload: 'test-dir-1/test-file-2' -> 's3://real-test/test-dir-1/test-file-2' [1 of 1]
2840 of 2840 100% in 0s 8.03 KB/s done

 

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

./s3cmd ls -r s3://real-test
2020-04-16 09:35 2840 s3://real-test/test-dir-1/test-file-2
2020-04-16 09:30 4760 s3://real-test/test-file-1
2020-04-16 09:29 1188 s3://real-test/test-file-2

 

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

./s3cmd get s3://real-test/test-dir-1/test-file-2
download: 's3://real-test/test-dir-1/test-file-2' -> './test-file-2' [1 of 1]
2840 of 2840 100% in 0s 18.52 KB/s done

 

حذف صندوقچه

./s3cmd rb s3://real-test
ERROR: S3 error: 409 (BucketNotEmpty)

./s3cmd rb -r s3://real-test
WARNING: Bucket is not empty. Removing all the objects from it first. This may take some time...
delete: 's3://real-test/test-dir-1/test-file-2'
delete: 's3://real-test/test-file-1'
delete: 's3://real-test/test-file-2'
Bucket 's3://real-test/' removed



استفاده در کد

برای استفاده از فضای ابری در کد باید از استاندارد AWS S3 استفاده شود. هم‌چنین شما نیازمند داشتن اطلاعات زیر نیز هستید:

  • Access key : از داخل صفحه‌ی صندوقچه‌ها می‌توانید به آن دسترسی داشته باشید.
  • Secrect key : از داخل صفحه‌ی صندوقچه‌ها می‌توانید به آن دسترسی داشته باشید.
  • آدرس محل اتصال (Endpoint URL): https://s3.ir-thr-at1.arvanstorage.com

در ادامه چند نمونه استفاده از این اطلاعات در کد بیان شده است.

 

نمونه کد در Python3

#!/usr/bin/env python3import botoimport boto.s3.connectionaccess_key = 'put-your-access-key’secret_key = 'put-your-secret-key’endpoint = 's3.ir-thr-at1.arvanstorage.com'bucket_name = 'moghaddasupload_testfile = 'testfile-python.txt'# Connectionconn = boto.connect_s3(        aws_access_key_id = access_key,        aws_secret_access_key = secret_key,        host = endpoint,        #is_secure=False,               # uncomment if you are not using ssl        calling_format = boto.s3.connection.OrdinaryCallingFormat(),        )# Print list of bucketsfor bucket in conn.get_all_buckets():        print(bucket.name)# Set bucketbucket = conn.get_bucket(bucket_name)# List of contentsprint("\nList of contents")for key in bucket.list():        print("%r\t%r\t%r" % (                key.name,                key.size,                key.last_modified,                )        )# Uploadprint("\nStart uploading")k = bucket.new_key(upload_testfile)k.set_contents_from_filename(upload_testfile)print("File uploaded.")# List of contentsprint("\nList of contents")for key in bucket.list():        print("%r\t%r\t%r" % (                key.name,                key.size,                key.last_modified,                )        )

 

نمونه کد در PHP7

در این زبان، نخست باید AWS PHP SDK را به‌وسیله‌ی composer نصب کرد.

composer install aws/aws-sdk-php

سپس کد نمونه به‌شکل زیر خواهد بود.

<?php

use Aws\S3\S3Client;

define('AWS_KEY', 'place access key here');

define('AWS_SECRET_KEY', 'place secret key here');

$ENDPOINT = 'https://s3.ir-thr-at1.arvanstorage.com';

// require the amazon sdk from your composer vendor dir

require __DIR__.'/vendor/autoload.php';

// Instantiate the S3 class and point it at the desired host

$client = new S3Client([

    'region' => '',

    'version' => '2006-03-01',

    'endpoint' => $ENDPOINT,

    'credentials' => [

        'key' => AWS_KEY,

        'secret' => AWS_SECRET_KEY

    ],

    // Set the S3 class to use objects.dreamhost.com/bucket

    // instead of bucket.objects.dreamhost.com

    'use_path_style_endpoint' => true

]);

$listResponse = $client->listBuckets();

$buckets = $listResponse['Buckets'];

foreach ($buckets as $bucket) {

    echo $bucket['Name'] . "\t" . $bucket['CreationDate'] . "\n";

}

برای آشنایی با نمونه‌های بیش‌تر می‌توانید به آدرس https://docs.ceph.com/docs/master/radosgw/s3/#api مراجعه کنید.

مطالب مرتبط