Cloud SQL에서 동기화

Cloud SQL에서 데이터를 수집하려면 다음 단계를 따라 Cloud SQL 액세스를 설정하고, 데이터 스토어를 만들고, 데이터를 수집합니다.

Cloud SQL 인스턴스의 스테이징 버킷 액세스 설정

Cloud SQL에서 데이터를 수집할 때는 데이터가 먼저 Cloud Storage 버킷에 스테이징됩니다. Cloud SQL 인스턴스에 Cloud Storage 버킷 액세스 권한을 부여하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 SQL 페이지로 이동합니다.

    SQL

  2. 가져올 Cloud SQL 인스턴스를 클릭합니다.

  3. 이메일 주소와 비슷한 인스턴스의 서비스 계정 식별자를 복사합니다(예: p9876-abcd33f@gcp-sa-cloud-sql.iam.gserviceaccount.com).

  4. IAM 및 관리자 페이지로 이동합니다.

    IAM 및 관리자

  5. 액세스 권한 부여를 클릭합니다.

  6. 새 주 구성원에 인스턴스의 서비스 계정 식별자를 입력하고 Cloud Storage > 스토리지 관리자 역할을 선택합니다.

  7. 저장을 클릭합니다.

다음:

다른 프로젝트에서 Cloud SQL 액세스 설정

Gemini Enterprise에 다른 프로젝트에 있는 Cloud SQL 데이터에 대한 액세스 권한을 부여하려면 다음 단계를 따르세요.

  1. 다음 PROJECT_NUMBER 변수를 Gemini Enterprise 프로젝트 번호로 바꾼 다음 코드 블록의 콘텐츠를 복사합니다. Gemini Enterprise 서비스 계정 식별자는 다음과 같습니다.

    service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
    
  2. IAM 및 관리자 페이지로 이동합니다.

    IAM 및 관리자

  3. IAM 및 관리자 페이지에서 Cloud SQL 프로젝트로 전환하고 액세스 권한 부여를 클릭합니다.

  4. 새 주 구성원에 서비스 계정의 식별자를 입력하고 Cloud SQL > Cloud SQL 뷰어 역할을 선택합니다.

  5. 저장을 클릭합니다.

그런 다음 Cloud SQL에서 데이터 가져오기로 이동합니다.

Cloud SQL에서 데이터 가져오기

콘솔

콘솔을 사용하여 Cloud SQL의 데이터를 수집하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Gemini Enterprise 페이지로 이동합니다.

    Gemini Enterprise

  2. 데이터 스토어 페이지로 이동합니다.

  3. 데이터 저장소 만들기를 클릭합니다.

  4. 데이터 소스 선택 페이지에서 Cloud SQL을 선택합니다.

  5. 가져올 데이터의 프로젝트 ID, 인스턴스 ID, 데이터베이스 ID, 테이블 ID를 지정합니다.

  6. 찾아보기를 클릭하고 데이터를 내보낼 중간 Cloud Storage 위치를 선택한 다음 선택을 클릭합니다. 또는 gs:// 필드에 위치를 직접 입력해도 됩니다.

  7. 서버리스 내보내기를 사용 설정할지 선택합니다. 서버리스 내보내기를 사용하면 추가 비용이 발생합니다. 서버리스 내보내기에 관한 자세한 내용은 Cloud SQL 문서의 내보내기가 성능에 미치는 영향 최소화를 참고하세요.

  8. 계속을 클릭합니다.

  9. 데이터 스토어의 리전을 선택합니다.

  10. 데이터 스토어 이름을 입력합니다.

  11. 만들기를 클릭합니다.

  12. 수집 상태를 확인하려면 데이터 스토어 페이지로 이동하여 데이터 스토어 이름을 클릭한 후 데이터 페이지에서 세부정보를 확인합니다. 활동 탭의 상태 열이 진행 중에서 가져오기 완료됨으로 변경되면 수집이 완료된 것입니다.

    데이터 크기에 따라 수집에 몇 분 또는 몇 시간까지 걸릴 수 있습니다.

REST

명령줄을 사용하여 데이터 스토어를 만들고 Cloud SQL에서 데이터를 수집하려면 다음 단계를 따르세요.

  1. 데이터 스토어를 만듭니다.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \
    -d '{
      "displayName": "DISPLAY_NAME",
      "industryVertical": "GENERIC",
      "solutionTypes": ["SOLUTION_TYPE_SEARCH"],
    }'
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트의 ID입니다.
    • DATA_STORE_ID: 데이터 스토어의 ID입니다. ID에는 소문자, 숫자, 밑줄, 하이픈만 포함할 수 있습니다.
    • DISPLAY_NAME: 데이터 스토어의 표시 이름입니다. 이 정보는 Google Cloud 콘솔에 표시될 수 있습니다.
  2. Cloud SQL에서 데이터를 가져옵니다.

      curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \
      -d '{
        "cloudSqlSource": {
          "projectId": "SQL_PROJECT_ID",
          "instanceId": "INSTANCE_ID",
          "databaseId": "DATABASE_ID",
          "tableId": "TABLE_ID",
          "gcsStagingDir": "STAGING_DIRECTORY"
        },
        "reconciliationMode": "RECONCILIATION_MODE",
        "autoGenerateIds": "AUTO_GENERATE_IDS",
        "idField": "ID_FIELD",
      }'
    

    다음을 바꿉니다.

    • PROJECT_ID: Gemini Enterprise 프로젝트의 ID입니다.
    • DATA_STORE_ID: 데이터 스토어의 ID입니다. ID에는 소문자, 숫자, 밑줄, 하이픈만 포함할 수 있습니다.
    • SQL_PROJECT_ID: Cloud SQL 프로젝트의 ID입니다.
    • INSTANCE_ID: Cloud SQL 인스턴스의 ID입니다.
    • DATABASE_ID: Cloud SQL 데이터베이스의 ID입니다.
    • TABLE_ID: Cloud SQL 테이블의 ID입니다.
    • STAGING_DIRECTORY: 선택사항입니다. Cloud Storage 디렉터리입니다(예: gs://<your-gcs-bucket>/directory/import_errors).
    • RECONCILIATION_MODE: 선택사항입니다. 값은 FULLINCREMENTAL입니다. 기본값은 INCREMENTAL입니다. INCREMENTAL을 지정하면 Cloud SQL의 데이터가 데이터 스토어에 점진적으로 새로고침됩니다. 이 경우 새 문서를 추가하고 기존 문서를 동일한 ID의 업데이트된 문서로 대체하는 삽입/업데이트(upsert) 작업이 실행됩니다. FULL을 지정하면 데이터 스토어에서 문서의 전체 재배치가 이루어집니다. 즉, 새 문서와 업데이트된 문서는 데이터 스토어에 추가되고 Cloud SQL에 없는 문서는 데이터 스토어에서 삭제됩니다. FULL 모드는 더 이상 필요하지 않은 문서를 자동으로 삭제하려는 경우에 유용합니다.

다음 단계

  • 데이터 스토어를 앱에 연결하려면 앱을 만들고 검색 앱 만들기의 단계를 따라 데이터 스토어를 선택합니다.

  • 앱과 데이터 스토어를 설정한 후 검색 결과가 표시되는 방식을 미리 보려면 검색 결과 미리보기를 참조하세요.