שדרוג ספריות לקוח

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

לקוח Bigtable ל-Java

השיטות הנוחות ב-BigtableTableAdminClient וב-BigtableInstanceAdminClient יצאו משימוש.

כדי לשדרג את הקוד, קוראים לשיטות של מאגר אחסון לפרוטוקולים רגיל באמצעות getBaseClient(). כדי לעשות זאת, צריך להחליף אובייקטים מותאמים אישית של wrapper, כמו com.google.cloud.bigtable.admin.v2.models.CreateTableRequest, באובייקטים סטנדרטיים של בקשות מאגר אחסון לפרוטוקולים, כמו com.google.bigtable.admin.v2.CreateTableRequest. האובייקטים האלה מצפים לשמות משאבים שמוגדרים במלואם.

מעדכנים את הקוד כמו בדוגמה הבאה:

  // Existing code
  BigtableTableAdminClient adminClient = BigtableTableAdminClient.create(PROJECT_ID, INSTANCE_ID);
  adminClient.createTable(
      CreateTableRequest.of(TABLE_ID)
          .addFamily("cf1"));

  // New code
  BigtableTableAdminClient adminClient = BigtableTableAdminClient.create(PROJECT_ID, INSTANCE_ID);
  String parent = "projects/" + PROJECT_ID + "/instances/" + INSTANCE_ID;
  com.google.bigtable.admin.v2.CreateTableRequest request =
      com.google.bigtable.admin.v2.CreateTableRequest.newBuilder()
          .setParent(parent)
          .setTableId(TABLE_ID)
          .setTable(com.google.bigtable.admin.v2.Table.newBuilder()
              .putColumnFamilies("cf1", com.google.bigtable.admin.v2.ColumnFamily.getDefaultInstance())
              .build())
          .build();
  adminClient.getBaseClient().createTable(request);

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: המזהה של פרויקט Bigtable
  • INSTANCE_ID: המזהה של מופע Bigtable
  • TABLE_ID: המזהה של הטבלה החדשה

לקוח HBase ל-Java

אם אתם משדרגים מגרסה 1.0 ואילך של HBase client for Java, השינוי היחיד שאתם צריכים לבצע הוא עדכון מספר הגרסה בהגדרה. אין צורך לעדכן את הקוד.

אם אתם משדרגים מלקוחות HBase בגרסה pre-1.0, אתם צריכים לבצע את השלבים הבאים:

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

    • מסירים את ארטיפקטים bigtable-hbase-1.0, bigtable-hbase-1.1 ו-bigtable-hbase-1.2 מהתלות, אם הם קיימים.

    • מסירים את netty-tcnative-boringssl-static מהתלות אלא אם חלק אחר באפליקציה דורש זאת.

    • מוסיפים את אחד מהארטיפקטים הבאים ליחסי התלות, בהתאם לתרחיש השימוש. גרסאות 2.x כוללות לקוח HBase אסינכרוני שגרסאות 1.x לא כוללות.

      • bigtable-hbase-1.x או bigtable-hbase-2.x: לשימוש באפליקציות עצמאיות שבהן אתם שולטים ביחסי התלות.
      • bigtable-hbase-1.x-hadoop או bigtable-hbase-2.x-hadoop: לשימוש בסביבות Hadoop.
      • bigtable-hbase-1.x-shaded או bigtable-hbase-2.x-shaded: לשימוש בסביבות שאינן Hadoop שנדרשות בהן גרסאות קודמות של רכיבים כמו protobuf או Guava.
  2. מעדכנים את הגדרות התצורה לחיבור אל Bigtable.

    • אם הגדרות התצורה בקוד או בקובץ hbase-site.xml כוללות ערך ל-hbase.client.connection.impl, צריך לשנות את הערך ל-com.google.cloud.bigtable.hbase1_x.BigtableConnection.

    • אם אתם משתמשים ישירות במחלקה BigtableConnection, אתם צריכים לעדכן את הקוד כך שישתמש במחלקה com.google.cloud.bigtable.hbase1_x.BigtableConnection במקום זאת.

    • אם משתמשים בקובץ hbase-site.xml כדי להתחבר ל-Bigtable:

      • מוסיפים את המאפיין google.bigtable.instance.id אם הוא לא מופיע. מגדירים את ערך הנכס למזהה המופע.
      • מסירים את המאפיין google.bigtable.cluster.name אם הוא מופיע.
      • מסירים את המאפיין google.bigtable.zone.name אם הוא קיים.
    • אם אתם מתחברים ל-Bigtable באמצעות קריאה ל-BigtableConfiguration.connect(), אתם צריכים לעדכן את הקוד כמו בדוגמה הבאה:

    // Existing code
    BigtableConfiguration.connect(PROJECT_ID, ZONE_ID, CLUSTER_ID);
    
    // New code
    BigtableConfiguration.connect(PROJECT_ID, INSTANCE_ID);
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: המזהה של הפרויקט.
    • ZONE_ID: האזור שבו נמצא האשכול.
    • CLUSTER_ID: המזהה של האשכול.
    • INSTANCE_ID: המזהה של המכונה.
  3. פורסים מחדש את האפליקציה בכל הסביבות, כולל פיתוח מקומי, בדיקה, Staging וייצור.

רשימת הגרסאות של לקוח HBase ל-Java זמינה בהיסטוריית הגרסאות ב-GitHub.

המשך

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

כדי להוריד את ספריית הלקוח, אפשר להיכנס אל מאגר המקורות של הקוד ב-GitHub.

מעדכנים את הקוד כמו בדוגמה הבאה:

  // Existing code
  adminClient, err := bigtable.NewAdminClient(ctx, PROJECT_ID, ZONE, CLUSTER_ID)
  client, err := bigtable.NewClient(ctx, PROJECT_ID, ZONE, CLUSTER_ID)

  // New code
  adminClient, err := bigtable.NewAdminClient(ctx, PROJECT_ID, INSTANCE_ID)
  client, err := bigtable.NewClient(ctx, PROJECT_ID, INSTANCE_ID)

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: המזהה של הפרויקט.
  • ZONE: האזור שבו נמצא האשכול.
  • CLUSTER_ID: המזהה של האשכול שאליו רוצים להתחבר.
  • INSTANCE_ID: המזהה של המופע שאליו רוצים להתחבר.

רשימת הגרסאות של ספריית הלקוח Go זמינה בהיסטוריית הגרסאות ב-GitHub.

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