לעסקים עם הרבה מקורות נתונים מבודדים, יכול להיות קשה לגשת לנתונים ארגוניים בכל הארגון, במיוחד בזמן אמת. התוצאה היא עולם של גישה מוגבלת ואיטית לנתונים, שמונעת מהארגון את היכולת לבצע בדיקה עצמית.
Datastream מספק גישה כמעט בזמן אמת לנתוני שינויים ממגוון מקורות נתונים מקומיים ומבוססי-ענן, כדי ליצור גישה לנתונים ארגוניים. Datastream מספק API מאוחד לצריכת נתונים, שמאפשר לארגון גישה לנתונים העדכניים ביותר שזמינים בכל הארגון, ומפעיל תרחישים משולבים כמעט בזמן אמת.
דוגמה לתרחיש כזה היא העברת נתונים ממסד נתונים של מקור אל שירות אחסון מבוסס-ענן או אל תור הודעות, והפיכת הנתונים האלה לפורמט שניתן לקריאה על ידי אפליקציות ושירותים אחרים שמתקשרים עם שירות האחסון או תור ההודעות הזה.
במדריך הזה תלמדו איך להשתמש ב-Datastream כדי להעביר סכימות, טבלאות ונתונים ממסד נתונים של Oracle כמקור לתיקייה בקטגוריה של Cloud Storage. Cloud Storage הוא שירות אינטרנט לאחסון נתונים ב- Google Cloudולגישה אליהם. השירות משלב בין הביצועים והגמישות של הענן של Google לבין אבטחה מתקדמת ויכולות שיתוף.
כחלק מהעברת המידע הזה לתיקייה בקטגוריה של Cloud Storage ביעד, Datastream מתרגם את המידע הזה ל-Avro. פורמט Avro מוגדר על ידי סכימה שנכתבת ב-JavaScript Object Notation (JSON). התרגום הזה מאפשר לכם לקרוא נתונים ממקורות שונים בצורה אחידה.
מטרות
במדריך הזה תלמדו איך:- מגדירים משתני סביבה. תשתמשו במשתנים האלה כשתיצרו בקשות ל-Datastream כדי ליצור ולנהל גם פרופילים של חיבורים וגם מקור נתונים.
- יצירה וניהול של פרופילי חיבור למסד נתונים של מקור ולקטגוריית יעד ב-Cloud Storage. כשיוצרים פרופילים של חיבורים, נוצרים רשומות שמכילות מידע על מסד הנתונים של המקור ועל קטגוריית היעד של Cloud Storage. הזרם ב-Datastream משתמש במידע בפרופילים של החיבור כדי להעביר נתונים ממסד הנתונים של המקור לתיקייה בדלי של היעד.
- ליצור ולנהל שידור. Datastream משתמש בזרם הזה כדי להעביר נתונים, סכימות וטבלאות ממסד הנתונים של המקור לתיקייה בדלי היעד.
- מוודאים ש-Datastream מעביר את הנתונים והטבלאות שמשויכים לסכימה של מסד הנתונים של Oracle במקור לתיקייה בדלי היעד, ומתרגם את הנתונים האלה לפורמט קובץ Avro.
- חשוב להסיר את המשאבים שיצרתם ב-Datastream כדי שלא יתפסו נפח אחסון במכסת השימוש ולא תחויבו עליהם בעתיד.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
- Cloud Storage
כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- מפעילים את Datastream API.
- מוודאים שחשבון המשתמש שלכם כולל את תפקיד האדמין של Datastream.
- מוודאים שיש לכם מסד נתונים של מקור ש-Datastream יכול לגשת אליו. במדריך הזה, מסד נתונים של Oracle משמש כמקור.
- מגדירים את מסד הנתונים של המקור כך שיאפשר חיבורים נכנסים מכתובות IP ציבוריות של Datastream. במאמר בנושא רשימות של כתובות IP שאפשר לגשת אליהן ואזורים מוסבר איך לגשת למיקומים של כל האזורים של Datastream ולכתובות ה-IP הציבוריות שמשויכות אליהם.
- מוודאים שהגדרתם קטגוריה של Cloud Storage של-Datastream יש גישה אליה באמצעות רשימת כתובות ה-IP המותרות, מנהרת SSH להעברת נתונים או שיטת קישוריות לרשת של שירות VPC Peering.
- מוודאים שיש לכם נתונים, טבלאות וסכימות במסד הנתונים של המקור, ש-Datastream יכול להעביר לתיקייה בקטגוריה של Cloud Storage ביעד.
- מורידים ומתקינים את Cloud Shell. אפליקציית הלקוח הזו מספקת לכם גישה למשאבי הענן (כולל Datastream) דרך שורת הפקודה.
- מתקינים ומגדירים את כלי השירות
jq. הכלי הזה הוא מעבד JSON קל משקל וגמיש של שורת פקודה. המעבד הזה משמש להצגת פקודות מורכבות שלcURLבטקסט קל לקריאה.
הגדרת משתני סביבה
בתהליך הזה מגדירים את המשתנים הבאים:
-
$PROJECT: המשתנה הזה משויך ל Google Cloud פרויקט. כל המשאבים ב-Google Cloud שאתם מקצים ומשתמשים בהם צריכים להיות שייכים לפרויקט. -
$TOKEN: המשתנה הזה משויך לאסימון גישה. טוקן הגישה מספק סשן ש-Cloud Shell משתמש בו כדי לבצע משימות ב-Datastream באמצעות ממשקי REST API.
מפעילים את אפליקציית Cloud Shell.
אחרי שמתבצע אימות של הכניסה לאפליקציה באמצעות חשבון Google, מזינים את הפקודה הבאה:
gcloud auth loginבהנחיה
Do you want to continue (Y/n)?, מזיניםY.פותחים דפדפן אינטרנט ומעתיקים את כתובת ה-URL לדפדפן.
מאמתים את הזהות ב-SDK של Google Cloud באמצעות חשבון Google. קוד יופיע בדף כניסה. הקוד הזה הוא אסימון הגישה שלכם.
מעתיקים את אסימון הגישה, מדביקים אותו בפרמטר
Enter verification code:באפליקציית Cloud Shell ומקישים עלEnter.בהנחיה, מזינים
PROJECT=\"YOUR_PROJECT_NAME\"כדי להגדיר את משתנה הסביבה$PROJECTלפרויקט Google Cloud.בהנחיה, מזינים
gcloud config set project YOUR_PROJECT_NAMEכדי להגדיר את הפרויקט שרוצים לעבוד עליו כפרויקט Google Cloud.שורת הפקודה מתעדכנת כך שתשקף את הפרויקט הפעיל שלכם, והיא תהיה בפורמט הבא:
USERNAME@cloudshell:~ (YOUR_PROJECT_NAME)$בהנחיה, מזינים
TOKEN=$(gcloud auth print-access-token)כדי לאחזר את אסימון הגישה ולאחסן אותו כמשתנה.בהנחיה, מזינים את הפקודות הבאות כדי לוודא שהמשתנים
$PROJECTו-$TOKENמוגדרים בצורה נכונה:echo $PROJECTecho $TOKEN
אחרי שמגדירים את המשתנים, אפשר לשלוח בקשות ל-Datastream כדי ליצור ולנהל פרופילים של חיבורים וגם מקור נתונים.
יצירה וניהול של פרופילי חיבור
בקטע הזה, יוצרים ומנהלים פרופילי חיבור למסד נתונים של Oracle כמקור ולקטגוריית יעד ב-Cloud Storage.
כשיוצרים את פרופילי החיבור האלה, נוצרים רשומות שמכילות מידע על מסד הנתונים של המקור ועל קטגוריה של Cloud Storage ביעד. שירות Datastream משתמש במידע שבפרופילי החיבור כדי להעביר נתונים ממסד הנתונים של המקור לתיקייה בדלי היעד.
יצירה וניהול של פרופילי חיבור כוללים:
- יצירת פרופילי חיבור למסד נתונים של Oracle כמקור ולקטגוריית יעד ב-Cloud Storage
- אחזור מידע על פרופיל חיבור
- שינוי פרופיל קישור
- ביצוע קריאה ל-API של גילוי בפרופיל החיבור של Oracle למקור. הקריאה הזו מאפשרת לכם לבדוק את מסד הנתונים כדי לראות את האובייקטים שמשויכים אליו. האובייקטים האלה כוללים את הסכימות והטבלאות שמכילות את הנתונים של מסד הנתונים. כשמשתמשים ב-Datastream כדי להגדיר מקור נתונים, יכול להיות שלא רוצים לשלוף את כל האובייקטים ממסד הנתונים, אלא רק קבוצת משנה של האובייקטים (למשל, רק טבלאות וסכימות מסוימות של מסד הנתונים). אפשר להשתמש ב-Discover API כדי למצוא (או לגלות) את קבוצת המשנה של אובייקטים במסד הנתונים שרוצים לשלוף.
יצירת פרופילי חיבור
בתהליך הזה יוצרים שני פרופילי חיבור: אחד למסד נתונים של Oracle כמקור, ואחד לקטגוריית יעד ב-Cloud Storage.
- יוצרים פרופיל חיבור למסד נתונים של Oracle כמקור. בשורת הפקודה, מזינים את הפקודה הבאה:
ORACLE="{\"displayName\":\"DISPLAY_NAME\",\"oracle_profile\":{\"hostname\":\"HOSTNAME\",\" username\":\"USERNAME\",\"password\":\"PASSWORD\",\"database_service\":\"DATABASE_SERVICE\",\" port\":"PORT_NUMBER\"},\"no_connectivity\":{}}"
הטבלה הבאה תעזור לכם להבין את ערכי הפרמטרים של מסד הנתונים של Oracle כמקור:
| ערך הפרמטר | החלף ב |
|---|---|
| DISPLAY_NAME | השם המוצג של פרופיל החיבור למסד הנתונים של המקור. |
| HOSTNAME | שם המארח של שרת מסד הנתונים של המקור. |
| USERNAME | שם המשתמש של החשבון במסד הנתונים של המקור (לדוגמה, ROOT). |
| PASSWORD | הסיסמה של החשבון למסד הנתונים של המקור. |
| DATABASE_SERVICE | השירות שמבטיח שמסד הנתונים של המקור מוגן ומפוקח. במסדי נתונים של אורקל, שירות מסד הנתונים הוא בדרך כלל ORCL. |
| PORT_NUMBER | מספר הפורט ששמור למסד הנתונים של המקור. במסד נתונים של Oracle, מספר היציאה הוא בדרך כלל 1521. |
בהנחיה, מזינים את הפקודה
echo $ORACLE | jqכדי לראות את פרופיל החיבור למקור שיצרתם בטקסט קל לקריאה.{ "displayName": "DISPLAY_NAME", "oracle_profile": { "hostname": "HOSTNAME", "username": "USERNAME", "password": "PASSWORD", "database_service": "DATABASE_SERVICE", "port": PORT_NUMBER }, "no_connectivity": {} }
שולחים את פרופיל החיבור ל-Oracle כדי ליצור אותו. בשורת הפקודה, מזינים את הפקודה הבאה:
curl -X POST -d $ORACLE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles? connection_profile_id=SOURCE_CONNECTION_PROFILE_ID הטבלה הבאה תעזור לכם להבין את ערכי הפרמטרים של הפקודה הזו:
ערך הפרמטר החלף ב DATASTREAM_API_VERSION הגרסה הנוכחית של Datastream API (לדוגמה, v1).PROJECT_PATH הנתיב המלא של הפרויקט ב- Google Cloud (לדוגמה, projects/$PROJECT/locations/YOUR_PROJECT_LOCATION).SOURCE_CONNECTION_PROFILE_ID המזהה הייחודי ששמור לפרופיל החיבור הזה (לדוגמה, cp-1). מוודאים ששורות הקוד הבאות מופיעות:
{ "name": "PROJECT_PATH/operations/operation-SOURCE_CONNECTION_PROFILE_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata", "createTime": "DATE_AND_TIME_STAMP", "target": "datastream.googleapis.com/DATASREAM_VERSION/PROJECT_PATH/connectionProfiles/
SOURCE_CONNECTION_PROFILE_ID" , "verb": "create", "requestedCancellation": false, "apiVersion": "DATASTREAM_API_VERSION" }, "done": false }יוצרים פרופיל חיבור לקטגוריית יעד ב-Cloud Storage. בשורת הפקודה, מזינים את הפקודה הבאה:
GOOGLECLOUDSTORAGE="{\"displayName\":\"DISPLAY_NAME\",\"gcs_profile\":{\"bucket_name\":\"BUCKET_NAME\",
\"root_path\":\"/FOLDER_PATH\"},\"no_connectivity\":{}}" הטבלה הבאה תעזור לכם להבין את ערכי הפרמטרים של דלי היעד:
ערך הפרמטר החלף ב DISPLAY_NAME השם המוצג של פרופיל החיבור לקטגוריית היעד. BUCKET_NAME השם של קטגוריית היעד. FOLDER_PATH התיקייה בקטגוריית היעד שאליה Datastream יעביר נתונים ממסד הנתונים של המקור (לדוגמה, /root/path). בהנחיה, מזינים את הפקודה
echo $GOOGLECLOUDSTORAGE | jqכדי לראות את פרופיל החיבור ליעד שיצרתם בטקסט קל לקריאה.{ "displayName": "DISPLAY_NAME", "gcs_profile": { "bucket_name": "BUCKET_NAME", "root_path": "/FOLDER_PATH" }, "no_connectivity": {} }
שולחים את פרופיל החיבור של Cloud Storage כדי ליצור אותו. בשורת הפקודה, מזינים את הפקודה הבאה:
curl -X POST -d $GOOGLECLOUDSTORAGE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles? connection_profile_id=DESTINATION_CONNECTION_PROFILE_ID מוודאים ששורות הקוד הבאות מופיעות:
{ "name": "PROJECT_PATH/operations/operation-DESTINATION_CONNECTION_PROFILE_OPERATION_ID", "metadata": { "@type": "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.
OperationMetadata" , "createTime": "DATE_AND_TIME_STAMP", "target": "datastream.googleapis.com/DATASTREAM_VERSION/PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID" , "verb": "create", "requestedCancellation": false, "apiVersion": "DATASTREAM_API_VERSION" }, "done": false }מאשרים שנוצרו שני פרופילי חיבור. בשורת הפקודה, מזינים את הפקודה הבאה:
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles מוודאים שמתקבלות שתי תוצאות עבור פרופילי החיבור של מקור ושל יעד.
{ "connectionProfiles": [ { "name": "PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID", "createTime": "DATE_AND_TIME_STAMP", "updateTime": "DATE_AND_TIME_STAMP", "displayName": "DISPLAY_NAME", "gcsProfile": { "bucketName": "BUCKET_NAME", "rootPath": "FOLDER_PATH" }, "noConnectivity": {} }, { "name": "PROJECT_PATH/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID", "createTime": "DATE_AND_TIME_STAMP", "updateTime": "DATE_AND_TIME_STAMP", "displayName": "DISPLAY_NAME", "oracleProfile": { "hostname": "HOSTNAME", "port": PORT_NUMBER, "username": "USERNAME", "databaseService": "DATABASE_SERVICE" }, "noConnectivity": {} } ] }
ניהול פרופילי חיבור
במאמר הזה מוסבר איך לנהל את פרופילי החיבור שיצרתם למסד נתונים של Oracle כמקור ולקטגוריית יעד ב-Cloud Storage. למשל:
- אחזור מידע על פרופיל החיבור של יעד Cloud Storage
- שינוי פרופיל החיבור הזה. במדריך הזה, תשנו את התיקייה של קטגוריית היעד ב-Cloud Storage ל-/root/tutorial. הנתונים מועברים ממאגר הנתונים של המקור לתיקייה הזו באמצעות Datastream.
- ביצוע קריאה ל-API של Discover בפרופיל החיבור של מקור Oracle
אחזור מידע על פרופיל החיבור של Cloud Storage ליעד. בשורת הפקודה, מזינים את הפקודה הבאה:
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles/ DESTINATION_CONNECTION_PROFILE_ID מוודאים שמוצג מידע על פרופיל החיבור הזה.
{ "name": "PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID", "createTime": "DATE_AND_TIME_STAMP", "updateTime": "DATE_AND_TIME_STAMP", "displayName": "DISPLAY_NAME", "gcsProfile": { "bucketName": "BUCKET_NAME", "rootPath": "FOLDER_PATH" }, "noConnectivity": {} }
שינוי פרופיל החיבור הזה. כדי לעשות את זה, קודם מגדירים משתנה UPDATE. המשתנה הזה מכיל את הערכים של פרופיל החיבור שרוצים לשנות. במדריך הזה, תשנו את התיקייה של קטגוריית היעד ל-/root/tutorial.
כדי להגדיר את המשתנה, מזינים את הפקודה הבאה בהנחיה:
UPDATE="{\"gcsProfile\":{\"rootPath\":\"/root/tutorial\"}}"
בשורת הפקודה, מזינים את הפקודה הבאה:
curl -X PATCH -d $UPDATE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles/ DESTINATION_CONNECTION_PROFILE_ID?update_mask=gcsProfile.rootPath מוודאים ששורות הקוד הבאות מופיעות:
{ "name": "PROJECT_PATH/operations/operation-DESTINATION_CONNECTION_PROFILE_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata", "createTime": "DATE_AND_TIME_STAMP", "target": "PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "DATASTREAM_API_VERSION" }, "done": false }
מוודאים שפרופיל החיבור השתנה. בשורת הפקודה, מזינים את הפקודה הבאה:
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles/ DESTINATION_CONNECTION_PROFILE_ID מוודאים שהתיקייה של קטגוריית היעד בפרופיל החיבור של Cloud Storage היא עכשיו /root/tutorial.
{ "name": "PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID", "createTime": "DATE_AND_TIME_STAMP", "updateTime": "DATE_AND_TIME_STAMP", "displayName": "DISPLAY_NAME", "gcsProfile": { "bucketName": "BUCKET_NAME", "rootPath": "/root/tutorial" }, "noConnectivity": {} }
משתמשים ב-Datastream discover API כדי לגלות את הסכימות והטבלאות של מסד הנתונים של Oracle. הגישה למסד הנתונים הזה מתאפשרת דרך פרופיל חיבור המקור ב-Datastream.
לגלות את הסכימות של מסד הנתונים של Oracle. בשורת הפקודה, מזינים את הפקודה הבאה:
curl -X POST -d "{\"connection_profile_name\":\"projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID\", \"oracle_rdbms\":{\"oracleSchemas\":[{\"schema\":\"ROOT\"}]}}" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles:discover מוודאים ש-Datastream מאחזר את כל הסכימות של מסד הנתונים.
איחזור הטבלאות של סכימה במסד הנתונים. במדריך הזה תשתמשו ב-Discover API כדי לאחזר את הטבלאות של סכימת ROOT. עם זאת, אתם יכולים לגלות את הטבלאות של כל סכימה במסד הנתונים.
בשורת הפקודה, מזינים את הפקודה הבאה:
curl -X POST -d "{\"connection_profile_name\":\"projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID\", \"oracle_rdbms\":{\"oracleSchemas\":[{\"schema\":\"ROOT\"}]}}" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles:discover - מוודאים ש-Datastream מאחזר את כל הטבלאות של הסכימה שציינתם (במדריך הזה, הסכימה ROOT).
אחרי שיצרתם וניהלתם פרופילים של חיבורים למסד נתונים של Oracle כמקור ולמאגר יעד ב-Cloud Storage, אתם מוכנים ליצור ולנהל זרם ב-Datastream.
יצירה וניהול של שידור
בקטע הזה יוצרים ומנהלים שידור חי. Datastream משתמש בזרם הזה כדי להעביר נתונים, סכימות וטבלאות ממסד הנתונים של המקור לתיקייה בקטגוריה של Cloud Storage ביעד.
יצירה וניהול של שידור כוללים:
- אימות של הזרם כדי לוודא שהוא יפעל בהצלחה ושהוא יעבור את כל בדיקות האימות. הבדיקות האלה כוללות:
- האם המקור מוגדר בצורה נכונה כדי לאפשר ל-Datastream להזרים ממנו נתונים.
- האם אפשר לחבר את הזרם גם למקור וגם ליעד.
- ההגדרה מקצה לקצה של מקור הנתונים.
- יצירת השידור עם הרשימות הבאות:
- רשימת היתרים. ברשימה הזו מצוינות הטבלאות והסכימות במסד הנתונים של המקור ש-Datastream יכול להעביר לתיקייה בקטגוריית היעד ב-Cloud Storage. במדריך הזה, זו התיקייה /root/tutorial.
- רשימת דחייה. ברשימה הזו מפורטות הטבלאות והסכימות במסד הנתונים של המקור, שהמערכת של Datastream מנועה מלהעביר לתיקייה בקטגוריית היעד ב-Cloud Storage.
- אחזור מידע על הזרם
- שינוי השידור
- הפעלת הזרם כדי ש-Datastream יוכל להעביר נתונים, סכימות וטבלאות ממסד הנתונים של המקור לתיקייה בקטגוריית היעד של Cloud Storage.
- שימוש ב-Fetch Errors API כדי לזהות שגיאות שמשויכות לשידור
- השידור מושהה. כשמשהים מקור נתונים, Datastream לא שולף נתונים חדשים ממסד הנתונים של המקור אל דלי היעד.
- המשכת ההפעלה של המקור שהושהה כדי ש-Datastream יוכל להמשיך להעביר נתונים אל דלי היעד.
יצירת מקור נתונים
בתהליך הזה, יוצרים זרם ממסד הנתונים של Oracle במקור לתיקייה בקטגוריה של Cloud Storage ביעד. הסטרימינג שתיצרו יכלול גם רשימת היתרים וגם רשימת דחייה.
מגדירים משתנה SCHEMAS. המשתנה הזה מגדיר את הסכימות שמכילות את הנתונים והטבלאות שרוצים ש-Datastream יאחזר ממסד הנתונים של המקור ויעביר לתיקייה /root/tutorial בקטגוריית היעד של Cloud Storage. במדריך הזה, תגדירו את המשתנה SCHEMAS כך שיהיה משויך לסכימה ROOT.
בשורת הפקודה, מזינים את הפקודה הבאה:
SCHEMAS="{\"oracleSchemas\":[{\"schema\":\"ROOT\"}]}"
בהנחיה, מזינים את הפקודה echo $SCHEMAS | jq כדי לראות את סכימת ROOT שהגדרתם למשתנה הזה בטקסט שקל לקרוא.
יוצרים מקור נתונים. בשורת הפקודה, מזינים את הפקודה הבאה:
STREAM="{\"display_name\":\"DISPLAY_NAME\",\"source_config\":{\"source_connection_profile_name\":\"
PROJECT_PATH/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID" ,\"oracle_source_config\":{\"allowlist\":$SCHEMAS,\"rejectlist\":{}}},\"destination_config\":{\"destination_connection_profile_name\" :\"PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID\",\"gcs_destination_config\": {\"file_rotation_mb\":5,\"file_rotation_interval\":{\"seconds\":15},\"avro_file_format\":{}}, \"backfill_all\":{}}}" בהנחיה, מזינים את הפקודה
echo $STREAM | jqכדי לראות את הזרם שיצרתם בטקסט קל לקריאה.{ "display_name": "DISPLAY_NAME", "source_config": { "source_connection_profile_name": "PROJECT_PATH/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID", "oracle_source_config": { "allowlist": { "oracleSchemas": [ { "schema": "ROOT" } ] }, "rejectlist": {} } }, "destination_config": { "destination_connection_profile_name": "PROJECT_PATH/connectionProfiles/
DESTINATION_CONNECTION_PROFILE_ID" , "gcs_destination_config": { "file_rotation_mb": 5, "file_rotation_interval": { "seconds": 15 }, "avro_file_format": {} } }, "backfill_all": {} }הטבלה הזו תעזור לכם להבין את הפרמטרים הבאים של השידור:
פרמטר תיאור allowlist הסכימות, שמכילות טבלאות ונתונים, שיועברו ממסד הנתונים של המקור לתיקייה בקטגוריית היעד ב-Cloud Storage. במדריך הזה, כל הטבלאות והנתונים מסכימת ROOT (ורק מהסכימה הזו) יועברו לתיקייה /root/tutorial בדלי היעד. rejectlist כל הסכימות, שמכילות טבלאות ונתונים, שלא יועברו לתיקייה של קטגוריית היעד ב-Cloud Storage. במדריך הזה, הערך {} מציין שלא תהיה מניעה להעברת טבלאות ונתונים ממסד הנתונים של המקור אל דלי היעד. file_rotation_mb הגודל (במגה-בייט) של הקבצים שמכילים את הנתונים שמועברים ממסד הנתונים של המקור לתיקייה בקטגוריית היעד ב-Cloud Storage. במדריך הזה, בזמן שליפת הנתונים ממסד הנתונים של המקור, הנתונים נכתבים לקבצים בגודל 5MB. אם יש נתונים שגדולים מהגודל הזה, הם יפוצלו לכמה קבצים של 5MB. file_rotation_interval מספר השניות שיחלפו לפני ש-Datastream יסגור קובץ קיים בתיקייה של קטגוריית היעד ב-Cloud Storage ויפתח קובץ אחר שיכיל נתונים שמועברים ממסד הנתונים של המקור. במדריך הזה, מרווח הזמן בין רוטציות הקבצים מוגדר ל-15 שניות. avro_file_format הפורמט של הקבצים ש-Datastream יעביר ממסד הנתונים של המקור לתיקייה בקטגוריית היעד ב-Cloud Storage. במדריך הזה, פורמט הקובץ הוא Avro.
backfill_all הפרמטר הזה משויך למילוי היסטורי של נתונים חסרים. אם מגדירים את הפרמטר הזה למילון ריק ({}), Datastream יבצע מילוי חוזר:
- נתונים היסטוריים, בנוסף לשינויים שוטפים בנתונים, ממסד הנתונים של המקור אל היעד.
- סכימות וטבלאות, ממקור אל יעד.
כדאי לאמת את הזרם כדי לוודא שהוא יפעל בהצלחה ושהוא יעבור את כל בדיקות האימות. בשורת הפקודה, מזינים את הפקודה הבאה:
curl -X POST -d $STREAM -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
"https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams?stream_id= STREAM_ID&validate_only=true" מוודאים שמופיעה השורה
{}של הקוד. המשמעות היא שהפיד עבר את כל בדיקות האימות ואין שגיאות שמשויכות לפיד.שולחים את הסטרימינג כדי ליצור אותו. בשורת הפקודה, מזינים את הפקודה הבאה:
curl -X POST -d $STREAM -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams?stream_id=STREAM_ID מוודאים ששורות הקוד הבאות מופיעות:
{ "name": "PROJECT_PATH/operations/operation-STREAM_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata", "createTime": "DATE_AND_TIME_STAMP", "target": "PROJECT_PATH/streams/STREAM_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "DATASTREAM_API_VERSION" }, "done": false }
מוודאים שהסטרימינג נוצר. בשורת הפקודה, מזינים את הפקודה הבאה:
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams מוודאים שמתקבלת תוצאה חוזרת עבור הזרם שיצרתם.
{ "streams": [ { "name": "PROJECT_PATH/streams/STREAM_ID", "createTime": "DATE_AND_TIME_STAMP", "updateTime": "DATE_AND_TIME_STAMP", "displayName": "DISPLAY_NAME", "sourceConfig": { "sourceConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION
/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID" , "oracleSourceConfig": { "allowlist": { "oracleSchemas": [ { "schema": "ROOT" } ] }, "rejectlist": {} } }, "destinationConfig": { "destinationConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID" , "gcsDestinationConfig": { "fileRotationMb": 5, "fileRotationInterval": "15s" "avroFileFormat": {} } }, "state": "CREATED", "backfillAll": {} } ] }
ניהול השידור
בתהליך הזה, משתמשים בסטרימינג שיצרתם כדי להעביר נתונים ממסד נתונים של Oracle במקור לתיקייה בקטגוריית יעד ב-Cloud Storage. למשל:
- אחזור מידע על הזרם
- שינוי השידור
- התחלת השידור
- שימוש ב-Fetch Errors API כדי לזהות שגיאות שמשויכות לשידור
- השהיה והמשך של השידור
אחזור מידע על הזרם. בשורת הפקודה, מזינים את הפקודה הבאה:
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID מוודאים שמוצג מידע על הערוץ הזה.
{ "name": "PROJECT_PATH/streams/STREAM_ID", "createTime": "DATE_AND_TIME_STAMP", "updateTime": "DATE_AND_TIME_STAMP", "displayName": "DISPLAY_NAME", "sourceConfig": { "sourceConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION
/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID" , "oracleSourceConfig": { "allowlist": { "oracleSchemas": [ { "schema": "ROOT" } ] }, "rejectlist": {} } }, "destinationConfig": { "destinationConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID" , "gcsDestinationConfig": { "fileRotationMb": 5, "fileRotationInterval": "15s" "avroFileFormat": {} } }, "state": "CREATED", "backfillAll": {} }שינוי השידור הזה. כדי לעשות את זה, קודם מגדירים משתנה UPDATE. המשתנה הזה מכיל את הערכים של הזרם שרוצים לשנות. במדריך הזה, משנים את הגודל (במגה-בייט) של הקבצים שמכילים נתונים שמועברים ממסד הנתונים של המקור לתיקייה בקטגוריית היעד של Cloud Storage (מ-5 מגה-בייט ל-100 מגה-בייט). במהלך אחזור הנתונים ממסד הנתונים של המקור, הנתונים נכתבים בקבצים בגודל 100MB. אם יש נתונים שגודלם חורג מהמגבלה הזו, הם יפוצלו לכמה קבצים בגודל 100 MB.
כדי להגדיר את המשתנה, מזינים את הפקודה הבאה בהנחיה:
UPDATE="{\"destination_config\":{\"gcs_destination_config\":{\"file_rotation_mb\":100}}}"בשורת הפקודה, מזינים את הפקודה הבאה:
curl -X PATCH -d $UPDATE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID/ ?update_mask=destination_config.gcs_destination_config.file_rotation_mb מוודאים ששורות הקוד הבאות מופיעות:
{ "name": "PROJECT_PATH/operations/operation-STREAM_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata", "createTime": "DATE_AND_TIME_STAMP", "target": "PROJECT_PATH/streams/STREAM_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "DATASTREAM_API_VERSION" }, "done": false }
מוודאים שהזרם השתנה. בשורת הפקודה, מזינים את הפקודה הבאה:
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID מוודאים שהערך של הפרמטר fileRotationMb בפרופיל החיבור של Cloud Storage הוא עכשיו
100.{ "name": "PROJECT_PATH/streams/STREAM_ID", "createTime": "DATE_AND_TIME_STAMP", "updateTime": "DATE_AND_TIME_STAMP", "displayName": "DISPLAY_NAME", "sourceConfig": { "sourceConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION
/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID" , "oracleSourceConfig": { "allowlist": { "oracleSchemas": [ { "schema": "ROOT" } ] }, "rejectlist": {} } }, "destinationConfig": { "destinationConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID" , "gcsDestinationConfig": { "fileRotationMb": 100, "fileRotationInterval": "15s" "avroFileFormat": {} } }, "state": "CREATED", "backfillAll": {} }מתחילים את השידור. כדי לעשות את זה:
משנים את המשתנה
UPDATE. בשורת הפקודה, מזינים את הפקודה הבאה:UPDATE="{\"state\":\"RUNNING\"}"לאחר מכן, מזינים את הפקודה הבאה:
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID ?updateMask=state
מוודאים ששורות הקוד הבאות מופיעות.
{ "name": "PROJECT_PATH/operations/operation-STREAM_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata", "createTime": "DATE_AND_TIME_STAMP", "target": "PROJECT_PATH/streams/STREAM_ID", "verb": "start", "requestedCancellation": false, "apiVersion": "DATASTREAM_API_VERSION" }, "done": false }
אחרי כמה דקות, מאחזרים מידע על הסטרימינג כדי לוודא שהוא התחיל:
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID מוודאים שהסטטוס של הזרם השתנה מ
CREATEDלRUNNING.{ "name": "PROJECT_PATH/streams/STREAM_ID", "createTime": "DATE_AND_TIME_STAMP", "updateTime": "DATE_AND_TIME_STAMP", "displayName": "DISPLAY_NAME", "sourceConfig": { "sourceConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION
/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID" , "oracleSourceConfig": { "allowlist": { "oracleSchemas": [ { "schema": "ROOT" } ] }, "rejectlist": {} } }, "destinationConfig": { "destinationConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID" , "gcsDestinationConfig": { "fileRotationMb": 100, "fileRotationInterval": "15s" "avroFileFormat": {} } }, "state": "RUNNING", "backfillAll": {} }שימוש ב-Fetch Errors API כדי לאחזר שגיאות שמשויכות לסטרימינג.
בשורת הפקודה, מזינים את הפקודה הבאה:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/ STREAM_ID:fetchErrors מוודאים ששורות הקוד הבאות מופיעות:
{ "name": "PROJECT_PATH/operations/operation-FETCH_ERRORS_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata", "createTime": "DATE_AND_TIME_STAMP", "target": "PROJECT_PATH/streams/STREAM_ID", "verb": "fetchErrors", "requestedCancellation": false, "apiVersion": "DATASTREAM_API_VERSION" }, "done": false }
בשורת הפקודה, מזינים את הפקודה הבאה:
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/operations/ operation-FETCH_ERRORS_OPERATION_ID מוודאים ששורות הקוד הבאות מופיעות:
{ "name": "PROJECT_PATH/operations/operation-FETCH_ERRORS_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION
.OperationMetadata" , "createTime": "DATE_AND_TIME_STAMP", "endTime": "DATE_AND_TIME_STAMP", "target": "PROJECT_PATH/streams/STREAM_ID", "verb": "fetchErrors", "requestedCancellation": false, "apiVersion": "DATASTREAM_API_VERSION" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.FetchErrorsResponse" } }
משהים את השידור. כדי לעשות את זה:
משנים את המשתנה
UPDATE. בשורת הפקודה, מזינים את הפקודה הבאה:UPDATE="{\"state\":\"PAUSED\"}"לאחר מכן, מזינים את הפקודה הבאה:
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID ?updateMask=state
מוודאים ששורות הקוד הבאות מופיעות.
{ "name": "PROJECT_PATH/operations/operation-STREAM_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata", "createTime": "DATE_AND_TIME_STAMP", "target": "PROJECT_PATH/streams/STREAM_ID", "verb": "start", "requestedCancellation": false, "apiVersion": "DATASTREAM_API_VERSION" }, "done": false }
אפשר לאחזר מידע על השידור כדי לוודא שהוא מושהה.
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID מוודאים שהסטטוס של הזרם השתנה מ
RUNNINGלPAUSED.{ "name": "PROJECT_PATH/streams/STREAM_ID", "createTime": "DATE_AND_TIME_STAMP", "updateTime": "DATE_AND_TIME_STAMP", "displayName": "DISPLAY_NAME", "sourceConfig": { "sourceConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION
/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID" , "oracleSourceConfig": { "allowlist": { "oracleSchemas": [ { "schema": "ROOT" } ] }, "rejectlist": {} } }, "destinationConfig": { "destinationConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID" , "gcsDestinationConfig": { "fileRotationMb": 100, "fileRotationInterval": "15s" "avroFileFormat": {} } }, "state": "PAUSED", "backfillAll": {} }ממשיכים את השידור שהושהה. כדי לעשות את זה:
משנים את המשתנה
UPDATE. בשורת הפקודה, מזינים את הפקודה הבאה:UPDATE="{\"state\":\"RUNNING\"}"לאחר מכן, מזינים את הפקודה הבאה:
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID ?updateMask=state
מוודאים ששורות הקוד הבאות מופיעות.
{ "name": "PROJECT_PATH/operations/operation-STREAM_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata", "createTime": "DATE_AND_TIME_STAMP", "target": "PROJECT_PATH/streams/STREAM_ID", "verb": "start", "requestedCancellation": false, "apiVersion": "DATASTREAM_API_VERSION" }, "done": false }
אחרי כמה שניות, מאחזרים מידע על הסטרימינג כדי לוודא שהוא פועל שוב.
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID מוודאים שהמצב של הזרם השתנה מ
PAUSEDבחזרה לRUNNING.{ "name": "PROJECT_PATH/streams/STREAM_ID", "createTime": "DATE_AND_TIME_STAMP", "updateTime": "DATE_AND_TIME_STAMP", "displayName": "DISPLAY_NAME", "sourceConfig": { "sourceConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION
/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID" , "oracleSourceConfig": { "allowlist": { "oracleSchemas": [ { "schema": "ROOT" } ] }, "rejectlist": {} } }, "destinationConfig": { "destinationConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID" , "gcsDestinationConfig": { "fileRotationMb": 100, "fileRotationInterval": "15s" "avroFileFormat": {} } }, "state": "RUNNING", "backfillAll": {} }
אחרי שיצרתם סטרימינג וניהלתם אותו, וידאתם שאין שגיאות שמשויכות לסטרימינג ושמצב הסטרימינג הוא RUNNING, אתם יכולים לוודא שאפשר להעביר נתונים ממסד הנתונים של המקור לתיקייה בקטגוריית היעד ב-Cloud Storage.
אימות השידור
בתהליך הזה, מאשרים ש-Datastream:
- העברה של הנתונים מכל הטבלאות שמשויכות לסכימה
ROOTשל מסד הנתונים של Oracle במקור אל התיקייה/root/tutorialבקטגוריית היעד ב-Cloud Storage. - מתרגם את הנתונים לפורמט הקובץ Avro.
נכנסים לדף Storage browser ב-Cloud Storage.
לוחצים על הקישור שמכיל את הקטגוריה.
אם הכרטיסייה OBJECTS לא פעילה, לוחצים עליה.
לוחצים על תיקיית הבסיס ואז על תיקיית ההדרכה.
מוודאים שרואים תיקיות שמייצגות טבלאות של סכימת
ROOTשל מסד הנתונים של Oracle.לוחצים על אחת מהתיקיות של הטבלאות ומבצעים פירוט עד שרואים את הנתונים שמשויכים לטבלה.
לוחצים על קובץ שמייצג את הנתונים ואז על הורדה.
פותחים את הקובץ בכלי Avro (לדוגמה, Avro Viewer) כדי לוודא שהתוכן קריא. כך אפשר לוודא ש-Datastream גם תרגם את הנתונים לפורמט הקובץ Avro.
הסרת המשאבים
בסיום המדריך, חשוב למחוק את המשאבים שיצרתם ב-Datastream כדי שלא יתפסו מכסה ולא תחויבו עליהם בעתיד. בסעיפים הבאים מוסבר איך למחוק או להשבית את המשאבים האלו.
מחיקת הפרויקט
הדרך הקלה ביותר לבטל את החיוב היא למחוק את הפרויקט שיצרתם בשביל המדריך הזה.
כדי למחוק את הפרויקט:
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
מחיקת קטגוריית היעד של Cloud Storage
במגירת הניווט הימנית של Cloud Storage, לוחצים על הפריט Browser (דפדפן).
מסמנים את התיבה שמימין לדלי ולוחצים על מחיקה.
בחלון 'האם למחוק את הקטגוריה?', מזינים את שם הקטגוריה בשדה הטקסט ולוחצים על אישור.
מחיקת השידור
מוודאים שאפליקציית Cloud Shell פעילה.
בשורת הפקודה, מזינים את הפקודה הבאה:
curl -X DELETE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID מוודאים ששורות הקוד הבאות מופיעות:
{ "name": "PROJECT_PATH/operations/operation-STREAM_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata", "createTime": "DATE_AND_TIME_STAMP", "target": "PROJECT_PATH/streams/STREAM_ID", "verb": "delete", "requestedCancellation": false, "apiVersion": "DATASTREAM_API_VERSION" }, "done": false }
מוודאים שהשידור נמחק. בשורת הפקודה, מזינים את הפקודה הבאה:
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams מוודאים שמוחזר ערך null
{}. המשמעות היא שאין יותר מקורות נתונים ב-Datastream, ומקור הנתונים שיצרתם נמחק.
מחיקת פרופילי הקישור
מוחקים את פרופיל הקישור למסד הנתונים של Oracle. בשורת הפקודה, מזינים את הפקודה הבאה:
curl -X DELETE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles/ SOURCE_CONNECTION_PROFILE_ID מוודאים ששורות הקוד הבאות מופיעות:
{ "name": "PROJECT_PATH/operations/operation-SOURCE_CONNECTION_PROFILE_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata", "createTime": "DATE_AND_TIME_STAMP", "target": "PROJECT_PATH/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID", "verb": "delete", "requestedCancellation": false, "apiVersion": "DATASTREAM_API_VERSION" }, "done": false }
מוחקים את פרופיל הקישור לקטגוריית היעד ב-Cloud Storage. בשורת הפקודה, מזינים את הפקודה הבאה:
curl -X DELETE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles/ DESTINATION_CONNECTION_PROFILE_ID מוודאים ששורות הקוד הבאות מופיעות:
{ "name": "PROJECT_PATH/operations/operation-DESTINATION_CONNECTION_PROFILE_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata", "createTime": "DATE_AND_TIME_STAMP", "target": "PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID", "verb": "delete", "requestedCancellation": false, "apiVersion": "DATASTREAM_API_VERSION" }, "done": false }
מוודאים ששני פרופילי החיבור נמחקו. בשורת הפקודה, מזינים את הפקודה הבאה:
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles מוודאים שמוחזר ערך null
{}. המשמעות היא שאין יותר פרופילים של חיבורים ב-Datastream, והפרופילים שיצרתם נמחקים.
המאמרים הבאים
- מידע נוסף על Datastream
- כדאי לנסות בעצמכם תכונות אחרות של Google Cloud . מומלץ לעיין במדריכים שלנו.