ניהול של ממשקי API וספריות של Cloud ב-Cloud Code ל-IntelliJ

אתם יכולים לגשת ל Google Cloud מוצרים ולשירותים מהקוד שלכם באמצעות ממשקי Cloud API. ממשקי Cloud API האלה חושפים ממשק JSON REST פשוט שאפשר להפעיל באמצעות ספריות לקוח.

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

עיון בממשקי Cloud API

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

  1. בוחרים באפשרות כלים > Cloud Code > הוספת ספריות Cloud וניהול של Cloud APIs.
  2. מרחיבים את העץ של APIs Explorer של Google Cloud כדי לראות את כל ממשקי ה-API הזמינים. ב-Explorer, ממשקי ה-API של Cloud מקובצים לפי קטגוריה. אפשר גם לחפש API ספציפי באמצעות סרגל החיפוש של Search APIs.
  3. צילום מסך שבו מוצגת רשימת Cloud APIs בתצוגת העץ של הסייר.
  4. כדי לראות פרטים נוספים על API, כמו הסטטוס שלו, הוראות התקנה ספציפיות לשפה של ספריות הלקוח המתאימות והתיעוד הרלוונטי, לוחצים על ה-API.

הפעלת ממשקי Cloud API

כדי להפעיל במהירות ממשקי Cloud API בפרויקט באמצעות פרטי ה-API, פועלים לפי השלבים הבאים:

  1. בתצוגת הפרטים של Cloud API, בוחרים פרויקט בענן של Google שרוצים להפעיל בו את Cloud API.
  2. לוחצים על הלחצן Enable API (הפעלת ה-API).

    אחרי שה-API יופעל, תופיע הודעה לאישור השינוי.

הוספת ספריות הלקוח של Cloud

כדי להוסיף ספריות לפרויקט ב-IntelliJ, פועלים לפי השלבים הבאים:

לפרויקטים של Java Maven

  1. בוחרים באפשרות כלים > Cloud Code > Cloud APIs.
  2. בתיבת הדו-שיח Manage Google Cloud APIs מוצגות הספריות הנתמכות.

    צילום מסך שבו רואים את תיבת הדו-שיח 'ניהול Cloud APIs'. בתיבת הדו-שיח הזו יש תפריט נפתח לבחירת מודול שאליו רוצים להוסיף את הספריות, מוצגת רשימה של ממשקי API שאפשר להוסיף, ומוצג אזור עבודה שבו מופיע מידע על ה-API.
  3. בוחרים את סוג הספרייה המועדף מבין האפשרויות: ספריית לקוח ב-Google Cloud (מומלץ) או ספריית Java Spring Google Cloud.
  4. בתפריט הנפתח Module (מודול), בוחרים את המודול שאליו רוצים להוסיף את הספרייה.
  5. לוחצים על Add Maven Dependency (הוספת תלות של Maven) כדי להוסיף BOM וספריית לקוח לפרויקט.

לכל שאר הפרויקטים

  1. בוחרים באפשרות כלים > Cloud Code > הוספת ספריות Cloud וניהול של Cloud APIs.
  2. בתיבת הדו-שיח Add Google Cloud Libraries מוצגות הספריות הנתמכות.

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

הגדרת אימות

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

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

פיתוח מקומי

minikube

  1. מוודאים שהגדרתם Application Default Credentials‏ (ADC) על ידי הפעלת הפקודה gcloud auth application-default login. כך minikube יכול למצוא את ה-ADC שלכם כדי לבצע אימות.

minikube

  1. מוודאים שהגדרתם Application Default Credentials‏ (ADC) על ידי הפעלת הפקודה gcloud auth application-default login. הפעולה הזו תאפשר ל-minikube למצוא את ה-ADC שלכם כדי לבצע אימות.
  2. מפעילים את minikube באמצעות minikube start --addons gcp-auth. הפקודה הזו מפעילה את ה-ADC בפודים. מדריך מפורט לאימות minikube ב-Google Cloud זמין במסמכי gcp-auth של minikube.

אשכול Kubernetes מקומי

  1. מוודאים שהגדרתם Application Default Credentials‏ (ADC) על ידי הפעלת הפקודה gcloud auth application-default login.
  2. כדי שספריות הלקוח של Google Cloud יוכלו למצוא את פרטי הכניסה שלכם, צריך לערוך את מניפסטים הפריסה כדי להטמיע את ספריית gcloud המקומית בתרמילי Kubernetes. דוגמה להגדרת pod ב-Kubernetes:
    apiVersion: v1
    kind: Pod
    metadata:
      name: my-app
      labels:
        name: my-app
    spec:
      containers:
      - name: my-app
        image: gcr.io/google-containers/busybox
        ports:
          - containerPort: 8080
        volumeMounts:
          - mountPath: /root/.config/gcloud
            name: gcloud-volume
      volumes:
        - name: gcloud-volume
          hostPath:
            path: /path/to/home/.config/gcloud

Cloud Run

  1. מוודאים שהגדרתם Application Default Credentials‏ (ADC) על ידי הרצת הפקודה gcloud auth application-default login. כך הסביבה המקומית המדומה של Cloud Run יכולה למצוא את ADC כדי לבצע אימות.

פיתוח מרחוק

Google Kubernetes Engine

  1. מגדירים את אשכול GKE ואת האפליקציה באמצעות Workload Identity כדי לאמת את שירותי Google Cloud ב-GKE. כך משייכים את חשבון השירות של Kubernetes לחשבון השירות של Google.
  2. אם שירות Google Cloud שאליו אתם מנסים לגשת דורש תפקידים נוספים, צריך להעניק אותם לחשבון השירות של Google שבו אתם משתמשים כדי לפתח את האפליקציה.
    במאמר הסבר על תפקידים מפורטת רשימה של סוגי תפקידי IAM ותפקידים מוגדרים מראש שאפשר להעניק לישויות. במאמר הענקה, שינוי וביטול גישה למשאבים מוסבר איך נותנים תפקידים.
  3. מגדירים את פריסת Kubernetes כך שתפנה לחשבון השירות של Kubernetes על ידי הגדרת השדה .spec.serviceAccountName בקובץ ה-YAML של פריסת Kubernetes.
    אם אתם עובדים על אפליקציה שנוצרה מתבנית של Cloud Code, הקובץ הזה נמצא בתיקייה kubernetes-manifests.

Cloud Run

  1. כדי ליצור חשבון שירות ייחודי חדש לפריסת אפליקציית Cloud Run, בדף Service Accounts בוחרים את הפרויקט שבו מאוחסן הסוד.

    כניסה לדף Service Accounts

  2. לוחצים על יצירת חשבון שירות.
  3. בתיבת הדו-שיח Create service account, מזינים שם תיאורי לחשבון השירות.
  4. משנים את מזהה חשבון השירות לערך ייחודי וקל לזיהוי, ואז לוחצים על יצירה.
  5. אם שירות Google Cloud שאליו אתם מנסים לגשת דורש תפקידים נוספים, צריך להקצות אותם, ללחוץ על Continue (המשך) ואז על Done (סיום).
  6. כדי להוסיף את חשבון השירות להגדרת הפריסה, עוברים להגדרת ההרצה Cloud Run: Deploy, מרחיבים את הקטע Advanced revision settings ומציינים את חשבון השירות בשדה Service Account.
    הקטע Advanced revision settings (הגדרות מתקדמות של עדכון) הורחב ב-Cloud Run: השדה Deploy (פריסה) והשדה Service Account (חשבון שירות) מולאו בשם חשבון השירות בפורמט service-account-name@project-name.iam.gserviceaccount.com

Cloud Run

  1. מגדירים את אשכול GKE ואת האפליקציה באמצעות Workload Identity כדי לאמת את שירותי Google Cloud ב-GKE. כך משייכים את חשבון השירות של Kubernetes לחשבון השירות של Google.
  2. אם שירות Google Cloud שאליו אתם מנסים לגשת דורש תפקידים נוספים, צריך להעניק אותם לחשבון השירות של Google שבו אתם משתמשים כדי לפתח את האפליקציה.
    במאמר הסבר על תפקידים מפורטים סוגי התפקידים ב-IAM ומופיעה רשימה של תפקידים מוגדרים מראש שאפשר להעניק לישויות.
  3. כדי להוסיף את חשבון השירות של Kubernetes להגדרת הפריסה, צריך: לעבור להגדרת ההרצה Cloud Run: Deploy, להרחיב את הקטע Advanced revision settings (הגדרות מתקדמות של עדכון), ואז לציין את חשבון השירות של Kubernetes בשדה Service Account (חשבון שירות).
    הקטע Advanced revision settings (הגדרות מתקדמות של עדכון) מורחב ב-Cloud Run: השדה Deploy (פריסה) והשדה Service Account (חשבון שירות) מאוכלסים בשם של חשבון השירות ב-Kubernetes

פיתוח מרחוק עם Secret Manager מופעל

אם אתם מפתחים מרחוק, משתמשים בחשבון שירות לצורך אימות והאפליקציה שלכם משתמשת בסודות, תצטרכו לבצע עוד כמה שלבים כדי להקצות לחשבון השירות שלכם ב-Google את התפקיד שנדרש לגישה לסוד מסוים ב-Secret Manager:

  1. פותחים את החלונית Secret Manager ובוחרים את הסוד שרוצים לגשת אליו בקוד.

    ‫Secret Manager ב-Cloud Code מודגש בסרגל הצד השמאלי, והחלונית Secret Manager פתוחה עם שלושה סודות שמופיעים בה ופרטי הגרסה של הסוד test שמופיעים בחלונית התחתונה

  2. עוברים לכרטיסייה Permissions (הרשאות) ולוחצים על edit (עריכה) Edit Permission (עריכת הרשאה) כדי להגדיר את ההרשאות של הסוד. דף ההגדרה של Secret Manager עבור הסוד ייפתח בדפדפן האינטרנט.

    הכרטיסייה Permissions (הרשאות) נבחרה ב-Secret Manager וסמל Edit Permissions (עריכת הרשאות) מודגש

  3. במסוף Google Cloud , לוחצים על Show Info Panel ואז על Add principal.

  4. מקצים לחשבון השירות את התפקיד Secret Manager Secret Accessor.

    לחשבון השירות יש הרשאה לגשת לסוד הזה.

פנייה לתמיכה

כדי לשלוח משוב או לדווח על בעיה ב-IntelliJ IDE, עוברים אל Tools (כלים) > Cloud Code > Help / About (עזרה / מידע) > Submit feedback or report an issue (שליחת משוב או דיווח על בעיה) כדי לדווח על בעיה ב-GitHub.