شروع سریع
در این صفحه یک توکن میسازید، اولین درخواست را میفرستید و یک سرور ابری میسازید و دوباره حذف میکنید. نمونهها روی وب سرویس ابر هستند؛ بقیه محصولات دقیقاً همین الگو را دارند.
پیشنیازها
- یک حساب آریانت با موجودی در کیف پول (ساخت سرور هزینه دارد؛ خواندن فهرستها رایگان است)
curl، یا CLI آریانت، یا هر زبانی که HTTP بلد باشد
۱. توکن بسازید
- وارد پنل شوید و به صفحه توکنهای API بروید.
- یک توکن با دسترسیهای
cloud:servers:readوcloud:servers:writeبسازید. - توکن را کپی کنید؛ فقط یک بار نمایش داده میشود.
جزئیات دسترسیها و محدود کردن توکن به IP در احراز هویت و توکن آمده است.
۲. توکن را در متغیر محیطی بگذارید
توکن را در کد ننویسید؛ آن را در متغیر محیطی ARIANET_TOKEN نگه دارید. CLI هم همین متغیر را میخواند.
- macOS / Linux
- Windows (PowerShell)
export ARIANET_TOKEN="paste-your-token-here"
$env:ARIANET_TOKEN = "paste-your-token-here"
۳. اولین درخواست
فهرست سرورهای ابری حساب شما (اگر سروری نداشته باشید، فهرست خالی است):
- curl
- CLI
- Python
- Node.js
- Go
curl -s https://api.ariaservice.net/cloud/v1/servers \
-H "Authorization: Bearer $ARIANET_TOKEN"
arianet cloud servers list
import os
import requests
resp = requests.get(
"https://api.ariaservice.net/cloud/v1/servers",
headers={"Authorization": f"Bearer {os.environ['ARIANET_TOKEN']}"},
timeout=30,
)
resp.raise_for_status()
for server in resp.json()["data"]:
print(server["id"], server["name"], server["status"])
const resp = await fetch('https://api.ariaservice.net/cloud/v1/servers', {
headers: {Authorization: `Bearer ${process.env.ARIANET_TOKEN}`},
});
if (!resp.ok) throw new Error(`${resp.status} ${await resp.text()}`);
const {data} = await resp.json();
for (const server of data) console.log(server.id, server.name, server.status);
package main
import (
"encoding/json"
"fmt"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.ariaservice.net/cloud/v1/servers", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("ARIANET_TOKEN"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
var body struct {
Data []struct {
ID int64 `json:"id"`
Name string `json:"name"`
Status string `json:"status"`
} `json:"data"`
}
if err := json.NewDecoder(resp.Body).Decode(&body); err != nil {
panic(err)
}
for _, s := range body.Data {
fmt.Println(s.ID, s.Name, s.Status)
}
}
پاسخ 401 یعنی توکن درست فرستاده نشده و 403 یعنی توکن دسترسی لازم را ندارد (خطاهای احراز هویت).
۴. اولین سرور
ابتدا دیتاسنتر، پلن و ایمیج را پیدا کنید، سپس سرور را بسازید:
- curl
- CLI
BASE=https://api.ariaservice.net/cloud/v1
AUTH="Authorization: Bearer $ARIANET_TOKEN"
curl -s $BASE/datacenters -H "$AUTH" # datacenter codes, e.g. ovh
curl -s "$BASE/plans?datacenter=ovh" -H "$AUTH" # plan ids and prices
curl -s "$BASE/images?type=system" -H "$AUTH" # image names, e.g. ubuntu-24.04
curl -s -X POST $BASE/servers -H "$AUTH" -H "Content-Type: application/json" \
-d '{"name":"web-1","datacenter":"ovh","plan_id":3,"image":"ubuntu-24.04"}'
arianet cloud datacenters
arianet cloud plans --datacenter ovh
arianet cloud images list --type system
arianet cloud servers create --name web-1 --datacenter ovh --plan 3 --image ubuntu-24.04 --wait
پاسخ ساخت 201 است و سرور، action_id عملیات ساخت و root_password را برمیگرداند. رمز root فقط همین یک بار نمایش داده میشود. ساخت سرور ناهمگام است؛ action را تا رسیدن status به success یا error بررسی کنید:
curl -s $BASE/actions/812 -H "$AUTH"
# {"data":{"id":812,"command":"create","status":"running","progress":40,...}}
۵. پاکسازی
سرور ابری ساعتی صورتحساب میشود. اگر فقط آزمایش میکردید، آن را حذف کنید:
curl -s -X DELETE $BASE/servers/<id> -H "$AUTH"
# or: arianet cloud servers delete <id>