יצירת חיבורים חוצי-עננים (cross-cloud)
קישורים חוצי-עננים הם קישורים ל-BigQuery שמאפשרים להעביר נתונים מ-Amazon Web Services (AWS), מ-Microsoft Azure ומ-Salesforce Data 360 אל BigQuery כדי לשלוח שאילתות. החיבורים האלה הם חלופה לחיבורים רגילים ל-BigQuery שמשתמשים ב-BigQuery Omni, שבהם BigQuery פורס עובדי מחשוב קלים באזורים מרוחקים כדי שיהיה אפשר לשלוח שאילתות לנתונים בעננים אחרים בלי להעביר נתונים.
לעומסי עבודה יש יתרונות בחיבורים חוצי-עננים בהשוואה לחיבורים רגילים, מהסיבות הבאות:
- עקביות בתכונות. כשאתם מעבירים את הנתונים שלכם מעננים אחרים ל-BigQuery, אתם מקבלים גישה ישירה ליכולות ה-AI של BigQuery, ל-Gemini Enterprise Agent Platform, לתצוגות מהותיות, לפונקציות בהגדרת המשתמש (UDF) ולתכונות אחרות שלא זמינות דרך חיבורים רגילים.
- יעילות מבחינת עלות. עומסי עבודה שמשתמשים בחיבורים חוצי-עננים צורכים התחייבויות והזמנות רגילות של משבצות, וכך אין צורך לנהל קיבולות נפרדות של משאבי מחשוב.
- שמירה חכמה במטמון. בזמן שהנתונים מועברים בין עננים, BigQuery שומר באופן אוטומטי קטעי נתונים במטמון באופן מקומי, כדי למנוע עמלות משמעותיות על תעבורת נתונים יוצאת חוצה-עננים (cross-cloud) בשאילתות הבאות. מידע נוסף זמין במאמר שמירה חכמה במטמון.
אם עומס העבודה שלכם כולל קטלוגים של Apache Iceberg או שאתם צריכים תמיכה בשאילתות במנועים אחרים מלבד BigQuery, כדאי להשתמש במקום זאת ביכולת הגישה לנתונים חוצי-עננים של Lakehouse ללא גבולות.
לפני שמתחילים
להקצות תפקידים של ניהול זהויות והרשאות גישה (IAM) ותפקידים של צד שלישי, שנותנים למשתמשים את ההרשאות הנדרשות כדי לבצע כל משימה במאמר הזה.
התפקידים הנדרשים ב-BigQuery
כדי לקבל את ההרשאות שנדרשות ליצירת חיבור חוצה-עננים, בקשו מהאדמין להקצות לכם את התפקיד אדמין ב-BigQuery (roles/bigquery.admin) ב-IAM בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
תפקידים נדרשים של צד שלישי
כדי לקבל את ההרשאות שדרושות ליצירת חיבור חוצה-עננים, ודאו שיש לכם את התפקידים הבאים של צד שלישי:
- ב-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: מזהה שנותנים למשאב החיבור הזה.
מידע נוסף על מאפייני החיבור של AWS זמין במאמר AwsProperties.
-
כדי לרשום את פרטי חשבון השירות, משתמשים בפקודה
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: מזהה שנותנים למשאב החיבור הזה.
מידע נוסף על מאפייני החיבור של Azure זמין במאמר AzureProperties.
-
כדי לרשום את פרטי חשבון השירות, משתמשים בפקודה
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
|
| מערב בריטניה | 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
|
| מערב יפן | asia-northeast2 |
asia-northeast1asia-northeast3asia-east1
|
| מרכז קוריאה | 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
|