Bigtable에서 가져오기

Bigtable에서 데이터를 수집하려면 다음 단계를 따라 데이터 스토어를 만들고 API를 사용하여 데이터를 수집합니다.

Bigtable 액세스 설정

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

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

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

    IAM 및 관리자

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

  4. 새 주 구성원에 인스턴스의 서비스 계정 식별자를 입력하고 Bigtable > Bigtable 리더 역할을 선택합니다.

  5. 저장을 클릭합니다.

  6. Gemini Enterprise 프로젝트로 다시 전환합니다.

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

Bigtable에서 데이터 가져오기

REST

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

  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. Bigtable에서 데이터를 가져옵니다.

      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 '{
        "bigtableSource ": {
          "projectId": "BIGTABLE_PROJECT_ID",
          "instanceId": "INSTANCE_ID",
          "tableId": "TABLE_ID",
          "bigtableOptions": {
            "keyFieldName": "KEY_FIELD_NAME",
            "families": {
              "key": "KEY",
              "value": {
                "fieldName": "FIELD_NAME",
                "encoding": "ENCODING",
                "type": "TYPE",
                "columns": [
                  {
                    "qualifier": "QUALIFIER",
                    "fieldName": "FIELD_NAME",
                    "encoding": "COLUMN_ENCODING",
                    "type": "COLUMN_VALUES_TYPE"
                  }
                ]
              }
             }
             ...
          }
        },
        "reconciliationMode": "RECONCILIATION_MODE",
        "autoGenerateIds": "AUTO_GENERATE_IDS",
        "idField": "ID_FIELD",
      }'
    

    다음을 바꿉니다.

    • PROJECT_ID: Gemini Enterprise 프로젝트의 ID입니다.
    • DATA_STORE_ID: 데이터 스토어의 ID입니다. ID에는 소문자, 숫자, 밑줄, 하이픈만 포함할 수 있습니다.
    • BIGTABLE_PROJECT_ID: Bigtable 프로젝트의 ID입니다.
    • INSTANCE_ID: Bigtable 인스턴스의 ID입니다.
    • TABLE_ID: Bigtable 테이블의 ID입니다.
    • KEY_FIELD_NAME: 선택사항이지만 권장됩니다. Gemini Enterprise에 수집한 후 row key 값에 사용할 필드 이름입니다.
    • KEY: 필수 항목입니다. column family 키의 문자열 값입니다.
    • ENCODING: 선택사항입니다. 유형이 STRING이 아닌 경우 값의 인코딩 모드입니다. columns에 해당 열을 나열하고 인코딩을 지정하여 특정 열을 재정의할 수 있습니다.
    • COLUMN_TYPE: 선택사항입니다. 이 열 패밀리의 값 유형입니다.
    • QUALIFIER: 필수 항목입니다. 열의 한정자입니다.
    • FIELD_NAME: 선택사항이지만 권장됩니다. Gemini Enterprise에 수집한 후 이 열에 사용할 필드 이름입니다.
    • COLUMN_ENCODING: 선택사항입니다. 유형이 STRING이 아닌 경우 특정 열의 값의 인코딩 모드입니다.
    • RECONCILIATION_MODE: 선택사항입니다. 값은 FULLINCREMENTAL입니다. 기본값은 INCREMENTAL입니다. INCREMENTAL을 지정하면 Bigtable의 데이터가 데이터 스토어에 점진적으로 새로고침됩니다. 이 경우 새 문서를 추가하고 기존 문서를 동일한 ID의 업데이트된 문서로 대체하는 삽입/업데이트(upsert) 작업이 실행됩니다. FULL을 지정하면 데이터 스토어에서 문서의 전체 재배치가 이루어집니다. 즉, 새 문서와 업데이트된 문서는 데이터 스토어에 추가되고 Bigtable에 없는 문서는 데이터 스토어에서 삭제됩니다. FULL 모드는 더 이상 필요하지 않은 문서를 자동으로 삭제하려는 경우에 유용합니다.
    • AUTO_GENERATE_IDS: 선택사항입니다. 문서 ID를 자동으로 생성할지 지정합니다. true로 설정하면 페이로드의 해시에 따라 문서 ID가 생성됩니다. 생성된 문서 ID는 여러 가져오기에서 일관되지 않을 수 있습니다. 여러 가져오기에서 ID를 자동으로 생성하는 경우 문서 ID의 일관성을 유지하기 위해 reconciliationModeFULL로 설정하는 것이 좋습니다.

      bigquerySource.dataSchemacustom으로 설정된 경우에만 autoGenerateIds를 지정합니다. 그렇지 않으면 INVALID_ARGUMENT 오류가 반환됩니다. autoGenerateIds를 지정하지 않거나 false로 설정한 경우 idField를 지정해야 합니다. 그렇지 않으면 문서를 가져오지 못합니다.

    • ID_FIELD: 선택사항입니다. 문서 ID인 필드를 지정합니다.

다음 단계

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

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