שדרוג ספריות לקוח
בדף הזה מוסבר איך לשדרג ספריית לקוח של 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, אתם צריכים לבצע את השלבים הבאים:
מעדכנים את יחסי התלות כדי להשתמש בספריית הלקוח החדשה ביותר ומסירים ארטיפקטים שכבר לא צריך:
מסירים את ארטיפקטים
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.
-
מעדכנים את הגדרות התצורה לחיבור אל 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: המזהה של המכונה.
פורסים מחדש את האפליקציה בכל הסביבות, כולל פיתוח מקומי, בדיקה, 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.