זמן הריצה של Java

הפונקציה של Cloud Run פועלת בסביבה שמורכבת מגרסת מערכת הפעלה עם חבילות של תוספים, תמיכה בשפה וספריית Java Functions Framework שתומכת בפונקציה ומפעילה אותה. הסביבה הזו מזוהה לפי גרסת השפה, והיא נקראת מזהה זמן הריצה.

הכנת הפונקציה

אפשר להכין פונקציה ישירות ממסוף Google Cloud או לכתוב אותה במחשב המקומי ולהעלות אותה. כדי להכין את המחשב המקומי לפיתוח ב-Java, אפשר לעיין במאמר הגדרת סביבת פיתוח ב-Java.

זמני ריצה וקובצי אימג' בסיסיים של Java שנתמכים

זמן ריצה המזהה של סביבת זמן הריצה מקבצים תמונת הבסיס בזמן הריצה
Java 25 java25
  • ‫google-24 (ברירת מחדל)
  • google-24-full
  • google-24/java25
  • google-24-full/java25
  • Java 21 java21
  • ‫google-22 (ברירת מחדל)
  • google-22-full
  • google-22/java21
  • google-22-full/java21
  • Java 17 java17
  • ‫google-22 (ברירת מחדל)
  • google-22-full
  • google-22/java17
  • google-22-full/java17
  • Java 11 java11 google-18-full google-18-full/java11

    בחירת זמן הריצה

    במהלך הפריסה, אפשר לבחור אחת מסביבות זמן הריצה הנתמכות של Java עבור הפונקציה.

    אפשר לבחור גרסת זמן ריצה באמצעות מסוף Google Cloud או ה-CLI של gcloud. לוחצים על הכרטיסייה עם ההוראות לשימוש בכלי הרצוי:

    gcloud

    מציינים את תמונת הבסיס של Java לפונקציה באמצעות הדגל --base-image, במהלך פריסת הפונקציה. לדוגמה:

    gcloud run deploy FUNCTION \
        --source . \
        --function FUNCTION_ENTRYPOINT \
        --base-image java25
    

    מחליפים את:

    • FUNCTION בשם הפונקציה שאתם פורסים. אפשר להשמיט את הפרמטר הזה לגמרי, אבל אם תשמיטו אותו, תתבקשו לציין את השם.

    • FUNCTION_ENTRYPOINT עם נקודת הכניסה לפונקציה בקוד המקור. זה הקוד ש-Cloud Run מריץ כשהפונקציה פועלת. הערך של הדגל הזה צריך להיות שם של פונקציה או שם מלא של מחלקה שקיימים בקוד המקור.

    הוראות מפורטות לפריסת פונקציה באמצעות ה-CLI של gcloud מופיעות במאמר פריסת פונקציות ב-Cloud Run.

    המסוף

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

    כדי לבחור סביבת ריצה במסוף Google Cloud כשיוצרים פונקציה, פועלים לפי השלבים הבאים:

    1. במסוף Google Cloud , נכנסים לדף Cloud Run:

      כניסה ל-Cloud Run

    2. לוחצים על כתיבת פונקציה.

    3. ברשימה Runtime, בוחרים גרסת זמן ריצה של Java.

    4. לוחצים על Create ומחכים ש-Cloud Run ייצור את השירות באמצעות עדכון placeholder.

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

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

    מבנה קוד המקור

    כדי שפונקציות Cloud Run יוכלו למצוא את ההגדרה של הפונקציה, קוד המקור צריך להיות במבנה מסוים. מידע נוסף זמין במאמר בנושא כתיבה של פונקציות Cloud Run.

    ציון יחסי תלות

    אפשר לציין יחסי תלות לפונקציה באמצעות Maven או Gradle. מידע נוסף זמין במאמר בנושא ציון תלויות ב-Java.

    משתני סביבה

    זמן הריצה של Java מגדיר באופן אוטומטי משתני סביבה מסוימים שהפונקציה יכולה להשתמש בהם לפי הצורך. מידע נוסף זמין במאמר הגדרת משתני סביבה.

    מזהה ביצוע

    בפונקציות Java שמשתמשות בגרסה 1.4.0 ואילך של functions-framework, אפשר להשתמש במחלקת הרישום java.util.logging.Logger כדי להוסיף מזהה ביצוע ייחודי לפלט של היומן. שימוש ב-stdout או ב-stderr (לדוגמה, System.println()) לא מוסיף את מזהה ההפעלה.

    חשוב לדעת:

    • אם יצרתם את הפונקציה באמצעות Cloud Functions v2 API (לדוגמה, באמצעות gcloud functions,‏ API בארכיטקטורת REST או Terraform), מזהה ההרצה הזה יתווסף באופן אוטומטי.

    • אם יצרתם את הפונקציה באמצעות Cloud Run Admin API (לדוגמה, באמצעות console,‏ gcloud run,‏ API בארכיטקטורת REST או Terraform), אתם צריכים להגדיר את משתנה הסביבה LOG_EXECUTION_ID לערך true כדי להשתמש בתכונה הזו. Google Cloud