יצרתם חשבון ופרויקט ב-Google Cloud והפעלתם את ממשקי ה-API. עכשיו אפשר ליצור את הארגון.
דרישות מוקדמות
כדי ליצור ארגון, צריך לעמוד באחד מהתנאים הבאים:
- חשבון Google Cloud. כברירת מחדל, חשבון Google Cloud מאפשר ליצור ארגון Apigee לצורך הערכה ללא תשלום. התוקף של ארגוני ניסיון פג אחרי 60 יום. במועד הזה, הארגון יימחק.
- יש לכם חשבון Google Cloud ומינוי בתשלום ל-Apigee שמופעלים בפרויקט ובחשבון לחיוב ב-Google Cloud. מינוי בתשלום מאפשר לכם ליצור הטמעות מלאות וניתנות להרחבה של Apigee. כדי לרכוש חשבון בתשלום ולהפעיל את המינוי, צריך לפנות אל מחלקת המכירות של Apigee.
כדי ליצור ארגון חדש ולהקצות לו משתמשים:
-
בשורת הפקודה, מריצים את הפקודה הבאה כדי לקבל את פרטי הכניסה לאימות ב-
gcloud:Linux / MacOS
TOKEN=$(gcloud auth print-access-token)
כדי לוודא שהטוקן אוכלס, משתמשים ב-
echo, כמו בדוגמה הבאה:echo $TOKEN
האסימון יוצג כמחרוזת מקודדת.
Windows
for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%aכדי לוודא שהטוקן אוכלס, משתמשים ב-
echo, כמו בדוגמה הבאה:echo %TOKEN%
האסימון יוצג כמחרוזת מקודדת.
- יוצרים את משתני הסביבה הבאים עבור רכיבי הארגון. תשתמשו בהם בפקודה כדי ליצור את הארגון.
-
PROJECT_ID(חובה) הוא הפרויקט ב-Google Cloud שרוצים לקשר לארגון החדש עם ההפעלה ההיברידית. זה המזהה ש-Google יצרה בשבילכם בשלב 2: יצירת פרויקט בענן.export PROJECT_ID=your_project_id

-
ORG_NAME(חובה) הוא המזהה הפרוגרמטי שרוצים להגדיר לארגון עם תכונות היברידיות.export ORG_NAME=$PROJECT_ID
-
ORG_DISPLAY_NAME(אופציונלי) הוא השם הידידותי למשתמש של הארגון שלכם. הערך הזה לא צריך להיות ייחודי, והוא יכול לכלול רווחים ותווים מיוחדים. לדוגמה, "הארגון ההיברידי שלי".ORG_DISPLAY_NAME="friendly_name"
אם תוכן שם המשתנה מכיל רווחים, צריך לתחום אותו במירכאות כפולות. לדוגמה: "הארגון שלי"
-
ORGANIZATION_DESCRIPTION(אופציונלי) הוא מידע על הארגון שרוצים להשתמש בו כתזכורת למטרה שלו. לדוגמה, "הארגון הראשון שלי".ORGANIZATION_DESCRIPTION="description_text"
-
ANALYTICS_REGION(חובה) הוא האזור הראשי לאחסון נתוני ניתוח.export ANALYTICS_REGION=analytics_region
כאשר analytics_region הוא אחד מהבאים:
asia-northeast1asia-south1asia-east1asia-southeast1australia-southeast1us-central1us-east1us-west1asia-southeast2europe-west1europe-west2בוחרים אזור שקרוב מבחינה גיאוגרפית או אזור שעונה על דרישות האחסון של הארגון.
-
RUNTIMETYPE(חובה) הוא סוג זמן הריצה של הארגון ב-Apigee, כאשר Apigee Hybrid הוא זמן ריצה היברידי של Apigee שמנוהל על ידי המשתמש.export RUNTIMETYPE=HYBRID
-
- שולחים בקשת
POSTמאומתת אל Create organizations API.בדוגמה הבאה מוצג מבנה הבקשה ליצירת ארגון:
curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \ -d '{ "name":"'"$ORG_NAME"'", "displayName":"'"$ORG_DISPLAY_NAME"'", "description":"'"$ORGANIZATION_DESCRIPTION"'", "runtimeType":"'"$RUNTIMETYPE"'", "analyticsRegion":"'"$ANALYTICS_REGION"'" }' \ "https://apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"אם בקשת היצירה מצליחה, ה-API של הארגונים אמור להגיב בהודעה שדומה לזו:
{ "name": "organizations/org_name/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/org_name", "state": "IN_PROGRESS" } }
כאשר:
- LONG_RUNNING_OPERATION_ID הוא ה-UUID של פעולה אסינכרונית ממושכת. אפשר להשתמש במזהה הזה כדי לבדוק את הסטטוס של הבקשה ליצירת הארגון (כמו שמתואר בשלב 5).
- org_name הוא המזהה של הארגון החדש שנוצר כרגע.
כפי שמצוין בנכס
stateבתגובה, מערכת Apigee התחילה ליצור את הארגון החדש, ולכן המצב שלו הואIN_PROGRESS. התהליך הזה יכול להימשך כמה דקות.אם מופיעה הודעת שגיאה, אפשר להיעזר במאמר בנושא פתרון בעיות ביצירת ארגון.
- שומרים את מזהה הפעולה הממושכת במשתנה סביבה.
הוא יהיה שימושי למשימות ניהול עתידיות.
תחביר
export LONG_RUNNING_OPERATION_ID=long_running_operation_ID
דוגמה
export LONG_RUNNING_OPERATION_ID=6abc8a72-46de-f9da-bcfe-70d9ab347e4f
- אפשר לבדוק את הסטטוס של הפעולה הממושכת שהמזהה שלה הוחזר על ידי Apigee בבקשת היצירה הראשונית. כדי לעשות את זה, משתמשים ב-Operations API. לדוגמה:
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/$LONG_RUNNING_OPERATION_ID"
בדוגמאות הבאות מוצגות תשובות אפשריות לבקשה הזו:
IN_PROGRESS
אם Apigee עדיין יוצר את הארגון, הוא משיב עם סטטוס של
IN_PROGRESS. לדוגמה:{ "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/ORG_NAME", "state": "IN_PROGRESS" } }
כדאי לחכות עוד קצת לפני שמנסים לאמת שהתהליך של יצירת החשבון הסתיים.
הסתיים
כשהארגון מוקצה, הסטטוס של הפעולה הממושכת הוא
FINISHED. לדוגמה:{ "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/ORG_NAME", "state": "FINISHED" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.apigee.v1.Organization", "name": "ORG_NAME", "displayName": "ORG_DISPLAY_NAME", "description": "ORGANIZATION_DESCRIPTION", "createdAt": "1626237148461", "lastModifiedAt": "1626237149384", "properties": { "property": [ { "name": "features.hybrid.enabled", "value": "true" }, { "name": "features.mart.connect.enabled", "value": "true" } ] }, "analyticsRegion": "ANALYTICS_REGION", "runtimeType": "HYBRID", "subscriptionType": "TRIAL", "state": "ACTIVE", "billingType": "EVALUATION", "expiresAt": "1631421073171", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} } } }
אם לא הזנתם תיאור, השדה הזה לא יופיע בתגובה.
הצגת פרטי הארגון
אפשר לראות את פרטי המטא-נתונים של הארגון שיצרתם באמצעות Apigee API. אפשר גם להשתמש ב-API כדי להציג רשימה של כל הארגונים שלחשבון Google Cloud שלכם יש גישה אליהם. כדי לבצע את הפעולות האלה, משתמשים ב-Organizations API.
לפני שמנסים להשתמש בממשקי ה-API, צריך לרענן את אסימון ההרשאה:
TOKEN=$(gcloud auth print-access-token)
קבלת פרטים על הארגון
כדי לקבל פרטים על ארגון יחיד:
שולחים בקשת GET (ללא גוף) לנקודת הקצה הבאה של Get organizations API:
https://apigee.googleapis.com/v1/organizations/org_name
בדוגמה הבאה מוצגים פרטים על הארגון $ORG_NAME:
בדוגמה הזו, הערך של $ORG_NAME הוא apigee-example.
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
התגובה לבקשה מכילה פרטים על הארגון שצוין בפורמט JSON.
בדוגמה הבאה מוצגת תגובה עם פרטים על הארגון apigee-example:
{
"name": "apigee-example",
"displayName": "apigee-example-org",
"description": "Apigee Example Org",
"createdAt": "1626237148461",
"lastModifiedAt": "1626237149384",
"properties": {
"property": [
{
"name": "features.hybrid.enabled",
"value": "true"
},
{
"name": "features.mart.connect.enabled",
"value": "true"
}
]
},
"analyticsRegion": "us-west1",
"runtimeType": "HYBRID",
"subscriptionType": "TRIAL",
"projectId": "apigee-example",
"state": "ACTIVE",
"billingType": "EVALUATION",
"expiresAt": "1631421073171",
"addonsConfig": {
"advancedApiOpsConfig": {},
"integrationConfig": {},
"monetizationConfig": {}
}
}הצגת רשימה של ארגונים
כדי לקבל רשימה של כל הארגונים שלחשבון Google Cloud שלכם יש גישה אליהם:
שולחים בקשת GET (ללא גוף) לנקודת הקצה (endpoint) הבאה של API לרשימת ארגונים:
https://apigee.googleapis.com/v1/organizations
לדוגמה:
curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations"
התשובה לבקשה שלכם מכילה מערך של כל הארגונים שמופעל בהם מצב היברידי ושאתם יכולים לגשת אליהם, בפורמט JSON.
בדוגמה הבאה מוצגת תגובה עם ארגון יחיד, apigee-example:
{
"organizations": [
{
"organization": "apigee-example",
"projectIds": [
"apigee-example"
]
},
{
"organization": "apigee-example-2",
"projectIds": [
"apigee-example-2"
]
}
]
}פתרון בעיות ביצירת ארגון
כשיוצרים ארגון באמצעות Create organizations API, יכול להיות שתתקבל תגובת שגיאה. התגובות ייראו כך:
{
"error": {
"code": HTTP_error_code,
"message": "short_error_message",
"status": "high_level_error_type",
"details": [
{
"@type": "specific_error_type",
"detail": "expanded_error_description"
}
]
}
}בדוגמה הבאה מוצגת תגובה לשגיאה נפוצה – מזהה הארגון מכיל תווים לא חוקיים (אסור להשתמש באותיות רישיות במזהי ארגון):
{ "error": { "code": 400, "message": "invalid Organization ID \"MY-ORG\": \"MY-ORG\" is an invalid Organization ID", "status": "INVALID_ARGUMENT", "details": [ { "@type": "", "detail": "[ORIGINAL ERROR] generic::invalid_argument: invalid Organization ID \"MY-ORG\": \"My-ORG\" is an invalid Organization ID [google.rpc.error_details_ext] { message: \"invalid Organization ID \\\"MY-ORG\\\": \\\"MY-ORG\\\" is an invalid Organization ID\" }" } ] } }
במקרה כזה, אפשר לשנות את שם הארגון לאותיות קטנות ולשלוח מחדש את הבקשה.
בטבלה הבאה מפורטות שגיאות שאתם עשויים לקבל ופתרונות אפשריים כשאתם מנסים ליצור ארגון חדש:
| קוד שגיאת HTTP | שגיאת HTTP | תיאור |
|---|---|---|
400 |
Invalid JSON payload received |
המבנה של הנתונים בבקשה מכיל שגיאת תחביר או שהנתיב לנקודת הקצה שגוי. |
400 |
Invalid organization ID |
מזהה הארגון שאתם מבקשים לא יכול להכיל אותיות רישיות או תווים מיוחדים מלבד מקפים. הוא חייב להכיל רק אותיות קטנות, מספרים ו/או מקפים. האורך המקסימלי הוא 32 תווים. |
400 |
Unsupported analytics region |
לא ציינתם את הערך של המאפיין analyticsRegion בגוף הבקשה, או שהערך שציינתם לא תואם לאפשרויות התקינות. |
400 |
Does not have an Apigee entitlement |
פרויקט Google Cloud שיצרתם בשלב 2: יצירת פרויקט ב-Google Cloud עדיין לא הופעל כהיברידי. יכול להיות שיש בעיה בחיוב או שגיאה אחרת שקשורה לחשבון Google Cloud. למידע נוסף, אפשר לפנות לצוות המכירות של Apigee. |
401 |
Request had invalid authentication credentials |
טוקן האימות gcloud לא תקין או שהוא לא עדכני, או שלא צירפתם אותו לבקשה. יוצרים טוקן חדש ושולחים מחדש את הכתובת. |
403 |
Permission denied on resource project project_ID |
יכול להיות ששלחתם בקשה שכללה מזהה פרויקט או נתיב שגויים. |
403 |
Unable to retrieve project information |
הארגון עדיין לא נוצר או הוקצה. אפשר לשלוח בקשה אל Operations API כדי לבדוק את הסטטוס של הפעולה הממושכת, כמו שמתואר בשלב 5. |
409 |
Organization already exists |
ניסיתם ליצור יותר מארגון אחד לפרויקט בענן של Google Cloud. אפשר ליצור רק ארגון אחד לכל פרויקט. |
409 |
Org proposed_org_name already exists |
ניסיתם ליצור ארגון עם אותו מזהה של ארגון שכבר קיים. מזהי הארגון צריכים להיות ייחודיים לכל הלקוחות שמשתמשים בפתרון היברידי. שליחה מחדש עם מזהה ארגון מוצע חדש. לדוגמה, אפשר להוסיף ערך מספרי לסוף המזהה הקודם שניסיתם. |