gRPC היא מסגרת RPC אוניברסלית בקוד פתוח עם ביצועים גבוהים שפותחה על ידי Google. אפשר להשתמש בה כדי להגדיר את השירותים באמצעות Protocol Buffers. אפשר להשתמש ב-gRPC כדי ליצור אינטראקציה עם Cloud Storage. פרוטוקול gRPC משתמש בקישוריות ישירה בין מכונות של Compute Engine לבין קטגוריות של Cloud Storage, בלי לעבור דרך ממשקי הקצה של Google (GFE).
אפשר להתחבר ל-Cloud Storage באמצעות gRPC דרך הלקוחות הנתמכים הבאים:
Cloud Storage connector on Managed Service for Apache Spark.
ספריות הלקוח של Cloud Storage עבור C++, Go ו-Java. הוראות להפעלת gRPC בספריות הלקוח האלה מופיעות במאמר הפעלת gRPC בספריית לקוח.
Cloud Storage FUSE. אפשר להשתמש ב-Cloud Storage FUSE כלקוח על ידי ציון
grpcבשדהclient-protocolבאמצעות קובץ הגדרות של Cloud Storage FUSE או האפשרות--client-protocolבאמצעות Cloud Storage FUSE CLI. כדי להשתמש ב-gRPC עם Cloud Storage FUSE, מומלץ להשתמש בגרסאות Cloud Storage FUSE 2.10.0 ואילך.
הפעלת gRPC בספריית לקוח
C++
לפני שמתחילים
ודאו שהגרסאות הבאות מותקנות:
gRPC בגרסה 1.65.1 ואילך
ספריית הלקוח C++ בגרסה v2.30.0 ואילך
C++ מגרסה 14 ואילך
הוראות להתקנה מופיעות במאמר הגדרת סביבת פיתוח בשפת C++.
חשוב לוודא שלכל מכונה ב-Compute Engine מצורף חשבון שירות, גם אם אין לחשבון השירות הרשאות. חשבון השירות הזה משמש לייצוג של מופע Compute Engine בתהליך לחיצת היד של אבטחת שכבת התעבורה של אפליקציה (ALTS), והוא נדרש לקישוריות ישירה.
הגדרת ספריית הלקוח C++
יצירת לקוח gRPC באמצעות
gcs::MakeGrpcClient():namespace gcs = google::cloud::storage; void App() { auto client = gcs::MakeGrpcClient(); // application code }ספריית הלקוח של C++ משתמשת אוטומטית בקישוריות ישירה כשהיא מזהה שהאפליקציה פועלת ב- Google Cloud.
כדי להגדיר את ספריית הלקוח ב-C++ לשימוש ב-gRPC, צריך להפעיל את לקוח gRPC של Cloud Storage כדי לעדכן את ההגדרה של מערכת build עבור CMake או Bazel.
CMake
מפעילים את הפלאגין של לקוח gRPC של Cloud Storage בזמן ההידור.
cmake -DGOOGLE_CLOUD_CPP_ENABLE=storage_grpc [other options here]בבסיס הקוד, בפקודה
target_link_libraries()מחליפים אתgoogle-cloud-cpp::storageב-google-cloud-cpp::storage_grpc.לדוגמה, התוכנית למתחילים של gRPC משתמשת בקוד הבא:
add_executable(quickstart_grpc quickstart_grpc.cc) target_link_libraries(quickstart_grpc google-cloud-cpp::storage_grpc)
Bazel
החלפת התלויות מ-
@google_cloud_cpp//:storageל-@google_cloud_cpp//:storage_grpc.לדוגמה, התוכנית למתחילים של gRPC משתמשת בקוד הבא:
cc_binary( name = "quickstart", srcs = [ "quickstart.cc", ], deps = [ "@com_github_googleapis_google_cloud_cpp//:storage_grpc", ], )
Java
לפני שמתחילים
ודאו שהגרסאות הבאות מותקנות:
ספריות לקוח Java:
com.google.cloud:google-cloud-storage:2.43.1או מאוחר יותר.com.google.cloud:libraries-bom:26.48או מאוחר יותר.
Java 8 ואילך
הוראות התקנה מופיעות במאמר הגדרת סביבת פיתוח בשפת Java.
חשוב לוודא שלכל מכונה ב-Compute Engine מצורף חשבון שירות, גם אם אין לחשבון השירות הרשאות. חשבון השירות הזה משמש לייצוג של מופע Compute Engine בתהליך לחיצת היד של אבטחת שכבת התעבורה של אפליקציה (ALTS), והוא נדרש לקישוריות ישירה.
עדכון הפרויקט כדי להשתמש ב-BOM
כדי לוודא שבפרויקטים שלכם יש גרסאות תואמות של ספריות לקוח של Google Cloud , אתם יכולים להשתמש בגרסאות שמצוינות במפרט החומרים (BOM) של ספריותGoogle Cloud . כדי לעדכן את הפרויקט כך שישתמש ב-BOM, אפשר להשתמש באחת מהשיטות הבאות:
אחסון בענן עצמאי
אם אתם משתמשים בספריית הלקוח של Cloud Storage באופן עצמאי (בלי ספריות אחרות שלGoogle Cloud ), אתם צריכים להשתמש ב-BOM שספציפי לספריית הלקוח של Cloud Storage.
Maven
מייבאים את ה-BOM בקטע dependencyManagement של קובץ pom.xml.
בדוגמה הבאה אפשר לראות איך מייבאים את ה-BOM וכוללים את ארטיפקט google-cloud-storage.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-storage-bom</artifactId>
<version>2.43.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-storage</artifactId>
</dependency>
</dependencies>
Gradle
מוסיפים תלות בפלטפורמה ב-com.google.cloud:google-cloud-storage-bom:
implementation platform('com.google.cloud:google-cloud-storage-bom:2.43.1')
implementation 'com.google.cloud:google-cloud-storage'
Cloud Storage עם ספריות Google Cloud אחרות
אם אתם משתמשים בספריית הלקוח של Cloud Storage יחד עם ספריות אחרות, אתם צריכים להשתמש ב-BOM של ספריות הלקוח. Google Cloud Google Cloud
Maven
מייבאים את ה-BOM בקטע dependencyManagement של קובץ pom.xml.
בדוגמה הבאה אפשר לראות איך מייבאים את ה-BOM וכוללים את ארטיפקט libraries-bom.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>libraries-bom</artifactId>
<version>26.48.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-storage</artifactId>
</dependency>
</dependencies>
Gradle
מוסיפים תלות בפלטפורמה ב-com.google.cloud:libraries-bom:
implementation platform('com.google.cloud:libraries-bom:26.48.0')
implementation 'com.google.cloud:google-cloud-storage'
יצירת לקוח gRPC
בדוגמה הבאה נעשה שימוש בבונה שמבוסס על gRPC. לקוח gRPC Java משתמש באופן אוטומטי בקישוריות ישירה כשהוא מזהה שהאפליקציה פועלת ב- Google Cloud.