בדיקת הסטטוס

בדף הזה נסביר איך משתמשים ב-Service Infrastructure כדי לבדוק את הסטטוס של השירותים המנוהלים, של בעלי השירותים המנוהלים, של צרכני השירות ושל מפתחות ה-API.

כשהבעלים של שירות מנוהל מציע שירות לצרכנים, הוא צריך לבדוק כמה תנאים, למשל:

  • האם צרכן השירות נמחק.
  • האם צרכן השירות הפעיל את השירות.
  • האם מפתח ה-API תקין.

באמצעות השיטה services.check ב-Service Control API אפשר לבדוק את התנאים האלה בקלות. כדאי להפעיל את השיטה הזו באופן קבוע בשירות המנוהל, כדי לוודא שהתנאים מתקיימים. את הפעילות שעוברת בין הבעלים של שירות מנוהל לבין צרכן השירות מייצג אובייקט מסוג Operation. השיטה services.check מבצעת את הבדיקות הבאות על האובייקט:

  • פרויקט השירות המנוהל פעיל ותקין.
  • האם הפרויקט של צרכן השירות פעיל ותקין.
  • האם השירות המנוהל הופעל בפרויקט של צרכן השירות.
  • האם מפתח ה-API תקין.
  • האם השימוש במפתח ה-API עומד בהגבלות שקשורות למפתח, למשל הגבלות על הגורם המפנה ב-IP או ב-HTTP.

לרוב, מפעילים את השיטה services.check מהשרת שבו השירות מוטמע בפועל. מטעמי אבטחה ופרטיות, משתמשים ב-Service Control API בממשק לניהול הזהויות והרשאות הגישה כדי לוודא שלשירות המפעיל יש את ההרשאות המתאימות. למידע נוסף קראו את המאמר בקרת גישה ב-Service Control API.

בדיקת הסטטוס

אחרי שאתם משיקים את השירות המנוהל, אתם יכולים להפעיל את השיטה services.check מהשירות ללא צורך בהגדרות נוספות. לפרטים נוספים עיינו במפרט של השיטה ב-services.check.

אתם יכולים להשתמש בפקודה gcurl כדי להפעיל את השיטה services.check ולהתנסות בה במהירות. מידע על השלבים להגדרה הראשונית מופיע במאמר תחילת השימוש ב-Service Control API.

gcurl -d '{
  "operation": {
    "operationId": "123e4567-e89b-12d3-a456-426655440000",
    "consumerId": "project:endpointsapis-consumer",
    "startTime":"2016-07-31T05:20:00Z",
    "operationName":"google.example.hello.v1.HelloService.GetHello"
  }
}' https://servicecontrol.googleapis.com/v1/services/endpointsapis.appspot.com:check
{
  "operationId": "123e4567-e89b-12d3-a456-426655440000"
}

התשובה שחוזרת משיטת הבדיקה מציינת אם כל הבדיקות עברו בהצלחה או שחלק מהן נכשלו. אם השדה checkErrors חסר, סימן שכל הבדיקות עברו בהצלחה. אחרת, השדה checkErrors יכיל פירוט של הבדיקות שנכשלו.