יצירת חיבורים בין עננים
חיבורים בין עננים הם חיבורים ל-BigQuery שמאפשרים להביא נתונים מ-Amazon Web Services (AWS), מ-Microsoft Azure ומ-Salesforce Data 360 ל-BigQuery כדי להריץ עליהם שאילתות. החיבורים האלה הם חלופה לחיבורים רגילים ל-BigQuery שמשתמשים ב-BigQuery Omni, שבו BigQuery פורס עובדי מחשוב קלי משקל באזורים מרוחקים כדי להפוך נתונים בעננים אחרים לזמינים לשאילתות בלי להעביר נתונים.
יש יתרונות לחיבורים בין עננים לעומת חיבורים רגילים בעומסי עבודה, מהסיבות הבאות:
- עקביות התכונות. כשמעבירים נתונים מעננים אחרים ל-BigQuery, מקבלים גישה ישירה ליכולות ה-AI של BigQuery, ל-Gemini Enterprise Agent Platform, לתצוגות חומריות, לפונקציות שהוגדרו על ידי המשתמש ולתכונות אחרות שלא זמינות דרך חיבורים רגילים.
- עלות-תועלת. עומסי עבודה שמשתמשים בחיבורים בין עננים צורכים הזמנות ושימוש קבוע במשבצות סטנדרטיות, כך שאין צורך לנהל יכולות נפרדות של מחשוב.
- שמירת נתונים במטמון בצורה חכמה. בזמן העברת הנתונים בין העננים, BigQuery שומר במטמון באופן אוטומטי את המקטעים באופן מקומי, וכך נמנעות עמלות יציאה משמעותיות בין עננים בשאילתות הבאות. מידע נוסף זמין במאמר בנושא שמירה חכמה במטמון.
אם עומס העבודה שלכם כולל קטלוגים של Apache Iceberg או שאתם צריכים תמיכה בשאילתות במנועים אחרים מלבד BigQuery, כדאי להשתמש במקום זאת ביכולת הגישה לנתונים בענן של Borderless Lakehouse.
לפני שמתחילים
מקצים תפקידים בניהול הזהויות והרשאות הגישה (IAM) ותפקידים של צד שלישי שנותנים למשתמשים את ההרשאות הנדרשות לביצוע כל משימה שמופיעה במאמר הזה.
התפקידים הנדרשים ב-BigQuery
כדי לקבל את ההרשאות שנדרשות ליצירת חיבור בין עננים, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM BigQuery Admin (אדמין BigQuery) (roles/bigquery.admin) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
תפקידים נדרשים של צד שלישי
כדי לקבל את ההרשאות שדרושות ליצירת חיבור בין עננים, צריך לוודא שיש לכם את התפקידים הבאים של צד שלישי:
- ב-AWS: תפקיד שמאפשר ליצור מדיניות ותפקידים של IAM בחשבון AWS.
- ב-Azure: תפקיד שמאפשר לכם לנהל רישום של אפליקציות ב-Microsoft Entra ID (Azure AD) ולהקצות תפקידים, כמו Storage Blob Data Reader, בחשבון היעד ב-Azure.
יצירת חיבורים בין עננים ב-AWS
כדי ליצור חיבור בין עננים ב-AWS:
- יוצרים מדיניות AWS IAM ל-BigQuery כמו שיוצרים חיבורים רגילים ל-BigQuery.
- יוצרים תפקיד AWS IAM ל-BigQuery כמו שיוצרים חיבורים רגילים ל-BigQuery.
כדי ליצור משאב חיבור, משתמשים בפקודה
bq mk --connection:bq mk --connection \ --connection_type='AWS' \ --location=LOCATION \ --project_id=PROJECT_ID \ --properties='{"accessRole":{"iamRoleId":"arn:aws:iam::AWS_ACCOUNT_ID:role/ROLE_NAME"}}' \ CONNECTION_ID
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION: מיקום רגיל ב-BigQuery, ולא מיקום ב-BigQuery Omni. לקבלת הדרכה לבחירת אזור, ראו המלצות לבחירת אזור. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
AWS_ACCOUNT_ID: המזהה של משתמש AWS IAM מהשלב הקודם. -
ROLE_NAME: השם של מדיניות התפקידים ב-AWS שבחרתם. -
CONNECTION_ID: מזהה שיוקצה למשאב החיבור הזה.
-
כדי לרשום את פרטי חשבון השירות, משתמשים בפקודה
bq show:bq show --connection \ --location=LOCATION \ PROJECT_ID.LOCATION.CONNECTION_ID
מוסיפים מדיניות אמון לתפקיד ב-AWS באמצעות פרטי חשבון השירות, כמו בחיבורים רגילים ל-BigQuery.
אחרי שיוצרים את החיבור בין העננים ב-AWS, אפשר ליצור טבלאות וערכות נתונים כדי לשלוח שאילתות לנתונים המרוחקים.
דוגמאות ל-AWS
בדוגמה הבאה נוצר טבלה חיצונית כדי לשלוח שאילתות לקובצי Parquet ישירות מקטגוריה של Amazon Simple Storage Service (Amazon S3) עם חיבור בין עננים:
CREATE SCHEMA `my-project.aws_raw_data` OPTIONS ( location = 'us-east4'); CREATE EXTERNAL TABLE `my-project.aws_raw_data.sales_parquet` WITH CONNECTION `us-east4.my-aws-connection` OPTIONS ( format = 'PARQUET', uris = ['s3://my-data-bucket/sales/year=2025/*']);
בדוגמה הבאה, מסד נתונים שלם מאוחד ב-BigQuery באמצעות AWS Glue עם חיבור בין עננים:
CREATE EXTERNAL SCHEMA `my-project.aws_glue_data` WITH CONNECTION `us-east4.my-aws-connection` OPTIONS ( location = 'us-east4', external_source = 'aws-glue://arn:aws:glue:us-east-4:123456789:database/test_database');
מידע נוסף על פדרציה ב-AWS Glue זמין במאמר בנושא יצירה וניהול של מערכי נתונים מאוחדים ב-AWS Glue.
יצירת חיבורים בין עננים ב-Azure
כדי ליצור חיבור בין עננים ב-Azure:
- יוצרים אפליקציה בדייר Azure כמו שיוצרים חיבורים רגילים ל-BigQuery, ורושמים את מזהה האפליקציה (הלקוח) ואת מזהה הספרייה (הדייר).
- מקצים תפקיד לאפליקציית Azure כמו שמקצים לחיבורים רגילים ל-BigQuery.
כדי ליצור משאב חיבור, משתמשים בפקודה
bq mk --connection:bq mk --connection \ --connection_type='Azure' \ --tenant_id=TENANT_ID \ --location=LOCATION \ --federated_azure=true \ --federated_app_client_id=APP_ID \ --project_id=PROJECT_ID \ CONNECTION_ID
מחליפים את מה שכתוב בשדות הבאים:
-
TENANT_ID: מזהה הדייר של ספריית Azure שמכילה את חשבון Azure. -
LOCATION: מיקום רגיל ב-BigQuery, ולא מיקום ב-BigQuery Omni. לקבלת הדרכה לבחירת אזור, ראו המלצות לבחירת אזור. -
APP_ID: מזהה האפליקציה (הלקוח) ב-Azure. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
CONNECTION_ID: מזהה שיוקצה למשאב החיבור הזה.
-
כדי לרשום את פרטי חשבון השירות, משתמשים בפקודה
bq show:bq show --connection \ --location=LOCATION \ PROJECT_ID.LOCATION.CONNECTION_ID
מוסיפים פרטי כניסה מאוחדים באמצעות פרטי חשבון השירות, כמו בחיבורים רגילים ל-BigQuery.
אחרי שיוצרים חיבור בין עננים ב-Azure, אפשר ליצור טבלאות ומערכי נתונים כדי להריץ שאילתות על הנתונים המרוחקים.
דוגמאות ל-Azure
בדוגמה הבאה נוצרת טבלה חיצונית כדי לשלוח שאילתות לקובצי Parquet ישירות ממכולת Azure Blob Storage עם חיבור בין עננים:
CREATE SCHEMA `my-project.azure_raw_data` OPTIONS ( location = 'us-east4'); CREATE EXTERNAL TABLE `my-project.azure_raw_data.sales_parquet` WITH CONNECTION `us-east4.my-azure-connection` OPTIONS ( format = 'PARQUET', uris = ['azure://mystorageaccount.blob.core.windows.net/mycontainer/sales/year=2025/*']);
בדוגמה הבאה נוצרת טבלה חיצונית כדי לשלוח שאילתות לייצוא של קובצי CSV גולמיים ממכולה של Blob Storage עם חיבור בין עננים:
CREATE EXTERNAL TABLE `my-project.azure_raw_data.daily_logs_csv` WITH CONNECTION `us-east4.my-azure-connection` OPTIONS ( format = 'CSV', skip_leading_rows = 1, uris = ['azure://mystorageaccount.blob.core.windows.net/mycontainer/logs/*.csv']);
יצירת חיבורים בין עננים ב-Data 360
כדי ליצור חיבור בין עננים ב-Data 360, פועלים לפי השלבים לקישור מערך נתונים ב-Data 360 ל-BigQuery, אבל במקום ליצור את מערך הנתונים המקושר במיקום BigQuery Omni, יוצרים אותו במיקום BigQuery רגיל. לקבלת הנחיות לבחירת אזור, ראו המלצות לבחירת אזור.
אחרי שתעדכנו את השאילתות כך שישתמשו במערכי הנתונים החדשים, תוכלו למחוק את מערכי הנתונים המקושרים הקודמים ואת התצוגות המגובות בחומר של BigQuery Omni.
המלצות לגבי אזור
כשבוחרים אזור BigQuery רגיל לחיבור בין עננים, כדאי לבחור את האזור שהכי קרוב פיזית לנתונים כדי לקבל את העלות והביצועים האופטימליים.
בטבלה הבאה מפורטים אזורי AWS והאזורים התואמים הכי טוב ב-BigQuery:
| אזור AWS | האזור הכי קרוב ב-BigQuery | אזורים אחרים ב-BigQuery שקרובים לאזור הזה |
|---|---|---|
us-east-1 |
us-east4 |
us-east1us-east5us-central1
|
us-east-2 |
us-east5 |
us-east4us-east1us-central1
|
us-west-1 |
us-west2 |
us-west4us-west1us-west3
|
us-west-2 |
us-west1 |
us-west3us-west4us-west2
|
ca-central-1 |
northamerica-northeast1 |
northamerica-northeast2us-east4us-east5
|
sa-east-1 |
southamerica-east1 |
southamerica-west1us-east1us-south1
|
eu-west-1 |
europe-west1 |
europe-west2europe-west9europe-west4
|
eu-west-2 |
europe-west2 |
europe-west1europe-west9europe-west4
|
eu-west-3 |
europe-west9 |
europe-west1europe-west2europe-west3
|
eu-central-1 |
europe-west3 |
europe-west4europe-west1europe-west6
|
eu-central-2 |
europe-west6 |
europe-west8europe-west12europe-west3
|
eu-north-1 |
europe-north1 |
europe-west4europe-central2europe-west1
|
eu-south-1 |
europe-west8 |
europe-west12europe-west6europe-west3
|
eu-south-2 |
europe-southwest1 |
europe-west9europe-west1europe-west8
|
me-central-1 |
me-central1 |
me-central2me-west1asia-south1
|
me-south-1 |
me-central2 |
me-central1me-west1asia-south1
|
af-south-1 |
europe-southwest1 |
me-central2me-west1europe-west1
|
ap-east-1 |
asia-east2 |
asia-east1asia-southeast1asia-northeast1
|
ap-northeast-1 |
asia-northeast1 |
asia-northeast2asia-northeast3asia-east1
|
ap-northeast-2 |
asia-northeast3 |
asia-northeast2asia-northeast1asia-east1
|
ap-northeast-3 |
asia-northeast2 |
asia-northeast1asia-northeast3asia-east1
|
ap-south-1 |
asia-south1 |
asia-south2me-central1asia-southeast1
|
ap-south-2 |
asia-south2 |
asia-south1asia-southeast1me-central1
|
ap-southeast-1 |
asia-southeast1 |
asia-southeast2asia-east1asia-south1
|
ap-southeast-2 |
australia-southeast1 |
australia-southeast2asia-southeast2asia-southeast1
|
ap-southeast-3 |
asia-southeast2 |
asia-southeast1australia-southeast1asia-east1
|
בטבלה הבאה מפורטים אזורים ב-Azure והאזורים המתאימים ביותר ב-BigQuery:
| אזור Azure | האזור הכי קרוב ב-BigQuery | אזורים אחרים ב-BigQuery שקרובים לאזור הזה |
|---|---|---|
| מזרח ארה"ב | us-east4 |
us-east1us-east5us-central1
|
| מזרח ארה"ב 2 | us-east4 |
us-east1us-east5us-south1
|
| מערב ארה"ב | us-west1 |
us-west2us-west3us-west4
|
| מערב ארה"ב 2 | us-west1 |
us-west4us-west3us-west2
|
| מערב ארה"ב 3 | us-west4 |
us-west2us-west3us-west1
|
| מרכז ארה"ב | us-central1 |
us-east5us-east4us-east1
|
| צפון מרכז ארה"ב | us-east5 |
us-central1us-east4us-east1
|
| דרום מרכז ארה"ב | us-south1 |
us-east5us-central1us-east1
|
| מרכז מערב ארה"ב | us-west3 |
us-central1us-west4us-west2
|
| קנדה המרכזית | northamerica-northeast2 |
northamerica-northeast1us-east5us-east4
|
| מזרח קנדה | northamerica-northeast1 |
northamerica-northeast2us-east4us-east5
|
| מערב אירופה | europe-west4 |
europe-west1europe-west3europe-west9
|
| צפון אירופה | europe-west1 |
europe-west2europe-west9europe-west4
|
| מרכז צרפת | europe-west9 |
europe-west1europe-west2europe-west3
|
| דרום צרפת | europe-west9 |
europe-southwest1europe-west8europe-west1
|
| גרמניה מרכז מערב | europe-west3 |
europe-west4europe-west1europe-west6
|
| גרמניה צפון | europe-west3 |
europe-west4europe-central2europe-west2
|
| שווייץ צפון | europe-west6 |
europe-west8europe-west12europe-west3
|
| שווייץ מערב | europe-west6 |
europe-west9europe-west8europe-west3
|
| בריטניה דרום | europe-west2 |
europe-west1europe-west9europe-west4
|
| UK West | europe-west2 |
europe-west1europe-west9europe-west4
|
| נורווגיה מזרח | europe-north1 |
europe-west4europe-central2europe-west1
|
| נורווגיה מערב | europe-north1 |
europe-west4europe-central2europe-west1
|
| שוודיה מרכז | europe-north1 |
europe-west4europe-central2europe-west1
|
| מזרח אסיה | asia-east2 |
asia-east1asia-southeast1asia-northeast1
|
| דרום-מזרח אסיה | asia-southeast1 |
asia-southeast2asia-east1asia-south1
|
| יפן מזרח | asia-northeast1 |
asia-northeast2asia-northeast3asia-east1
|
| Japan West | asia-northeast2 |
asia-northeast1asia-northeast3asia-east1
|
| Korea Central | asia-northeast3 |
asia-northeast2asia-northeast1asia-east1
|
| מזרח אוסטרליה | australia-southeast1 |
australia-southeast2asia-southeast2asia-southeast1
|
| אוסטרליה דרום-מזרח | australia-southeast2 |
australia-southeast1asia-southeast1asia-east1
|
| מרכז אוסטרליה | australia-southeast1 |
australia-southeast2asia-southeast2asia-southeast1
|
| מערב הודו | asia-south1 |
asia-south2me-central1asia-southeast1
|
| מרכז הודו | asia-south1 |
asia-south2me-central1asia-southeast1
|
| דרום הודו | asia-south1 |
asia-south2asia-southeast1me-central1
|