חיבור ל-SAP Datasphere

אדמינים ב-BigQuery יכולים ליצור חיבור כדי לגשת לנתונים של SAP Datasphere. החיבור הזה מאפשר למנתחי נתונים להריץ שאילתות על נתונים ב-SAP Datasphere.

לפני שמתחילים

  1. מפעילים את BigQuery Connection API.

    להפעלת ה-API

  2. יצירת משתמש במסד נתונים של SAP Datasphere. חשוב לרשום לפניכם את שם המשתמש, הסיסמה, שם המארח והיציאה של BigQuery כדי להתחבר אליו.

  3. כדי להגדיר את הדייר של SAP Datasphere כך שיקבל תנועה מכתובות ה-IP שבחרתם, מבצעים אחת מהפעולות הבאות:

    • מוסיפים את כל טווחי כתובות ה-IP של Google לרשימת ההיתרים Trusted IPs (כתובות IP מהימנות) ב-SAP Datasphere.
    • פותחים את הדייר של SAP Datasphere לחיבורים מכל כתובות ה-IP על ידי הוספת 0.0.0.0/0 לרשימת ההיתרים.
    • מגדירים את החיבור באמצעות קבצים מצורפים לרשת כדי ש-BigQuery יפתח את החיבור מכתובת IP סטטית.

    מידע נוסף על הגדרת הדייר של SAP Datasphere זמין במאמר בנושא הוספת כתובת IP לרשימת ההיתרים של כתובות IP.

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות לחיבור ל-SAP Datasphere, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ BigQuery Connection Admin (roles/bigquery.connectionAdmin) בפרויקט. להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

חיבור של BigQuery ל-SAP Datasphere

אפשר לקשר את BigQuery ל-SAP Datasphere במסוף או בכלי שורת הפקודה של BigQuery. Google Cloud

המסוף

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. בחלונית Explorer, לוחצים על Add data.

    תיבת הדו-שיח הוספת נתונים נפתחת.

  3. בחלונית Filter By, בקטע Data Source Type, בוחרים באפשרות Databases.

    אפשרות אחרת היא להזין SAP HANA בשדה חיפוש מקורות נתונים.

  4. בקטע מקורות נתונים מומלצים, לוחצים על SAP HANA.

  5. לוחצים על כרטיס הפתרון SAP HANA: BigQuery Federation.

  6. בתיבת הדו-שיח External data source:

    • בשדה סוג החיבור, בוחרים באפשרות SAP HANA.
    • בשדה Connection ID (מזהה החיבור), מזינים מזהה חיבור כדי לזהות את החיבור הזה.
    • בקטע Location type (סוג המיקום), מציינים אזור של מערך הנתונים ב-BigQuery שישולב עם הנתונים מ-SAP Datasphere. שאילתות שמשתמשות בחיבור הזה חייבות להיות מופעלות מהאזור הזה.
    • אופציונלי: בשדה Friendly name (שם ידידותי), מזינים שם ידידותי לחיבור, כמו My connection resource. השם הידידותי יכול להיות כל ערך שיעזור לכם לזהות את משאב הקישור אם תצטרכו לשנות אותו בהמשך.
    • אופציונלי: בשדה Description, מזינים תיאור למשאב החיבור הזה.
    • בקטע הצפנה, בוחרים באפשרות Google-managed encryption key או באפשרות מפתח הצפנה בניהול הלקוח (CMEK). השימוש ב-CMEK הוא אופציונלי.
    • בשדה Host:port (מארח:יציאה): מזינים את המארח והיציאה של מופע מסד הנתונים של SAP, כפי שמופיעים בפרטי משתמש מסד הנתונים במסוף האינטרנט של SAP Datasphere, בפורמט HOST:PORT.
    • אופציונלי: בשדה Network attachment (צירוף לרשת), מזינים נתיב אל הצירוף לרשת שמגדיר את תצורת הרשת שמשמשת ליצירת חיבור ל-SAP Datasphere.
    • בקטע שם משתמש: מזינים את שם המשתמש של מסד הנתונים מתוך פרטי משתמש במסד הנתונים במסוף האינטרנט של SAP Datasphere. לדוגמה, MY_SPACE#BIGQUERY.
    • בשדה סיסמה, מזינים את הסיסמה של המשתמש במסד הנתונים.
  7. לוחצים על יצירת קישור.

BQ

מזינים את הפקודה bq mk עם הדגלים הבאים:

  bq mk \
  --connection \
  --location=LOCATION \
  --project_id=PROJECT_ID \
  --connector_configuration '{
    "connector_id": "saphana",
    "endpoint": {
      "host_port": "HOST_PORT"
    },
    "authentication": {
      "username_password": {
        "username": "USERNAME",
        "password": {
          "plaintext": "PASSWORD"
        }
      }
    },
    "network": {
      "private_service_connect": {
        "network_attachment": "NETWORK_ATTACHMENT"
      }
    }
  }' \
  CONNECTION_ID

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

  • LOCATION: מציינים אזור של מערך הנתונים ב-BigQuery שרוצים לשלב עם הנתונים מ-SAP Datasphere. שאילתות שמשתמשות בחיבור הזה חייבות להיות מופעלות מהאזור הזה.
  • PROJECT_ID: מזינים את מזהה הפרויקט ב- Google Cloud .
  • HOST_PORT: מזינים את המארח והיציאה של מופע מסד הנתונים של SAP, כמו שמופיע בפרטי משתמש במסד הנתונים במסוף האינטרנט של SAP Datasphere, בפורמט HOST:PORT.
  • NETWORK_ATTACHMENT (אופציונלי): מזינים את הקובץ המצורף לרשת בפורמט projects/{project}/regions/{region}/networkAttachments/{networkattachment}. באמצעות השדה הזה, אפשר להגדיר את החיבור ל-SAP Datasphere כך ש-BigQuery יפתח את החיבור מכתובת IP סטטית.
  • USERNAME: מזינים את שם המשתמש במסד הנתונים מתוך פרטי משתמש במסד נתונים במסוף האינטרנט של SAP Datasphere. לדוגמה: MY_SPACE#BIGQUERY.
  • PASSWORD: מזינים את הסיסמה של משתמש מסד הנתונים.
  • CONNECTION_ID: מזינים מזהה חיבור כדי לזהות את החיבור הזה.

דגל אופציונלי:

  • --kms_key_name: מפתח הצפנה בניהול הלקוח. אם לא מציינים את ההגדרה הזו, פרטי הכניסה מוגנים באמצעות ברירת המחדל Google-owned and Google-managed encryption key.

שיתוף חיבורים עם משתמשים

אתם יכולים להקצות את התפקידים הבאים כדי לאפשר למשתמשים לשלוח שאילתות לנתונים ולנהל חיבורים:

  • roles/bigquery.connectionUser: מאפשר למשתמשים להשתמש בחיבורים כדי להתחבר למקורות נתונים חיצוניים ולהריץ עליהם שאילתות.

  • roles/bigquery.connectionAdmin: מאפשר למשתמשים לנהל את החיבורים.

במאמר תפקידים והרשאות מוגדרים מראש יש מידע נוסף על תפקידים והרשאות ב-IAM ב-BigQuery.

בוחרים באחת מהאפשרויות הבאות:

המסוף

  1. עוברים לדף BigQuery.

    כניסה ל-BigQuery

    החיבורים מופיעים בפרויקט בקבוצה שנקראת Connections (חיבורים).

  2. בחלונית הימנית, לוחצים על כלי הניתוחים:

    כפתור מודגש לחלונית הסייר.

    אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.

  3. לוחצים על הפרויקט, לוחצים על Connections (חיבורים) ובוחרים חיבור.

  4. בחלונית פרטים, לוחצים על שיתוף כדי לשתף חיבור. לאחר מכן מבצעים את הפעולות הבאות:

    1. בתיבת הדו-שיח Connection permissions, מוסיפים או עורכים חשבונות משתמשים כדי לשתף את החיבור עם חשבונות משתמשים אחרים.

    2. לוחצים על Save.

BQ

אי אפשר לשתף חיבור עם כלי שורת הפקודה של BigQuery. כדי לשתף חיבור, משתמשים במסוף Google Cloud או בשיטה BigQuery Connections API.

API

משתמשים בשיטה projects.locations.connections.setIAM בקטע BigQuery Connections API בארכיטקטורת REST הפניית API ומספקים מופע של משאב policy.

Java

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Java API.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.

import com.google.api.resourcenames.ResourceName;
import com.google.cloud.bigquery.connection.v1.ConnectionName;
import com.google.cloud.bigqueryconnection.v1.ConnectionServiceClient;
import com.google.iam.v1.Binding;
import com.google.iam.v1.Policy;
import com.google.iam.v1.SetIamPolicyRequest;
import java.io.IOException;

// Sample to share connections
public class ShareConnection {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "MY_PROJECT_ID";
    String location = "MY_LOCATION";
    String connectionId = "MY_CONNECTION_ID";
    shareConnection(projectId, location, connectionId);
  }

  static void shareConnection(String projectId, String location, String connectionId)
      throws IOException {
    try (ConnectionServiceClient client = ConnectionServiceClient.create()) {
      ResourceName resource = ConnectionName.of(projectId, location, connectionId);
      Binding binding =
          Binding.newBuilder()
              .addMembers("group:example-analyst-group@google.com")
              .setRole("roles/bigquery.connectionUser")
              .build();
      Policy policy = Policy.newBuilder().addBindings(binding).build();
      SetIamPolicyRequest request =
          SetIamPolicyRequest.newBuilder()
              .setResource(resource.toString())
              .setPolicy(policy)
              .build();
      client.setIamPolicy(request);
      System.out.println("Connection shared successfully");
    }
  }
}

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