Skip to content

סקירת SDK

השתמשו ב-SDK של HomeCloud מהאפליקציות, ה-workers ומשימות ה-CI שלכם. בניגוד לקונסול, ה-SDK בנוי לאוטומציה: Access Keys, בלי MFA אינטראקטיבי בכל בקשה.

שפה חבילה תיעוד
Python homecloud-sdk (import homecloud) Python SDK
Node.js @homecloud-platform/sdk Node.js SDK
Go github.com/HomeCloudLab/homecloud-sdk/go SDK ל-Go
Java com.homecloudlab:homecloud-sdk SDK ל-Java

ארבע השפות מכוונות לאותן יכולות HomeCloud. העדיפו את השפה שהשירות שלכם כבר משתמש בה.

מודל Auth

מי איך MFA
SDK / אוטומציה Access Key ID + Secret (SigV1) אף פעם בבקשות data-plane
בני אדם / עוזרי login ב-CLI שם משתמש/סיסמה → JWT בהתחברות / step-up בלבד

צרו מפתחות בקונסול: Access Keys.

מה אפשר לקרוא

אזור שיטות טיפוסיות Auth
Object Storage (so) upload, download, sync, list, delete, head, presign Access Key
Queues (mq) send, receive, delete, purge, DLQ Access Key
Functions list, invoke, url, logs Mixed (ראו עמודי השפה)
Mail mailboxes, messages, get, attachment Access Key / session
Image Registry (ir) list/create repos, usage Session / key as documented
Secrets list Access Key
עוזרי ניהול so.list_buckets / create_bucket / delete_bucket, queues.list / get Access Key SigV1 (מועדף); JWT קונסול כגיבוי
Tasks + Diagrams חיפוש/יצירה/הקצאה/תגובה/ארכיון; diagrams list/get/create/update JWT משתמש או Access Key קשור למשתמש
עוזרי קונסול אחרים apps.list, accounts.*, יצירת IR, ניהול Functions JWT קונסול (לעת עתה)

דוגמאות מינימליות

from homecloud import HomeCloud

client = HomeCloud.from_env()
client.so.upload("docs", "./a.txt", key="a.txt")
client.mq.send("orders", {"id": 1})
const { HomeCloud } = require("@homecloud-platform/sdk");

const client = HomeCloud.fromEnv();
await client.so.putJson("docs", "a.json", { ok: true });
client, _ := homecloud.FromEnv()
_, _ = client.SO.PutJSON(ctx, "docs", "a.json", map[string]any{"ok": true})
HomeCloud client = HomeCloud.fromEnv();
client.so().putJson("docs", "a.json", Map.of("ok", true));

הבא

  1. צרו Access Key
  2. עקבו אחרי Python, Node.js, Go או Java
  3. לסקריפטי shell, ייתכן שתעדיפו את ה-CLI במקום
  4. לפרוויז'ן משאבי חשבון מ-CI השתמשו ב-Terraform (לא ב-SDK)