בשלב הזה יוצרים ארגון Apigee.
כדי ליצור ארגון חדש ולהקצות לו משתמשים:
-
בשורת הפקודה, מריצים את הפקודה הבאה כדי לקבל את פרטי הכניסה לאימות ב-
gcloud:Linux / MacOS
export 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%
האסימון יוצג כמחרוזת מקודדת.
-
בשלב 1 יצרתם את משתנה הסביבה
PROJECT_ID. מוסיפים את משתני הסביבה הבאים. בוחרים את הכרטיסייה שמתאימה לסוג הארגון שרוצים: ללא מיקום אחסון הנתונים או עם מיקום אחסון הנתונים:אין מיקום אחסון הנתונים
Linux / MacOS
export ORG_NAME=$PROJECT_IDexport ANALYTICS_REGION="ANALYTICS_REGION"export RUNTIMETYPE=HYBRIDWindows
set ORG_NAME=$PROJECT_IDset ANALYTICS_REGION="ANALYTICS_REGION"set RUNTIMETYPE=HYBRIDכאשר:
-
ORG_NAME(חובה): הערך הזה צריך להיות זהה לערך שלPROJECT_ID. -
ANALYTICS_REGION(חובה): האזור הראשי לאחסון נתונים של Analytics. רשימת האזורים שבהם אפשר להשתמש ב-Apigee API Analytics זמינה במאמר מיקומי Apigee. -
RUNTIMETYPE(חובה): צריך להגדיר את הערךHYBRID.
מיקום אחסון הנתונים
Linux / MacOS
export ORG_NAME=$PROJECT_IDexport ANALYTICS_REGION="ANALYTICS_REGION"export RUNTIMETYPE=HYBRIDexport CONTROL_PLANE_LOCATION="YOUR_CONTROL_PLANE_LOCATION"export CONSUMER_DATA_REGION="YOUR_CONSUMER_DATA_REGION"export BILLING_TYPE="SUBSCRIPTION"Windows
set ORG_NAME=$PROJECT_IDset ANALYTICS_REGION="ANALYTICS_REGION"set RUNTIMETYPE=HYBRIDset CONTROL_PLANE_LOCATION="YOUR_CONTROL_PLANE_LOCATION"set CONSUMER_DATA_REGION="YOUR_CONSUMER_DATA_REGION"set BILLING_TYPE="SUBSCRIPTION"כאשר:
-
ORG_NAME: הערך הזה צריך להיות זהה לערך שלPROJECT_ID. -
ANALYTICS_REGION: האזור הראשי לאחסון נתונים לצורכי ניתוח. רשימת האזורים שבהם אפשר להשתמש ב-Apigee API Analytics זמינה במאמר מיקומי Apigee. -
RUNTIMETYPE: הערך שצריך להגדיר הואHYBRID. -
CONTROL_PLANE_LOCATION: המיקום שבו מאוחסן תוכן הליבה של הלקוח, כמו חבילות פרוקסי. רשימה של האזורים האפשריים זמינה במאמר אזורי מישור הבקרה של Apigee API שזמינים לשימוש. -
CONSUMER_DATA_REGION: אזור משנה של אזור מישור הבקרה. חובה לציין גם אתCONTROL_PLANE_LOCATIONוגם אתCONSUMER_DATA_REGION. רשימת האזורים שבהם אפשר לאחסן נתונים של צרכנים זמינה במאמר בנושא מיקומי Apigee. -
BILLING_TYPE: הערך שצריך להגדיר הוא"SUBSCRIPTION". זהו סוג החיוב של הארגון ב-Apigee Hybrid. מידע נוסף זמין במאמר בנושא זכויות גישה למינויים.
לדוגמה:
export ORG_NAME=$PROJECT_IDexport ANALYTICS_REGION="us-west1"export RUNTIMETYPE=HYBRIDexport CONSUMER_DATA_REGION="us-west1"export CONTROL_PLANE_LOCATION="us"export BILLING_TYPE="SUBSCRIPTION" -
- כדי ליצור את הארגון, קוראים ל-Apigee API הבא:
אין מיקום אחסון הנתונים
curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \ -d '{ "name":"'"$ORG_NAME"'", "runtimeType":"'"$RUNTIMETYPE"'", "analyticsRegion":"'"$ANALYTICS_REGION"'" }' \ "https://apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"מיקום אחסון הנתונים
curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \ -d '{ "name":"'"$ORG_NAME"'", "billingType":"'"$BILLING_TYPE"'", "runtimeType":"'"$RUNTIMETYPE"'", "apiConsumerDataLocation":"'"$CONSUMER_DATA_REGION"'" }' \ "https://$CONTROL_PLANE_LOCATION-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
- אפשר לבדוק את הסטטוס של הפעולה הממושכת שהמזהה שלה הוחזר על ידי
בקשת היצירה. כדי לעשות את זה, משתמשים ב-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", "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": {} } } }
מיקום אחסון הנתונים
curl -H "Authorization: Bearer $TOKEN" \ "https://$CONTROL_PLANE_LOCATION-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", "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": "SUBSCRIPTION", "apiConsumerDataLocation": "CONSUMER_DATA_REGION", "expiresAt": "1631421073171", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} } } }
- אפשר להשתמש ב-Apigee organizations API כדי לאחזר מידע על ארגון אחרי שהוא נוצר.
לדוגמה:
אין מיקום אחסון הנתונים
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
התגובה לבקשה מכילה פרטים על הארגון שצוין בפורמט JSON.
{ "name": "apigee-example", "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": "PAID", "projectId": "apigee-example", "state": "ACTIVE", "billingType": "SUBSCRIPTION", "expiresAt": "1631421073171", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} } }מיקום אחסון הנתונים
curl -H "Authorization: Bearer $TOKEN" \ "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME"
התגובה לבקשה מכילה פרטים על הארגון שצוין בפורמט JSON.
{ "name": "apigee-example", "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": "PAID", "projectId": "apigee-example", "state": "ACTIVE", "billingType": "SUBSCRIPTION", "expiresAt": "1631421073171", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} } }
פתרון בעיות ביצירת ארגון
כשיוצרים ארגון באמצעות 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"
}
]
}
}בטבלה הבאה מפורטות שגיאות שאתם עשויים לקבל ופתרונות אפשריים כשאתם מנסים ליצור ארגון חדש:
| קוד שגיאת 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 שלכם עדיין לא הופעל במצב היברידי. יכול להיות שיש בעיה בחיוב או שגיאה אחרת שקשורה לחשבון Google Cloud. למידע נוסף, אפשר לפנות לצוות המכירות של Apigee. |
400 |
'global' violates constraint in constraints/gcp.resourceLocations
on the resource projects/PROJECT_ID, Control Plane Region |
ניסית ליצור ארגון שאולי אין לו זכאות למינוי בתשלום. בארגונים מסוג EVAL ב-Apigee Hybrid אין תמיכה ב שמירת נתונים במיקום גיאוגרפי מסוים. |
400 |
runtimeType HYBRID is not supported for PAYG_V2, use CLOUD instead: invalid argument |
ניסית ליצור ארגון בפרויקט עם זכאות לתשלום לפי שימוש (PAYG). אם יש לכם שאלות לגבי הזכאות של הארגון, אתם יכולים לפנות לנציג של חשבון Google Cloud. |
401 |
Request had invalid authentication credentials |
טוקן האימות gcloud לא תקין או שהוא לא עדכני, או שלא צירפתם אותו לבקשה. יוצרים טוקן חדש ושולחים מחדש את הכתובת. |
403 |
Permission denied on resource project PROJECT_ID |
יכול להיות ששלחתם בקשה שכללה מזהה פרויקט או נתיב שגויים. |
403 |
Unable to retrieve project information |
הארגון עדיין לא נוצר או הוקצה. אפשר לשלוח בקשה אל Operations API כדי לבדוק את הסטטוס של הפעולה הממושכת, כמו שמתואר בשלב 5. |
403 |
Permission denied on resource project organizations/PROJECT_ID/deployedIngressConfig |
ניסית ליצור ארגון אבל אין לו את ההרשאות הנכונות. אם יש לכם שאלות לגבי הזכאות של הארגון, אתם יכולים לפנות לנציג של חשבון Google Cloud. |
409 |
Organization already exists |
ניסיתם ליצור יותר מארגון אחד לפרויקט בענן של Google Cloud. אפשר ליצור רק ארגון אחד לכל פרויקט. |
409 |
Org PROPOSED_ORG_NAME already exists |
ניסיתם ליצור ארגון עם אותו מזהה של ארגון שכבר קיים. מזהי הארגון צריכים להיות ייחודיים לכל הלקוחות שמשתמשים בפתרון היברידי. שליחה מחדש עם מזהה ארגון מוצע חדש. לדוגמה, אפשר להוסיף ערך מספרי לסוף המזהה הקודם שניסיתם. |
השלב הבא
עוברים לשלב 3: יצירת קבוצת סביבות.