Cloud Endpoints Frameworks מספק תכונות לניהול API שדומות לתכונות שExtensible Service Proxy (ESP) מספק ל-Cloud Endpoints. Endpoints Frameworks כולל API gateway מובנה, שתפקידו ליירט את כל הבקשות ולבצע את הבדיקות הנדרשות, כמו אימות, לפני העברת הבקשה אל ה-API backend. כששרת הקצה העורפי מגיב, Endpoints Frameworks אוסף נתוני טלמטריה ומדווח עליהם. אפשר לראות את המדדים של ה-API בדף Endpoints > Services בGoogle Cloud מסוף.
התכונות לניהול ממשקי API שזמינות ב-Endpoints Frameworks כוללות:
כדי שמערכת Endpoints תנהל את ה-API שלכם, אתם צריכים לפרוס מסמך OpenAPI שמתאר את ה-API באמצעות גרסה 2.0 של מפרט OpenAPI. בדף הזה מוסבר איך ליצור ולפרוס מסמך OpenAPI שמאפשר ל-Endpoints לנהל את ה-API שלכם.
אם לא מוסיפים ניהול API, ה-API עדיין משרת בקשות, אבל ה-API לא מופיע בדף Endpoints > Services במסוףGoogle Cloud , והפונקציונליות שמסופקת על ידי Endpoints, כמו רישום ביומן, מעקב והגדרת מכסות, לא זמינה.
כדי להוסיף ניהול API ל-API שלכם:
מגדירים את קובץ ה-Maven
pom.xmlאו את קובץ ה-Gradle build.gradleכמו שמתואר במאמר הגדרת קובצי ה-build.חשוב לוודא שהגדרתם את מזהה הפרויקט Google Cloud בקובצי ה-build.
Maven
מחפשים את
<endpoints.project.id>ומחליפים אתYOUR_PROJECT_IDבמזהה הפרויקט Google Cloud . לדוגמה:<endpoints.project.id>example-project-12345</endpoints.project.id>Gradle
-
מחפשים את
def projectIdומחליפים אתYOUR_PROJECT_IDבמזהה הפרויקט Google Cloud . לדוגמה:def projectId = 'example-project-12345' -
מוודאים שקובץ
build.gradleמכיל את המשימהreplaceProjectId, שקובעת את מזהה הפרויקט בקבציםappengine-web.xmlו-web.xml.
-
מחפשים את
בקובץ
web.xmlשל פרויקט ה-API, מוסיפים את ההגדרה של מסנן ה-servlet לניהול ה-API:משנים את תצורת ה-build של פרויקט ה-API:
Maven
-
מוסיפים את יחסי התלות של ניהול ה-API:
-
כוללים את הפלאגין שאפשר להשתמש בו כדי ליצור ספריות לקוח ומסמך OpenAPI,
openapi.json:
Gradle
-
מוסיפים את יחסי התלות של ניהול ה-API:
-
מצהירים על התלות החיצונית כדי שהתוסף יאוחזר מ-Maven Central:
-
משתמשים בפלאגין Gradle של Endpoints Frameworks בצד השרת, שיוצר את מסמך OpenAPI:
-
מגדירים את השם של שירות Endpoints:
-
אחרי שמשנים את התלויות, מנקים את הפרויקט ואז בונים את ה-API:
Maven
mvn clean mvn package
Gradle
gradle clean gradle build
יוצרים את מסמך ה-OpenAPI,
openapi.json:Maven
mvn endpoints-framework:openApiDocsGradle
gradle endpointsOpenApiDocsפורסים את מסמך OpenAPI:
gcloud endpoints services deploy openapi.jsonבפעם הראשונה שמפעילים את
openapi.json, נוצר שירות Endpoints חדש בשםYOUR_PROJECT_ID.appspot.com. בסיום מוצלח, מוצגת שורה שדומה לשורה הבאה עם מזהה הגדרות השירות ושם השירות:Service Configuration 2017-02-13r0 uploaded for service example-project-12345.appspot.com
בדוגמה שלמעלה,
2017-02-13r0הוא מזהה הגדרת השירות. המזהה של הגדרות השירות מורכב מחותמת זמן ואחריה מספר הגרסה. אם פורסים אתopenapi.jsonשוב, מספר הגרסה גדל במזהה של הגדרת השירות.אם אתם צריכים להציג שוב את מזהה הגדרת השירות, מריצים את הפקודה הבאה, אבל מחליפים את
YOUR_PROJECT_IDבמזהה הפרויקט של פרויקט Google Cloud .gcloud endpoints configs list --service=YOUR_PROJECT_ID.appspot.com
אתם יכולים ליצור מסמך OpenAPI משלכם ולפרוס אותו, במקום להשתמש במסמך שנוצר. פשוט מחליפים את
openapi.jsonשלמעלה בנתיב למסמך OpenAPI. מידע נוסף על כתיבת מסמך OpenAPI זמין במאמר סקירה כללית על OpenAPI.עורכים את הקובץ
appengine-web.xmlכדי להגדיר את הערך של משתנה סביבה:מחליפים את
${endpoints.project.id}במזהה הפרויקט ב- Google Cloud . לדוגמה:<env-var name="ENDPOINTS_SERVICE_NAME" value="example-project-12345.appspot.com" />פורסים מחדש את האפליקציה.
Maven
mvn appengine:deploy
Gradle
gradle appengineDeploy
כדי לבדוק את ה-API, שולחים אליו כמה בקשות.
כדי לראות את מדדי ה-API, פותחים את הדף Endpoints > Services במסוף Google Cloud של הפרויקט: