הסרת ניהול API

אם הוספתם ניהול API לאפליקציה שלכם ב- Google Cloud, ואחר כך החלטתם שאתם לא רוצים את התכונות של ניהול ה-API, אתם יכולים להגדיר את Cloud Endpoints Frameworks כך שיפסיק לנהל את ה-API שלכם.

הסרת ניהול ה-API לא תגרום להפסקת ההצגה של ה-API. אם רוצים להפסיק את ההפעלה של ה-API, אפשר להשבית את האפליקציה בדף ההגדרות של App Engine במסוף Google Cloud , או למחוק את הפרויקט Google Cloud . מידע נוסף זמין במאמר השבתה של אפליקציה וסגירה של פרויקט.

כדי להסיר את ניהול ה-API:

  1. מגבים את הקבצים web.xml ו-appengine-web.xml של פרויקט ה-API.

  2. בקובץ web.xml של פרויקט ה-API, מסירים את השורות הבאות:

    • המסנן endpoints-api-configuration.
    • המסנן endpoints-api-controller.
    • מיפוי המסננים endpoints-api-configuration.
    • מיפוי המסננים endpoints-api-controller.

    אחרי שמוחקים את המסננים ואת מיפוי המסננים, קובץ web.xml צריך להיראות בערך כך:

    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
             http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
             version="3.1">
        <!-- Wrap the backend with Endpoints Frameworks v2. -->
        <servlet>
            <servlet-name>EndpointsServlet</servlet-name>
            <servlet-class>com.google.api.server.spi.EndpointsServlet</servlet-class>
            <init-param>
                <param-name>services</param-name>
                <param-value>com.example.skeleton.MyApi</param-value>
            </init-param>
        </servlet>
        <!-- Route API method requests to the backend. -->
        <servlet-mapping>
            <servlet-name>EndpointsServlet</servlet-name>
            <url-pattern>/_ah/api/*</url-pattern>
        </servlet-mapping>
    </web-app>
  3. בקובץ appengine-web.xml, מסירים את השורה שמגדירה את משתנה הסביבה ENDPOINTS_SERVICE_NAME. אם ENDPOINTS_SERVICE_NAME הוא משתנה הסביבה היחיד שהגדרתם, מסירים את כל הקטע env-variables.

  4. מנקים את הפרויקט ואז בונים את ה-API:

    Maven

        mvn clean
        mvn package

    Gradle

        gradle clean
        gradle build
  5. פורסים מחדש את האפליקציה:

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

אחרי שפורסים מחדש את האפליקציה, Cloud Endpoints Frameworks מפסיק לנהל את ה-API.

אימות ההסרה של ניהול ה-API

כדי לוודא ש-Endpoints Frameworks לא מנהל יותר את ה-API:

  1. במסוף Google Cloud , נכנסים לדף Endpoints > Services.

    לדף Endpoints Services

  2. רושמים את מספר הבקשות לאחת מהשיטות ב-API.

  3. לוחצים על הקישור View logs של השיטה.

  4. בקטע Produced API log, כותבים את התאריך והשעה של הרשומה האחרונה ביומן.

  5. שולחים כמה בקשות לשיטה ב-API.

  6. במסוף Google Cloud , נכנסים לדף Endpoints > Services.

    לדף Endpoints Services

    המונה של הבקשות לשיטה לא מתעדכן.

  7. לוחצים על הקישור View logs של השיטה.

    היומן Produced API לא מכיל רשומות ביומן לגבי הבקשות ששלחתם.

הסרת תלות בתצורת build

אף על פי שזה לא חובה, כדאי להסיר תלות בהגדרות של הבנייה.

כדי להסיר תלויות בתצורת build:

  1. מגבים את קובץ pom.xml או את קובץ build.gradle.

  2. מסירים את יחסי התלות הבאים:

    • endpoints-management-control-appengine
    • endpoints-management-control-appengine-all
    • endpoints-framework-auth
  3. מנקים את הפרויקט ואז בונים את ה-API:

    Maven

        mvn clean
        mvn package

    Gradle

        gradle clean
        gradle build
  4. פורסים מחדש את האפליקציה:

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

  5. בודקים את ה-API כדי לוודא שהוא פועל כמצופה.

מחיקת השירות המנוהל

‫Endpoints Frameworks משתמש ב-Service Management של Google כדי לנהל את ה-API שלכם. כשפרסתם את מסמך OpenAPI באמצעות הפקודה gcloud endpoints services deploy, הפקודה השתמשה ב-Service Management כדי ליצור שירות מנוהל עבור ה-API שלכם. אם אתם לא צריכים את הנתונים בדף Endpoints > Services וביומן Produced API בדף Logs Viewer, אתם יכולים למחוק את השירות המנוהל של ה-API, וכך הנתונים יוסרו מהמסוף Google Cloud .

כדי למחוק את השירות המנוהל:

  1. מוודאים של-CLI של gcloud‏ (gcloud) יש הרשאה לגשת לנתונים ולשירותים שלכם ב- Google Cloud:

    gcloud auth login
    
  2. מזינים את הפקודה הבאה כדי להציג את מזהי הפרויקטים של Google Cloudהפרויקטים שלכם:

    gcloud projects list
    
  3. משתמשים במזהה הפרויקט הרלוונטי מהשלב הקודם כדי להגדיר את פרויקט ברירת המחדלGoogle Cloud לפרויקט שבו נמצאת האפליקציה:

    gcloud config set project [YOUR_PROJECT_ID]
    
  4. כדי לקבל את השם של כל השירותים המנוהלים בפרויקט Google Cloud :

    gcloud endpoints services list
    
  5. מוחקים את השירות מניהול השירותים. מחליפים את SERVICE_NAME בשם השירות שרוצים להסיר.

    gcloud endpoints services delete SERVICE_NAME
    

    הפעלת הפקודה gcloud endpoints services delete לא מוחקת באופן מיידי את השירות המנוהל. השירות לניהול שירותים משבית את השירות המנוהל למשך 30 יום, כדי שיהיה לכם זמן לשחזר אותו אם תצטרכו. אחרי 30 יום, כלי ניהול השירותים מוחק את השירות המנוהל באופן סופי.

המאמרים הבאים