پرش به مطلب اصلی

استفاده از API

زمانی که یک کلید دسترسی از پنل دریافت کرده باشید، می‌توانید با استفاده از API محصولات ابر آروان تغییرات و عملیات ممکن روی هر قابلیت‌ را به‌وسیله‌ی درخواست‌های HTTP اجرا کنید.

در این راهنما، به بررسی نمونه‌هایی از درخواست‌های API در قالب دستورات curl می‌پردازیم. در تمام نمونه‌ها به جای کلید دسترسی ماشین یوزر مقدار MU-KEY قرار گرفته است.

اگر با کلید ماشین یوزری که وجود ندارد یا دسترسی به یک محصول مشخص ندارد، تلاش به ارسال یک درخواست کنید با خطای زیر مواجه خواهید شد:

{
"message": "Unauthenticated."
}

مطمین شوید کلید دسترسی ماشین یوزرتان را به‌ درستی Copy و Paste می‌کنید.

استفاده از API سرویس CDN

در این بخش برای آشنایی با ساختار API، چند نمونه از درخواست‌های API سرویس CDN را بررسی می‌کنیم.

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

برای بررسی و مشاهده‌ی لیست تمام دامنه‌های ثبت‌شده در اکانت‌تان، باید یک درخواست GET به domains/ ارسال کنید.

curl --location --request GET 'https://napi.arvancloud.ir/cdn/4.0/domains' \
--header 'Accept: application/json' \
--header 'Authorization: <MU-KEY>'

نمونه: دریافت رکوردهای DNS یک دامنه

برای بررسی و مشاهده‌ی لیست تمام دامنه‌های ثبت‌شده در اکانت‌تان، باید یک درخواست GET به domains/domain/dns-records/ ارسال کنید.

به جای domain نام دامنه‌تان را بنویسید.

curl --location --request GET 'https://napi.arvancloud.ir/cdn/4.0/domains/example.com/dns-records' \
--header 'Accept: application/json' \
--header 'Authorization: <MU-KEY>'

نمونه: ثبت دامنه جدید

برای ثبت یک دامنه‌ی جدید در اکانت خود، باید یک درخواست POST به domains/dns-service/ ارسال کنید. برای بررسی و تعریف پارامترهای این درخواست می‌توانید مستندات API ثبت دامنه را بررسی کنید.

curl --location --request POST 'https://napi.arvancloud.ir/cdn/4.0/domains/dns-service' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: <MU-KEY>' \
--data-raw '{
"domain": "www.example.com",
"domain_type": "full"
}'

استفاده از API سرور ابری

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

نمونه: دریافت لیست ابرک‌های یک دیتاسنتر

برای بررسی و مشاهده‌ی لیست تمام ابرک‌های ساخته‌شده در اکانت‌تان، باید یک درخواست GET به regions/region/servers/ ارسال کنید. برای بررسی و دریافت مقادیر region به مستندات API سرور ابری مراجعه کنید.

به جای region نام دیتاسنتر را بنویسید.

curl --location --request GET 'https://napi.arvancloud.ir/ecc/v1/regions/ir-thr-c2/servers' \
--header 'Accept: application/json' \
--header 'Authorization: <MU-KEY>'

نمونه: دریافت لیست تصاویر و سیستم‌عامل‌های یک دیتاسنتر

برای بررسی و مشاهده‌ی لیست تمام imageهای موجود در اکانت‌تان، باید یک درخواست GET به regions/region/images/ ارسال کنید. برای بررسی و دریافت مقادیر region به مستندات API سرور ابری مراجعه کنید.

به جای region نام دیتاسنتر را بنویسید.

curl --location --request GET 'https://napi.arvancloud.ir/ecc/v1/regions/ir-thr-c2/images' \
--header 'Accept: application/json' \
--header 'Authorization: <MU-KEY>'

نمونه: ساخت ابرک در یک دیتاسنتر

برای ساختن ابرک جدید در یک دیتاسنتر، باید یک درخواست POST به regions/region/servers/ ارسال کنید. برای بررسی و تعریف پارامترهای این درخواست به مستندات این درخواست API مراجعه کنید.

در این نمونه پس از ارسال درخواست برای دریافت لیست سیستم‌عامل‌ها، شبکه‌ها، بسته‌ها و گروه‌های فایروالی اکانت، یک ابرک با سیستم‌عامل ubuntu در شبکه‌ی عمومی و با بسته‌ی 75-2-2 و گروه فایروالی پیش‌فرض می‌سازیم.

curl --location --request POST 'https://napi.arvancloud.ir/ecc/v1/regions/nl-ams-su1/servers' \
--header 'Authorization: <MU-KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "abrak",
"network_id": "fe9645fc-2234-4865-895b-e3bb4bb0eb7b",
"flavor_id": "g1-2-2-75",
"image_id": "8751dd0c-6529-44a9-afec-2a1b29411116",
"security_groups": [
{
"name": "054f34d8-f4c1-45bc-ba4e-bcb8c00f17f6"
}
],
"ssh_key": true,
"key_name":"testkey",
"count": 1
}'

استفاده از API در پلتفرم ویدیو

در این بخش برای آشنایی با ساختار API، چند نمونه از درخواست‌های API سرویس ویدیو را بررسی می‌کنیم.

نمونه: دریافت لیست کانال‌های ویدیویی

برای دریافت جزییات تمام کانال‌های ساخته‌شده در اکانت‌تان، می‌توانید یک درخواست GET به channels/ ارسال کنید.

curl --location --request GET 'https://napi.arvancloud.ir/vod/2.0/channels' \
--header 'Authorization: <MU-KEY>'

نمونه: دریافت لیست ویدیوهای یک کانال

بعد از دریافت لیست کانال‌ها برای بررسی لیست ویدیوهای یک کانال با استفاده از ID کانال موردنظر یک درخواست GET به channels/channel-id/videos/ ارسال کنید.

curl --location --request GET 'https://napi.arvancloud.ir/vod/2.0/channels/{channel-id}/videos' \
--header 'Authorization: <MU-KEY>'

نمونه: ساخت یک کانال جدید

برای ایجاد یک کانال جدید، باید یک درخواست POST به channels/ ارسال کنید. برای بررسی و تعریف پارامترهای این درخواست می‌توانید مستندات API ایجاد کانال جدید را بررسی کنید.

curl --location --request POST 'https://napi.arvancloud.ir/vod/2.0/channels' \
--header 'Content-Type: application/json' \
--header 'Authorization: <MU-KEY>' \
--data-raw '{
"title": "test",
"description": "optional",
"secure_link_enabled": false,
"secure_link_key": "something ",
"secure_link_with_ip": true,
"ads_enabled": false,
"present_type": "manual",
"campaign_id": "{id}"
}'

استفاده از API در سرویس فضای ابری

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

نمونه: دریافت یک Object از یک صندوقچه

برای دریافت یک Obeject می‌توانیم یک درخواست GET را در قالب یک اسکریپت ارسال کنیم:

S3KEY="Accesskey"
S3SECRET="Secretkey" # pass these in

function getObject
{
bucket='Bucketname'
file="Filename"
date=$(date +"%a, %d %b %Y %T %z")
string="GET\n\n\n$date\n/$bucket/$file"
signature=$(echo -en "${string}" | openssl sha1 -hmac "${S3SECRET}" -binary | base64)
curl -X GET \
-H "Host: $bucket.s3.ir-thr-at1.arvanstorage.ir" \
-H "Date: $date" \
-H "Authorization: AWS ${S3KEY}:$signature" \
"https://s3.ir-thr-at1.arvanstorage.ir/$file"
}

getObject

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

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

S3KEY="Accesskey"
S3SECRET="Secretkey"

function listObjects
{
bucket='Bucketname'
date=$(date +"%a, %d %b %Y %T %z")
string="GET\n\n\n$date\n/$bucket/"
signature=$(echo -en "${string}" | openssl sha1 -hmac "${S3SECRET}" -binary | base64)
curl -X GET \
-H "Host: $bucket.s3.ir-thr-at1.arvanstorage.ir" \
-H "Date: $date" \
-H "Authorization: AWS ${S3KEY}:$signature" \
"https://$bucket.s3.ir-thr-at1.arvanstorage.ir"
}

listObjects

نمونه: ایجاد یک صندوقچه‌ جدید

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

S3KEY="Accesskey"
S3SECRET="Secretkey"

function createBucket
{
bucket=$1
date=$(date +"%a, %d %b %Y %T %z")
string="PUT\n\n\n$date\n/$bucket/"
signature=$(echo -en "${string}" | openssl sha1 -hmac "${S3SECRET}" -binary | base64)
curl -X PUT \
-H "Host: $bucket.s3.ir-thr-at1.arvanstorage.ir" \
-H "Date: $date" \
-H "Authorization: AWS ${S3KEY}:$signature" \
"https://s3.ir-thr-at1.arvanstorage.ir/"
}

createBucket "$1"

پیشنهاد می‌کنیم برای ارتباط با فضای ابری آروان از SDK این سرویس استفاده کنید.