데이터 제품 만들기

이 문서는 Knowledge Catalog (이전 명칭: Dataplex Universal Catalog)에서 데이터 제품을 만들고 구성하려는 데이터 제품 소유자를 대상으로 합니다. 이러한 리소스를 정의할 때는 ID가 Knowledge Catalog 리소스 이름 지정 가이드라인을 준수해야 합니다.

데이터 제품의 아키텍처 및 주요 개념에 대한 자세한 내용은 데이터 제품 정보를 참고하세요.

시작하기 전에

데이터 제품을 만들기 전에 다음 기본 요건을 완료하세요.

Gemini 사용 설정

데이터 애셋에서 Gemini를 구성하는 것은 선택사항이지만 첫 번째 데이터 제품을 만들기 전에 구성하는 것이 좋습니다.

기본적으로 데이터 제품을 만들려면 애셋의 비즈니스 설명, 기술 정의, 온보딩 문서를 수동으로 입력해야 합니다. Gemini 통합을 사용 설정하면 Knowledge Catalog에서 AI 어시스턴스를 활용하여 스키마와 데이터 스캔 결과를 자동으로 분석하여 다음을 생성합니다.

  • 비즈니스 문서: 데이터 제품 및 개별 데이터 애셋에 관한 문서 템플릿과 명확한 설명을 생성합니다.
  • 인사이트 및 샘플 쿼리: 애셋의 스키마 레이아웃을 기반으로 바로 사용할 수 있는 샘플 쿼리를 구성하여 데이터 소비자가 승인 즉시 제품을 쿼리할 수 있습니다.

Gemini를 사용 설정하지 않으려면 이 섹션을 건너뛰어도 됩니다. 하지만 생성 중에 모든 애셋 메타데이터와 쿼리 템플릿을 수동으로 제공해야 합니다.

BigQuery에서 Gemini를 사용 설정하는 방법에 대한 자세한 내용은 BigQuery의 Gemini 설정을 참고하세요.

API 사용 설정

Dataplex, BigQuery API를 사용 설정합니다.

API 사용 설정에 필요한 역할

API를 사용 설정하려면 serviceusage.services.enable 권한이 필요합니다. 프로젝트를 만든 경우 소유자 역할 (roles/owner)을 통해 이 권한이 이미 있을 수 있습니다. 그렇지 않으면 서비스 사용량 관리자 역할 (roles/serviceusage.serviceUsageAdmin)을 통해 이 권한을 얻을 수 있습니다. 역할을 부여하는 방법 알아보기

API 사용 설정

데이터 애셋 만들기

데이터 애셋(예: BigQuery 데이터 세트, 테이블, 뷰)이 생성되고 채워져 있는지 확인합니다.

데이터 애셋 만들기에 대한 자세한 내용은 다음 문서를 참고하세요.

ID 구성

데이터 제품에서 구성할 Google 그룹스 또는 서비스 계정을 식별하거나 만듭니다.

필요한 역할

이 섹션에서는 다음 기본 섹션에 필요한 최소 IAM 역할을 설명합니다.

  • 데이터 제품 소유자: 데이터 제품 및 연결된 애셋을 만들고, 구성하고, 관리하는 사용자

  • 데이터 제품 소비자: 게시된 데이터 제품을 검색하고, 보고, 액세스를 요청하는 사용자

데이터 제품 소유자에게 필요한 역할

데이터 제품을 만들고 관리하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이러한 사전 정의된 역할에는 데이터 제품을 만들고 관리하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

데이터 제품을 만들고 관리하려면 다음 권한이 필요합니다.

  • 데이터 제품을 만듭니다. dataplex.dataProducts.create
  • 프로젝트의 데이터 제품을 나열합니다. dataplex.dataProducts.list
  • 데이터 제품 가져오기 또는 보기: dataplex.dataProducts.get
  • 기존 데이터 제품을 수정합니다. dataplex.dataProducts.update
  • 데이터 제품 삭제: dataplex.dataProducts.delete
  • 데이터 제품 액세스 요청을 승인합니다. dataplex.dataProducts.approve
  • Knowledge Catalog를 사용하여 데이터 제품을 검색합니다.
    • dataplex.dataProducts.get
    • dataplex.projects.search
  • 데이터 제품 액세스 요청을 만듭니다. dataplex.dataProducts.get
  • 데이터 애셋을 만듭니다. dataplex.dataAssets.create
  • 데이터 제품 내의 데이터 애셋을 나열합니다. dataplex.dataAssets.list
  • 데이터 애셋 가져오기: dataplex.dataAssets.get
  • 기존 데이터 애셋을 수정합니다. dataplex.dataAssets.update
  • 데이터 애셋 삭제: dataplex.dataAssets.delete
  • 데이터 스캔 만들기: dataplex.datascans.create
  • 모든 데이터 스캔을 나열합니다. dataplex.datascans.list
  • 데이터 스캔 가져오기: dataplex.datascans.get
  • 데이터 스캔을 실행합니다. dataplex.datascans.run
  • overview 시스템 관점 유형 수정: dataplex.entryGroups.useOverviewAspect
  • refresh cadence 시스템 관점 유형 수정: dataplex.entryGroups.useRefreshCadenceAspect
  • queries 시스템 관점 유형 수정: dataplex.entryGroups.useQueriesAspect

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

데이터 제품 소비자에게 필요한 역할

데이터 제품 소비자가 데이터 제품을 검색하고, 보고, 액세스를 요청할 수 있도록 데이터 제품 소유자는 데이터 제품이 검색 가능하도록 만들어야 합니다. 이렇게 하려면 데이터 제품 소비자에게 데이터 제품에 대한 다음 IAM 역할을 부여하세요.

  • 데이터 제품 검색 및 액세스 권한 요청: Dataplex 데이터 제품 소비자 (dataplex.dataProductsConsumer) 및 Dataplex 카탈로그 뷰어 (roles/dataplex.catalogViewer)
  • 데이터 제품 정의 및 메타데이터를 볼 수 있는 읽기 전용 액세스 권한: Dataplex 데이터 제품 뷰어(dataplex.dataProductsViewer)

데이터 제품 만들기 및 구성

데이터 제품을 만드는 데는 다음과 같은 대략적인 작업이 필요합니다.

  1. 데이터 제품 만들기

    이 필수 초기 단계에서는 고유한 데이터 제품 이름, 설명, 데이터 제품이 생성된 리전, 연락처 세부정보와 같은 핵심 세부정보를 정의해야 합니다.

  2. 선택사항: 애셋 추가

    이 단계에서는 데이터 제품에 포함할 애셋을 선택합니다. 핵심 제약 조건은 애셋이 데이터 제품 자체와 동일한 리전에 있어야 한다는 것입니다. 한 번에 최대 10개의 애셋을 추가할 수 있으며 데이터 제품당 총 50개의 애셋을 추가할 수 있습니다.

    지원되는 애셋 목록은 지원되는 애셋을 참고하세요.

  3. 선택사항: 액세스 그룹 및 애셋 권한 구성

    이 선택적 단계에서는 액세스 그룹을 만들어 액세스 제어를 간소화합니다. 이러한 액세스 그룹은 기본 Google 그룹 및 서비스 계정의 사용자 친화적인 별칭 (예: Analyst 또는 Reader) 역할을 합니다. 그런 다음 특정 IAM 역할을 선택하고 특정 애셋의 액세스 그룹에 매핑하여 권한을 할당합니다.

  4. 선택사항: 계약 및 관점 세부정보 추가

    이 단계에서는 메타데이터 프레임워크를 연결하여 거버넌스와 데이터 검색 가능성을 개선합니다. 계약을 추가하여 데이터 새로고침 빈도를 공식적으로 전달하고 새로고침 빈도, 타이밍, 분산 기준과 같은 파라미터를 지정할 수 있습니다. 맞춤 관점을 연결하여 데이터 제품에 대한 추가 비즈니스 또는 기술 메타데이터를 제공할 수도 있습니다.

  5. 선택사항: 세부정보 추가

    이 마지막 단계에서는 소비자가 승인 즉시 데이터 제품과 상호작용할 수 있도록 사용자 온보딩 가이드, 비즈니스 정의, 샘플 쿼리와 같은 서식 있는 텍스트 문서를 추가합니다.

데이터 제품을 만들고 구성하려면 다음 섹션의 단계를 완료하세요.

데이터 제품 만들기

콘솔

  1. Google Cloud 콘솔에서 Knowledge Catalog 데이터 제품 페이지로 이동합니다.

    데이터 제품으로 이동

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

  3. 데이터 제품 만들기 창에 다음 세부정보를 입력합니다.

    • 데이터 제품 이름: 데이터 제품의 고유한 이름을 입력합니다.
    • 데이터 제품 ID: 자동으로 생성되는 고유 식별자입니다. 이 입력란을 수정할 수 있습니다.
    • 프로젝트 ID: 데이터 제품이 생성된 프로젝트의 고유 식별자입니다. 프로젝트를 찾아 선택합니다.
    • 리전: 데이터 제품이 생성되는 리전 또는 멀티 리전을 선택합니다.
    • 데이터 제품 아이콘: 데이터 제품을 시각적으로 식별할 아이콘을 찾아 선택합니다. 이는 선택사항입니다.
    • 설명: 데이터 제품에 대한 간단한 설명을 입력합니다.
    • 연락처: 거버넌스 및 승인 워크플로의 담당자 정보를 제공합니다.

      • 데이터 제품 소유자의 이메일 주소: 데이터 제품 소유자의 이메일 주소를 입력합니다.
      • 데이터 제품 승인 담당자의 이메일 주소: 액세스 요청 또는 수정에 서명할 지정된 승인 담당자의 이메일 주소를 입력합니다.
    • 라벨: 리소스를 정리하기 위해 키-값 라벨을 추가합니다. 이는 선택사항입니다.

  4. 데이터 제품 만들기를 클릭합니다.

Terraform

데이터 제품을 만들려면 google_dataplex_data_productIAM 리소스를 사용합니다.

resource "google_dataplex_data_product" "default" {
  project         = "PROJECT_ID"
  location        = "LOCATION"
  data_product_id = "DATA_PRODUCT_ID"
  display_name    = "DISPLAY_NAME"
  description     = "DESCRIPTION"
  owner_emails    = ["EMAIL_IDs"]

  # Optional: Configures designated approvers for access requests
  access_approval_config {
    approver_emails = ["APPROVER_EMAIL_IDs"]
  }

  # Optional: Base64-encoded icon (Max 3.0MiB)
  icon = "ICON_BASE64_STRING"
}

resource "google_dataplex_data_product_iam_member" "consumer_binding" {
  project         = "PROJECT_ID"
  location        = "LOCATION"
  data_product_id = "DATA_PRODUCT_ID"
  role            = "roles/dataplex.dataProductsConsumer"
  member          = "MEMBER"
}

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
  • LOCATION: 데이터 제품을 만들 리전입니다.
  • DATA_PRODUCT_ID: 데이터 제품의 고유 ID입니다.
  • DISPLAY_NAME: 데이터 제품의 사용자 친화적인 이름입니다.
  • DESCRIPTION: 데이터 제품에 대한 간단한 설명입니다.
  • EMAIL_IDs: 데이터 제품 소유자의 쉼표로 구분된 이메일 주소입니다(예: ["user1@example.com", "user2@example.com"]).
  • APPROVER_EMAIL_IDs: 이 데이터 제품의 액세스 요청 또는 수정에 서명할 책임이 있는 지정된 승인자의 쉼표로 구분된 이메일 주소입니다.
  • ICON_BASE64_STRING: 데이터 제품을 나타내는 원시 base64로 인코딩된 이미지 데이터입니다. 최대 크기는 3.0MiB입니다. 데이터 URL 스키마 접두사는 포함하지 않습니다.
  • MEMBER: 소비자 역할을 받는 사용자, 서비스 계정 또는 그룹입니다 (예: group:all-analysts@example.com).

C#

C#

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용C# 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog C# API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

using Google.Api.Gax.ResourceNames;
using Google.Cloud.Dataplex.V1;
using Google.LongRunning;

public sealed partial class GeneratedDataProductServiceClientSnippets
{
    /// <summary>Snippet for CreateDataProduct</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void CreateDataProductRequestObject()
    {
        // Create client
        DataProductServiceClient dataProductServiceClient = DataProductServiceClient.Create();
        // Initialize request argument(s)
        CreateDataProductRequest request = new CreateDataProductRequest
        {
            ParentAsLocationName = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]"),
            DataProductId = "",
            DataProduct = new DataProduct(),
            ValidateOnly = false,
        };
        // Make the request
        Operation<DataProduct, OperationMetadata> response = dataProductServiceClient.CreateDataProduct(request);

        // Poll until the returned long-running operation is complete
        Operation<DataProduct, OperationMetadata> completedResponse = response.PollUntilCompleted();
        // Retrieve the operation result
        DataProduct result = completedResponse.Result;

        // Or get the name of the operation
        string operationName = response.Name;
        // This name can be stored, then the long-running operation retrieved later by name
        Operation<DataProduct, OperationMetadata> retrievedResponse = dataProductServiceClient.PollOnceCreateDataProduct(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            DataProduct retrievedResult = retrievedResponse.Result;
        }
    }
}

Go

Go

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용Go 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog Go API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewDataProductClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.CreateDataProductRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#CreateDataProductRequest.
	}
	op, err := c.CreateDataProduct(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

자바

Java

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용Java 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog Java API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

import com.google.cloud.dataplex.v1.CreateDataProductRequest;
import com.google.cloud.dataplex.v1.DataProduct;
import com.google.cloud.dataplex.v1.DataProductServiceClient;
import com.google.cloud.dataplex.v1.LocationName;

public class SyncCreateDataProduct {

  public static void main(String[] args) throws Exception {
    syncCreateDataProduct();
  }

  public static void syncCreateDataProduct() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (DataProductServiceClient dataProductServiceClient = DataProductServiceClient.create()) {
      CreateDataProductRequest request =
          CreateDataProductRequest.newBuilder()
              .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
              .setDataProductId("dataProductId1437828576")
              .setDataProduct(DataProduct.newBuilder().build())
              .setValidateOnly(true)
              .build();
      DataProduct response = dataProductServiceClient.createDataProductAsync(request).get();
    }
  }
}

Node.js

Node.js

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용Node.js 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog Node.js API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

/**
 * This snippet has been automatically generated and should be regarded as a code template only.
 * It will require modifications to work.
 * It may require correct/in-range values for request initialization.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The parent resource where this data product will be created.
 *  Format: projects/{project_id_or_number}/locations/{location_id}
 */
// const parent = 'abc123'
/**
 *  Optional. The ID of the data product to create.
 *  The ID must conform to RFC-1034 and contain only lower-case letters (a-z),
 *  numbers (0-9), or hyphens, with the first character a letter, the last a
 *  letter or a number, and a 63 character maximum. Characters outside of
 *  ASCII are not permitted.
 *  Valid format regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`
 *  If not provided, a system generated ID will be used.
 */
// const dataProductId = 'abc123'
/**
 *  Required. The data product to create.
 */
// const dataProduct = {}
/**
 *  Optional. Validates the request without actually creating the data product.
 *  Default: false.
 */
// const validateOnly = true

// Imports the Dataplex library
const {DataProductServiceClient} = require('@google-cloud/dataplex').v1;

// Instantiates a client
const dataplexClient = new DataProductServiceClient();

async function callCreateDataProduct() {
  // Construct request
  const request = {
    parent,
    dataProduct,
  };

  // Run request
  const [operation] = await dataplexClient.createDataProduct(request);
  const [response] = await operation.promise();
  console.log(response);
}

callCreateDataProduct();

Python

Python

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용Python 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog Python API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_create_data_product():
    # Create a client
    client = dataplex_v1.DataProductServiceClient()

    # Initialize request argument(s)
    data_product = dataplex_v1.DataProduct()
    data_product.display_name = "display_name_value"
    data_product.owner_emails = ["owner_emails_value1", "owner_emails_value2"]

    request = dataplex_v1.CreateDataProductRequest(
        parent="parent_value",
        data_product=data_product,
    )

    # Make the request
    operation = client.create_data_product(request=request)

    print("Waiting for operation to complete...")

    response = operation.result()

    # Handle the response
    print(response)

REST

데이터 제품을 만들려면 dataProducts.create 메서드를 사용합니다.

예를 들어 다음 POST 요청을 보냅니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"display_name": "DISPLAY_NAME", "owner_emails": ["EMAIL_IDs"], "access_approval_config": { "approver_emails": ["APPROVER_EMAIL_IDs"]} }' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts?data_product_id=DATA_PRODUCT_ID

다음을 바꿉니다.

  • DISPLAY_NAME: 데이터 제품의 사용자 친화적인 이름
  • EMAIL_IDs: 데이터 제품 소유자의 쉼표로 구분된 이메일 주소
  • APPROVER_EMAIL_IDs: 액세스 요청 또는 수정에 서명할 책임이 있는 지정된 승인자의 쉼표로 구분된 이메일 주소입니다.
  • PROJECT_ID: Google Cloud프로젝트 ID
  • LOCATION: 데이터 제품을 만들려는 리전
  • DATA_PRODUCT_ID: 데이터 제품의 고유 ID

선택사항: 애셋 추가

BigQuery 테이블, 뷰, 데이터 세트, 모델과 같은 다양한 데이터 애셋을 데이터 제품에 추가할 수 있습니다. 지원되는 애셋 목록은 지원되는 애셋을 참고하세요.

콘솔

  1. 애셋 추가 창에서 +추가를 클릭합니다.

  2. 데이터 제품에 추가할 애셋을 검색하고 선택합니다. 선택한 애셋은 데이터 제품과 동일한 리전에 있어야 합니다.

    필요한 권한이 있는 경우 애셋을 클릭하여 애셋의 메타데이터를 볼 수 있습니다.

  3. 검색 결과를 미세 조정하려면 필터를 사용합니다.

  4. 애셋을 선택한 후 추가를 클릭합니다.

  5. 계속을 클릭합니다.

Terraform

데이터 제품에 데이터 애셋을 추가하려면 google_dataplex_data_product_data_asset 리소스를 사용합니다.

resource "google_dataplex_data_product_data_asset" "example_asset" {
project         = "PROJECT_ID"
location        = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
data_asset_id   = "DATA_ASSET_ID"
resource        = "RESOURCE_NAME"
}

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID
  • LOCATION: 데이터 제품이 있는 리전
  • DATA_PRODUCT_ID: 데이터 제품의 ID
  • DATA_ASSET_ID: 데이터 제품 내 이 데이터 애셋의 고유 ID
  • RESOURCE_NAME: 데이터 애셋의 전체 리소스 이름입니다 (예: //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID).

C#

C#

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용C# 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog C# API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

using Google.Cloud.Dataplex.V1;
using Google.LongRunning;

public sealed partial class GeneratedDataProductServiceClientSnippets
{
    /// <summary>Snippet for CreateDataAsset</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void CreateDataAssetRequestObject()
    {
        // Create client
        DataProductServiceClient dataProductServiceClient = DataProductServiceClient.Create();
        // Initialize request argument(s)
        CreateDataAssetRequest request = new CreateDataAssetRequest
        {
            ParentAsDataProductName = DataProductName.FromProjectLocationDataProduct("[PROJECT]", "[LOCATION]", "[DATA_PRODUCT]"),
            DataAssetId = "",
            DataAsset = new DataAsset(),
            ValidateOnly = false,
        };
        // Make the request
        Operation<DataAsset, OperationMetadata> response = dataProductServiceClient.CreateDataAsset(request);

        // Poll until the returned long-running operation is complete
        Operation<DataAsset, OperationMetadata> completedResponse = response.PollUntilCompleted();
        // Retrieve the operation result
        DataAsset result = completedResponse.Result;

        // Or get the name of the operation
        string operationName = response.Name;
        // This name can be stored, then the long-running operation retrieved later by name
        Operation<DataAsset, OperationMetadata> retrievedResponse = dataProductServiceClient.PollOnceCreateDataAsset(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            DataAsset retrievedResult = retrievedResponse.Result;
        }
    }
}

Go

Go

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용Go 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog Go API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewDataProductClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.CreateDataAssetRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#CreateDataAssetRequest.
	}
	op, err := c.CreateDataAsset(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

자바

Java

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용Java 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog Java API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

import com.google.cloud.dataplex.v1.CreateDataAssetRequest;
import com.google.cloud.dataplex.v1.DataAsset;
import com.google.cloud.dataplex.v1.DataProductName;
import com.google.cloud.dataplex.v1.DataProductServiceClient;

public class SyncCreateDataAsset {

  public static void main(String[] args) throws Exception {
    syncCreateDataAsset();
  }

  public static void syncCreateDataAsset() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (DataProductServiceClient dataProductServiceClient = DataProductServiceClient.create()) {
      CreateDataAssetRequest request =
          CreateDataAssetRequest.newBuilder()
              .setParent(DataProductName.of("[PROJECT]", "[LOCATION]", "[DATA_PRODUCT]").toString())
              .setDataAssetId("dataAssetId2108984609")
              .setDataAsset(DataAsset.newBuilder().build())
              .setValidateOnly(true)
              .build();
      DataAsset response = dataProductServiceClient.createDataAssetAsync(request).get();
    }
  }
}

Node.js

Node.js

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용Node.js 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog Node.js API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

/**
 * This snippet has been automatically generated and should be regarded as a code template only.
 * It will require modifications to work.
 * It may require correct/in-range values for request initialization.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The parent resource where this data asset will be created.
 *  Format:
 *  projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}
 */
// const parent = 'abc123'
/**
 *  Optional. The ID of the data asset to create.
 *  The ID must conform to RFC-1034 and contain only lower-case letters (a-z),
 *  numbers (0-9), or hyphens, with the first character a letter, the last a
 *  letter or a number, and a 63 character maximum. Characters outside of
 *  ASCII are not permitted.
 *  Valid format regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`
 *  If not provided, a system generated ID will be used.
 */
// const dataAssetId = 'abc123'
/**
 *  Required. The data asset to create.
 */
// const dataAsset = {}
/**
 *  Optional. Validates the request without actually creating the data asset.
 *  Defaults to false.
 */
// const validateOnly = true

// Imports the Dataplex library
const {DataProductServiceClient} = require('@google-cloud/dataplex').v1;

// Instantiates a client
const dataplexClient = new DataProductServiceClient();

async function callCreateDataAsset() {
  // Construct request
  const request = {
    parent,
    dataAsset,
  };

  // Run request
  const [operation] = await dataplexClient.createDataAsset(request);
  const [response] = await operation.promise();
  console.log(response);
}

callCreateDataAsset();

Python

Python

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용Python 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog Python API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_create_data_asset():
    # Create a client
    client = dataplex_v1.DataProductServiceClient()

    # Initialize request argument(s)
    data_asset = dataplex_v1.DataAsset()
    data_asset.resource = "resource_value"

    request = dataplex_v1.CreateDataAssetRequest(
        parent="parent_value",
        data_asset=data_asset,
    )

    # Make the request
    operation = client.create_data_asset(request=request)

    print("Waiting for operation to complete...")

    response = operation.result()

    # Handle the response
    print(response)

REST

데이터 제품에 데이터 애셋을 추가하려면 dataAssets.create 메서드를 사용합니다.

예를 들어 다음 POST 요청을 보냅니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"resource": "RESOURCE_NAME"}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID/dataAssets?data_asset_id=DATA_ASSET_ID

다음을 바꿉니다.

  • RESOURCE_NAME: 데이터 애셋의 전체 리소스 이름입니다 (예: //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID).
  • PROJECT_ID: Google Cloud 프로젝트 ID
  • LOCATION: 데이터 제품이 있는 리전
  • DATA_PRODUCT_ID: 데이터 제품의 ID
  • DATA_ASSET_ID: 데이터 제품 내 이 데이터 애셋의 고유 ID

선택사항: 액세스 그룹 및 애셋 권한 구성

액세스 그룹 및 애셋 권한 구성 창에서 액세스 그룹을 만들고 애셋에 권한을 할당할 수 있습니다.

액세스 그룹 구성

콘솔

  1. 액세스 그룹 추가를 클릭합니다.

  2. 액세스 그룹 이름 필드에 액세스 그룹 이름을 입력합니다. 예를 들면 Analyst입니다.

  3. 액세스 그룹 설명 필드에 액세스 그룹에 대한 설명을 입력합니다.

  4. 액세스 그룹 식별자 필드에 이 액세스 그룹에 할당할 Google 그룹의 이메일 주소를 입력합니다.

    자신에 대한 액세스를 요청하는 데이터 제품 소비자는 매핑된 Google 그룹에 구성원으로 추가됩니다.

    Google 그룹 만들기에 관한 자세한 내용은 Google Cloud 콘솔에서 Google 그룹 만들기 및 관리하기를 참고하세요.

  5. 액세스 그룹 서비스 계정 필드에 이 액세스 그룹에 할당할 서비스 계정의 이메일 주소를 입력합니다.

    서비스 계정에 대한 액세스를 요청하는 데이터 제품 소비자에게 액세스 그룹에 매핑된 데이터 생산자 서비스 계정을 가장할 수 있는 서비스 계정 토큰 생성자 (roles/iam.serviceAccountTokenCreator) IAM 역할이 부여됩니다.

    서비스 계정 만들기에 대한 자세한 내용은 서비스 계정 만들기를 참고하세요.

  6. 완료를 클릭합니다.

  7. 다른 액세스 그룹을 추가하려면 액세스 그룹 추가를 클릭하고 단계를 반복합니다.

    데이터 제품당 최대 3개의 액세스 그룹을 추가할 수 있습니다.

  8. 저장을 클릭합니다.

Terraform

데이터 제품의 액세스 그룹을 정의하려면 google_dataplex_data_product 리소스 내에서 access_groups 중첩 블록을 사용하세요.

예를 들어 다음 구성을 사용합니다.

resource "google_dataplex_data_product" "example_data_product" {
  project         = "PROJECT_ID"
  location        = "LOCATION"
  data_product_id = "DATA_PRODUCT_ID"
  display_name    = "DISPLAY_NAME"
  owner_emails    = ["EMAIL_IDs"]

  access_groups {
    id           = "analyst" # Internal identifier for configuration
    group_id     = "analyst" # Unique identifier of the access group, should be same as the 'id'
    display_name = "Business Analyst"
    description  = "Access group for regional analysts"
    principal {
      google_group = "analyst-team@example.com"
    }

# Service account principal
  access_groups {
    id           = "scientist"
    group_id     = "scientist"
    display_name = "Data Scientist"
    principal {
      service_account = "SERVICE_ACCOUNT_EMAIL_ADDRESS"
    }
  }
}

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID
  • LOCATION: 데이터 제품이 있는 리전
  • DATA_PRODUCT_ID: 데이터 제품의 고유 ID
  • DISPLAY_NAME: 데이터 제품의 사용자 친화적인 이름
  • EMAIL_IDs: 데이터 제품 소유자의 쉼표로 구분된 이메일 주소입니다(예: ["user1@example.com", "user2@example.com"]).
  • SERVICE_ACCOUNT_EMAIL_ADDRESS: 서비스 계정의 이메일 주소

C#

C#

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용C# 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog C# API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

using Google.Cloud.Dataplex.V1;
using Google.LongRunning;
using Google.Protobuf.WellKnownTypes;

public sealed partial class GeneratedDataProductServiceClientSnippets
{
    /// <summary>Snippet for UpdateDataProduct</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void UpdateDataProductRequestObject()
    {
        // Create client
        DataProductServiceClient dataProductServiceClient = DataProductServiceClient.Create();
        // Initialize request argument(s)
        UpdateDataProductRequest request = new UpdateDataProductRequest
        {
            DataProduct = new DataProduct(),
            UpdateMask = new FieldMask(),
            ValidateOnly = false,
        };
        // Make the request
        Operation<DataProduct, OperationMetadata> response = dataProductServiceClient.UpdateDataProduct(request);

        // Poll until the returned long-running operation is complete
        Operation<DataProduct, OperationMetadata> completedResponse = response.PollUntilCompleted();
        // Retrieve the operation result
        DataProduct result = completedResponse.Result;

        // Or get the name of the operation
        string operationName = response.Name;
        // This name can be stored, then the long-running operation retrieved later by name
        Operation<DataProduct, OperationMetadata> retrievedResponse = dataProductServiceClient.PollOnceUpdateDataProduct(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            DataProduct retrievedResult = retrievedResponse.Result;
        }
    }
}

Go

Go

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용Go 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog Go API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewDataProductClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.UpdateDataProductRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#UpdateDataProductRequest.
	}
	op, err := c.UpdateDataProduct(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

자바

Java

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용Java 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog Java API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

import com.google.cloud.dataplex.v1.DataProduct;
import com.google.cloud.dataplex.v1.DataProductServiceClient;
import com.google.cloud.dataplex.v1.UpdateDataProductRequest;
import com.google.protobuf.FieldMask;

public class SyncUpdateDataProduct {

  public static void main(String[] args) throws Exception {
    syncUpdateDataProduct();
  }

  public static void syncUpdateDataProduct() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (DataProductServiceClient dataProductServiceClient = DataProductServiceClient.create()) {
      UpdateDataProductRequest request =
          UpdateDataProductRequest.newBuilder()
              .setDataProduct(DataProduct.newBuilder().build())
              .setUpdateMask(FieldMask.newBuilder().build())
              .setValidateOnly(true)
              .build();
      DataProduct response = dataProductServiceClient.updateDataProductAsync(request).get();
    }
  }
}

Node.js

Node.js

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용Node.js 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog Node.js API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

/**
 * This snippet has been automatically generated and should be regarded as a code template only.
 * It will require modifications to work.
 * It may require correct/in-range values for request initialization.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The data product to update.
 *  The data product's `name` field is used to identify the data product to
 *  update.
 */
// const dataProduct = {}
/**
 *  Optional. The list of fields to update.
 *  If this is empty or not set, then all the fields will be updated.
 */
// const updateMask = {}
/**
 *  Optional. Validates the request without actually updating the data product.
 *  Default: false.
 */
// const validateOnly = true

// Imports the Dataplex library
const {DataProductServiceClient} = require('@google-cloud/dataplex').v1;

// Instantiates a client
const dataplexClient = new DataProductServiceClient();

async function callUpdateDataProduct() {
  // Construct request
  const request = {
    dataProduct,
  };

  // Run request
  const [operation] = await dataplexClient.updateDataProduct(request);
  const [response] = await operation.promise();
  console.log(response);
}

callUpdateDataProduct();

Python

Python

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용Python 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog Python API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_update_data_product():
    # Create a client
    client = dataplex_v1.DataProductServiceClient()

    # Initialize request argument(s)
    data_product = dataplex_v1.DataProduct()
    data_product.display_name = "display_name_value"
    data_product.owner_emails = ["owner_emails_value1", "owner_emails_value2"]

    request = dataplex_v1.UpdateDataProductRequest(
        data_product=data_product,
    )

    # Make the request
    operation = client.update_data_product(request=request)

    print("Waiting for operation to complete...")

    response = operation.result()

    # Handle the response
    print(response)

REST

데이터 제품의 액세스 그룹을 구성하려면 dataProducts.patch 메서드를 사용합니다.

예를 들어 다음 PATCH 요청을 보냅니다.

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"access_groups": ACCESS_GROUPS_MAP}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID?update_mask="access_groups"

다음을 바꿉니다.

  • ACCESS_GROUPS_MAP: 각 키가 액세스 그룹 ID이고 값이 AccessGroup 객체인 맵을 나타내는 JSON 객체입니다. 예를 들면 다음과 같습니다.

    {
    "analyst": {
      "id": "analyst",
      "display_name": "Analyst access group",
      "description": "Access group for analysts",
      "principal":
        {
          "google_group": "analyst-team@example.com",
          "service_account": "analyst-svc@gserviceaccount.com"
        }
    }
    
  • PROJECT_ID: Google Cloud프로젝트 ID

  • LOCATION: 데이터 제품이 있는 리전

  • DATA_PRODUCT_ID: 데이터 제품의 ID

애셋 권한 구성

액세스 그룹을 구성한 후 데이터 제품의 애셋에 대한 권한을 구성할 수 있습니다.

콘솔

  1. 애셋 권한 섹션에서 권한을 구성할 애셋을 선택합니다. 한 번에 최대 10개의 애셋에 대한 권한을 선택하고 구성할 수 있습니다.

  2. 권한 구성을 클릭합니다.

  3. 액세스 그룹 선택 필드에서 액세스 그룹을 선택합니다.

  4. IAM 역할 할당 필드에서 액세스 그룹에 할당할 IAM 역할을 선택합니다.

    예를 들어 애셋이 Sales라는 BigQuery 테이블이고 Analyst 액세스 그룹을 선택하고 이 액세스 그룹에 BigQuery Metadata Viewer 역할을 할당한 경우 Analyst 액세스 그룹에 속한 데이터 제품 소비자는 Sales 테이블에 대한 BigQuery Metadata Viewer 권한을 갖습니다.

    애셋에 여러 역할을 추가할 수 있습니다.

  5. 구성을 클릭합니다. 이제 애셋에 할당된 권한이 표시됩니다.

  6. 다른 애셋의 권한을 구성하려면 단계를 반복합니다.

  7. 계속을 클릭합니다.

Terraform

google_dataplex_data_product_data_asset 리소스의 access_group_configs 블록을 사용하여 특정 애셋에 대한 액세스 그룹에 IAM 역할을 할당합니다.

예를 들어 다음 구성을 사용합니다.

resource "google_dataplex_data_product_data_asset" "example_data_asset" {
project         = "PROJECT_ID"
location        = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
data_asset_id   = "DATA_ASSET_ID"
resource        = "RESOURCE_NAME"

access_group_configs {
  access_group = "analyst" # Must match the 'id' defined in google_dataplex_data_product
  iam_roles    = ["roles/bigquery.dataViewer"]
}
}

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID
  • LOCATION: 데이터 제품이 있는 리전
  • DATA_PRODUCT_ID: 데이터 제품의 ID
  • DATA_ASSET_ID: 데이터 제품 내 이 데이터 애셋의 고유 ID
  • RESOURCE_NAME: 데이터 애셋의 전체 리소스 이름입니다 (예: //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID).

C#

C#

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용C# 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog C# API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

using Google.Cloud.Dataplex.V1;
using Google.LongRunning;
using Google.Protobuf.WellKnownTypes;

public sealed partial class GeneratedDataProductServiceClientSnippets
{
    /// <summary>Snippet for UpdateDataAsset</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void UpdateDataAssetRequestObject()
    {
        // Create client
        DataProductServiceClient dataProductServiceClient = DataProductServiceClient.Create();
        // Initialize request argument(s)
        UpdateDataAssetRequest request = new UpdateDataAssetRequest
        {
            DataAsset = new DataAsset(),
            UpdateMask = new FieldMask(),
            ValidateOnly = false,
        };
        // Make the request
        Operation<DataAsset, OperationMetadata> response = dataProductServiceClient.UpdateDataAsset(request);

        // Poll until the returned long-running operation is complete
        Operation<DataAsset, OperationMetadata> completedResponse = response.PollUntilCompleted();
        // Retrieve the operation result
        DataAsset result = completedResponse.Result;

        // Or get the name of the operation
        string operationName = response.Name;
        // This name can be stored, then the long-running operation retrieved later by name
        Operation<DataAsset, OperationMetadata> retrievedResponse = dataProductServiceClient.PollOnceUpdateDataAsset(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            DataAsset retrievedResult = retrievedResponse.Result;
        }
    }
}

Go

Go

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용Go 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog Go API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewDataProductClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.UpdateDataAssetRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#UpdateDataAssetRequest.
	}
	op, err := c.UpdateDataAsset(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

자바

Java

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용Java 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog Java API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

import com.google.cloud.dataplex.v1.DataAsset;
import com.google.cloud.dataplex.v1.DataProductServiceClient;
import com.google.cloud.dataplex.v1.UpdateDataAssetRequest;
import com.google.protobuf.FieldMask;

public class SyncUpdateDataAsset {

  public static void main(String[] args) throws Exception {
    syncUpdateDataAsset();
  }

  public static void syncUpdateDataAsset() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (DataProductServiceClient dataProductServiceClient = DataProductServiceClient.create()) {
      UpdateDataAssetRequest request =
          UpdateDataAssetRequest.newBuilder()
              .setDataAsset(DataAsset.newBuilder().build())
              .setUpdateMask(FieldMask.newBuilder().build())
              .setValidateOnly(true)
              .build();
      DataAsset response = dataProductServiceClient.updateDataAssetAsync(request).get();
    }
  }
}

Node.js

Node.js

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용Node.js 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog Node.js API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

/**
 * This snippet has been automatically generated and should be regarded as a code template only.
 * It will require modifications to work.
 * It may require correct/in-range values for request initialization.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The data asset to update.
 *  The data asset's `name` field is used to identify the data asset to update.
 */
// const dataAsset = {}
/**
 *  Optional. The list of fields to update.
 *  If this is empty or not set, then all the fields will be updated.
 */
// const updateMask = {}
/**
 *  Optional. Validates the request without actually updating the data asset.
 *  Defaults to false.
 */
// const validateOnly = true

// Imports the Dataplex library
const {DataProductServiceClient} = require('@google-cloud/dataplex').v1;

// Instantiates a client
const dataplexClient = new DataProductServiceClient();

async function callUpdateDataAsset() {
  // Construct request
  const request = {
    dataAsset,
  };

  // Run request
  const [operation] = await dataplexClient.updateDataAsset(request);
  const [response] = await operation.promise();
  console.log(response);
}

callUpdateDataAsset();

Python

Python

이 샘플을 사용해 보기 전에 Knowledge Catalog 빠른 시작: 클라이언트 라이브러리 사용Python 설정 안내를 따르세요. 자세한 내용은 Knowledge Catalog Python API 참고 문서를 참고하세요.

Knowledge Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_update_data_asset():
    # Create a client
    client = dataplex_v1.DataProductServiceClient()

    # Initialize request argument(s)
    data_asset = dataplex_v1.DataAsset()
    data_asset.resource = "resource_value"

    request = dataplex_v1.UpdateDataAssetRequest(
        data_asset=data_asset,
    )

    # Make the request
    operation = client.update_data_asset(request=request)

    print("Waiting for operation to complete...")

    response = operation.result()

    # Handle the response
    print(response)

REST

데이터 제품의 애셋에 대한 권한을 구성하려면 dataAssets.patch 메서드를 사용합니다.

예를 들어 다음 PATCH 요청을 보냅니다.

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"access_group_configs": ACCESS_GROUP_CONFIGS_MAP}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID/dataAssets/DATA_ASSET_ID?update_mask="access_group_configs"

다음을 바꿉니다.

  • ACCESS_GROUP_CONFIGS_MAP: 각 키가 액세스 그룹 ID이고 값이 AccessGroupConfig 객체인 맵을 나타내는 JSON 객체입니다. 예를 들면 다음과 같습니다.

    {
    "analyst": {
      iam_roles: ["roles/bigquery.dataViewer"]
      }
    }
    
  • PROJECT_ID: Google Cloud프로젝트 ID

  • LOCATION: 데이터 제품이 있는 리전

  • DATA_PRODUCT_ID: 데이터 제품의 ID

  • DATA_ASSET_ID: 권한을 구성하려는 애셋의 ID

선택사항: 계약 및 관점 세부정보 추가

데이터 제품의 계약 및 관점을 추가할 수 있습니다.

계약 추가

데이터 생산자와 소비자 간의 신뢰를 구축하기 위해 데이터 제품에 계약을 첨부할 수 있습니다. 새로고침 시간, 임계값과 같은 매개변수를 지정하면 데이터가 언제 업데이트되는지, 특정 비즈니스 요구사항을 충족하는지 이해하는 데 필요한 컨텍스트를 소비자에게 제공할 수 있습니다.

콘솔

  1. 계약 및 관점 세부정보 추가 창에서 계약 추가를 클릭합니다.

  2. 계약 선택 필드에서 Refresh cadence를 선택합니다.

  3. 빈도 필드에서 데이터가 업데이트되거나 전송되는 빈도에 대해 합의된 일정을 선택하여 데이터 생산자에서 데이터 소비자까지 예측 가능한 흐름을 보장합니다. 예를 들면 Weekly입니다.

  4. 새로고침 시간 필드에 데이터가 소스에서 업데이트되고 소비자가 사용할 수 있게 되는 최대 허용 시간을 입력합니다. 예를 들면 23:00 PST입니다.

  5. 기준(분) 필드에 데이터 전송의 허용 가능한 지연 시간을 분 단위로 측정 가능한 한도를 입력합니다. 예를 들어 기준을 30분으로 설정하려면 30을 입력합니다.

  6. 선택사항: 크론 일정 필드에 데이터 생성 및 전송 일정을 정의하는 크론 표현식을 MINUTE HOUR DAY_OF_MONTH MONTH DAY_OF_WEEK 형식으로 입력합니다.

    허용되는 값은 다음과 같습니다.

    • MINUTE: 0-59
    • HOUR: 0-23
    • DAY_OF_MONTH: 1-31
    • MONTH: 1-31 또는 JAN-DEC
    • DAY_OF_WEEK: 0-6 또는 SUN-SAT

    예를 들어 0 8 * * 1-5는 평일(월~금) 오전 8시에 실행됩니다.

  7. 저장을 클릭합니다.

REST

계약은 데이터 제품의 측면으로 모델링됩니다. 데이터 제품의 Refresh Cadence 계약을 추가하려면 entries.patch 메서드를 사용합니다.

예를 들어 다음 PATCH 요청을 보냅니다.

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
  "aspects": {
    "dataplex-types.global.refresh-cadence": {
      "aspectType": "projects/dataplex-types/locations/global/aspectTypes/refresh-cadence",
      "data": {
        "frequency": "REFRESH_FREQUENCY"
      }
    }
  }
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"

다음을 바꿉니다.

  • REFRESH_FREQUENCY: 데이터가 업데이트되거나 전송되는 빈도에 대해 합의된 일정으로, 데이터 생산자에서 데이터 소비자까지 예측 가능한 흐름을 보장합니다. 예를 들면 Weekly입니다.
  • PROJECT_ID: API 호출이 이루어지는 Google Cloud 프로젝트의 ID
  • LOCATION: 호출 중인 Knowledge Catalog 서비스 엔드포인트의 리전 (예: us-central1)
  • DATA_PRODUCT_PROJECT_NUMBER: 데이터 제품 리소스가 있는 프로젝트 번호
  • DATA_PRODUCT_LOCATION: 데이터 제품 리소스의 위치
  • DATA_PRODUCT_ID: 데이터 제품의 ID

Terraform

계약은 데이터 제품의 측면으로 모델링됩니다. 계약을 관리하려면 기본 Knowledge Catalog 항목을 관리해야 합니다. Terraform은 기존 측면을 자동으로 검색하지 않으므로 먼저 google_dataplex_entry을 가져와야 합니다.

항목을 가져오려면 다음 명령어를 사용합니다.

terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"

Terraform 구성:

resource "google_dataplex_entry" "data_product_metadata" {
project        = "DATA_PRODUCT_PROJECT_NUMBER"
location       = "LOCATION"
entry_group_id = "@dataplex"
entry_id       = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type     = "projects/655216118709/locations/global/entryTypes/data-product"

aspects {
  aspect_key = "655216118709.global.refresh-cadence"
  aspect {
    data = jsonencode({
      frequency = "REFRESH_FREQUENCY"
    })
  }
}
}

다음을 바꿉니다.

  • DATA_PRODUCT_PROJECT_NUMBER: 데이터 제품 리소스가 있는 프로젝트 번호
  • LOCATION: 호출 중인 Knowledge Catalog 서비스 엔드포인트의 리전 (예: us-central1)
  • DATA_PRODUCT_ID: 데이터 제품의 ID
  • REFRESH_FREQUENCY: 데이터가 업데이트되거나 전송되는 빈도에 대해 합의된 일정으로, 데이터 생산자에서 데이터 소비자까지 예측 가능한 흐름을 보장합니다. 예를 들면 Weekly입니다.

가져오기 프로세스에 관한 일반적인 정보는 Terraform 가져오기 문서를 참고하세요.

관점 추가

관점을 사용하여 구조화되고 재사용 가능한 메타데이터로 데이터 제품을 보강합니다. 이러한 템플릿은 데이터 생산자가 데이터 제품의 품질과 적합성을 전달하는 표준화된 방법을 제공하여 거버넌스를 개선하고 소비자가 제품이 비즈니스 요구사항을 충족하는지 판단하는 데 도움을 줍니다.

데이터 제품의 관점을 추가하려면 다음 단계를 따르세요.

콘솔

  1. 계약 및 관점 세부정보 추가 창에서 + 관점 추가를 클릭합니다.

  2. 관점 유형 선택 필드에서 목록의 관점 유형을 검색하여 선택합니다. 예를 들면 Geo context입니다.

  3. 저장을 클릭합니다.

REST

데이터 제품의 관점을 추가하려면 entries.patch 메서드를 사용합니다.

예를 들어 다음 PATCH 요청을 보냅니다.

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
  "aspects": {
    "ASPECT_PROJECT_ID.ASPECT_LOCATION.ASPECT_NAME": {
      "aspectType": "projects/ASPECT_PROJECT_ID/locations/ASPECT_LOCATION/aspectTypes/ASPECT_NAME",
      "data": {}
    }
  }
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"

다음을 바꿉니다.

  • ASPECT_PROJECT_ID: 측면이 생성된 Google Cloud프로젝트의 ID
  • ASPECT_LOCATION: 측면이 생성되는 Knowledge Catalog 서비스 엔드포인트의 리전입니다(예: us-central1).
  • ASPECT_NAME: 데이터 제품에 연결할 측면의 이름
  • PROJECT_ID: API 호출이 이루어지는 Google Cloud 프로젝트의 ID
  • LOCATION: 호출 중인 Knowledge Catalog 서비스 엔드포인트의 리전 (예: us-central1)
  • DATA_PRODUCT_PROJECT_NUMBER: 데이터 제품 리소스가 있는 프로젝트 번호
  • DATA_PRODUCT_LOCATION: 데이터 제품 리소스의 위치
  • DATA_PRODUCT_ID: 데이터 제품의 ID

Terraform

측면을 관리하려면 기본 Knowledge Catalog 항목을 관리해야 합니다. Terraform은 기존 측면을 자동으로 검색하지 않으므로 먼저 google_dataplex_entry을 가져와야 합니다.

항목을 가져오려면 다음 명령어를 사용합니다.

terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"

Terraform 구성:

resource "google_dataplex_entry" "data_product_metadata" {
project        = "DATA_PRODUCT_PROJECT_NUMBER"
location       = "LOCATION"
entry_group_id = "@dataplex"
entry_id       = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type     = "projects/655216118709/locations/global/entryTypes/data-product"

aspects {
  aspect_key = "ASPECT_PROJECT_NUMBER.ASPECT_LOCATION.ASPECT_NAME"
  aspect {
    data = {}
  }
}
}

다음을 바꿉니다.

  • DATA_PRODUCT_PROJECT_NUMBER: 데이터 제품 리소스가 있는 프로젝트 번호
  • LOCATION: 호출 중인 Knowledge Catalog 서비스 엔드포인트의 리전 (예: us-central1)
  • DATA_PRODUCT_ID: 데이터 제품의 ID
  • ASPECT_PROJECT_NUMBER: 측면이 생성되는 Google Cloud 프로젝트 번호
  • ASPECT_LOCATION: 측면이 생성되는 Knowledge Catalog 서비스 엔드포인트의 리전입니다(예: us-central1).
  • ASPECT_NAME: 데이터 제품에 연결할 측면의 이름

가져오기 프로세스에 관한 일반적인 정보는 Terraform 가져오기 문서를 참고하세요.

선택사항: 세부정보 추가

데이터 제품에 관한 문서와 샘플 쿼리를 추가하여 필수 컨텍스트, 비즈니스 로직 설명, 사용자 가이드를 제공할 수 있습니다. Knowledge Catalog에서 문서는 overview 시스템 측면을 통해 관리됩니다.

이 문서는 수동으로 만들거나 Knowledge Catalog 데이터 통계를 사용하여 자동으로 생성할 수 있습니다.

문서 및 샘플 쿼리 수동 추가

콘솔

데이터 제품의 문서를 추가하려면 다음 단계를 따르세요.

  1. 세부정보 추가 창에서 문서 옆에 있는 수정을 클릭합니다.

  2. 서식 있는 텍스트 편집기에 콘텐츠를 입력합니다.

  3. 저장을 클릭합니다.

데이터 제품의 샘플 쿼리를 추가하려면 다음 단계를 따르세요.

  1. 추가 세부정보 추가 창의 쿼리 추천 섹션에서 쿼리 추가를 클릭합니다.

  2. 샘플 쿼리를 입력합니다.

  3. 저장을 클릭합니다.

새로 만든 데이터 제품이 Knowledge Catalog 데이터 제품 페이지에 표시됩니다.

REST

문서는 데이터 제품의 관점으로 모델링됩니다. 문서를 추가하려면 entries.patch 메서드를 사용합니다.

예를 들어 다음 PATCH 요청을 보냅니다.

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
  "aspects": {
    "dataplex-types.global.overview": {
      "aspectType": "projects/dataplex-types/locations/global/aspectTypes/overview",
      "data": {
        "content": "DOCUMENTATION"
      }
    }
  }
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"

다음을 바꿉니다.

  • PROJECT_ID: API 호출이 이루어지는 Google Cloud 프로젝트의 ID
  • LOCATION: 호출 중인 Knowledge Catalog 서비스 엔드포인트의 리전 (예: us-central1)
  • DATA_PRODUCT_PROJECT_NUMBER: 데이터 제품 리소스가 있는 프로젝트 번호
  • DATA_PRODUCT_LOCATION: 데이터 제품 리소스의 위치
  • DATA_PRODUCT_ID: 데이터 제품의 ID
  • DOCUMENTATION: 데이터 제품에 첨부할 콘텐츠

Terraform

문서는 데이터 제품의 관점으로 모델링됩니다. 문서를 관리하려면 기본 Knowledge Catalog 항목을 관리해야 합니다. Terraform은 기존 측면을 자동으로 검색하지 않으므로 먼저 google_dataplex_entry을 가져와야 합니다.

항목을 가져오려면 다음 명령어를 사용합니다.

terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"

Terraform 구성:

resource "google_dataplex_entry" "data_product_metadata" {
project        = "DATA_PRODUCT_PROJECT_NUMBER"
location       = "LOCATION"
entry_group_id = "@dataplex"
entry_id       = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type     = "projects/655216118709/locations/global/entryTypes/data-product"

aspects {
  aspect_key = "655216118709.global.overview"
  aspect {
    data = jsonencode({
      content = "DOCUMENTATION"
    })
  }
}
}

다음을 바꿉니다.

  • DATA_PRODUCT_PROJECT_NUMBER: 데이터 제품 리소스가 있는 프로젝트 번호
  • LOCATION: 호출 중인 Knowledge Catalog 서비스 엔드포인트의 리전 (예: us-central1)
  • DATA_PRODUCT_ID: 데이터 제품의 ID
  • DOCUMENTATION: 데이터 제품에 첨부할 콘텐츠

가져오기 프로세스에 관한 일반적인 정보는 Terraform 가져오기 문서를 참고하세요.

데이터 통계를 사용하여 자동화된 문서 및 샘플 쿼리 생성

Gemini를 사용하여 문서와 샘플 쿼리를 생성하기 전에 다음 기본 요건을 완료하세요.

  1. 데이터 제품을 만드는 프로젝트에서 Gemini for Google Cloud API를 사용 설정합니다.

  2. 통계 관련 사용자 역할 부여: 관리자에게 데이터 제품 프로젝트에 대한 다음 역할과 권한을 내 ID에 부여해 달라고 요청하세요.

    • 데이터 통계 생성 및 관리: 데이터 제품이 있는 프로젝트에 대한 Dataplex DataScan 편집자(roles/dataplex.dataScanEditor) 또는 Dataplex DataScan 관리자 (roles/dataplex.dataScanAdmin)
    • 생성된 인사이트 보기: 데이터 제품이 있는 프로젝트에 대한 Dataplex DataScan DataViewer(roles/dataplex.dataScanDataViewer) 역할
  3. 프로젝트 간 서비스 에이전트 권한을 구성합니다. 기본 데이터 애셋이 데이터 제품 프로젝트와 다른 Google Cloud 프로젝트에 있는 경우 Knowledge Catalog 서비스 에이전트 (P4SA)에 해당 애셋에 대한 액세스 권한을 부여해야 합니다.

    1. 데이터 제품 프로젝트의 서비스 에이전트 식별자를 생성하거나 검색하려면 다음 Google Cloud CLI 명령어를 실행합니다.

      gcloud beta services identity create --service=dataplex.googleapis.com --project=DATA_PRODUCT_PROJECT_ID
      

      DATA_PRODUCT_PROJECT_ID를 데이터 제품이 있는Google Cloud 프로젝트 ID로 바꿉니다.

    2. 애셋이 있는 각 외부 프로젝트에서 데이터 제품 프로젝트의 서비스 에이전트에 다음 역할을 부여합니다.

      • 기본 테이블 및 데이터 세트에 대한 BigQuery 데이터 편집자 (roles/bigquery.dataEditor)

      • 애셋 프로젝트의 BigQuery Studio 관리자 (roles/bigquery.studioAdmin)

데이터 통계를 사용하여 데이터 제품의 문서와 샘플 쿼리를 생성하려면 다음 단계를 따르세요.

  1. 세부정보 추가 창의 Gemini로 통계 생성 표시줄에서 생성을 클릭합니다.

    통계 생성 프로세스가 완료될 때까지 몇 분 정도 기다립니다.

  2. 생성된 콘텐츠를 검토하려면 보기를 클릭합니다.

  3. 생성된 콘텐츠 평가:

    • 콘텐츠가 정확하면 저장을 클릭합니다. 이렇게 하면 사전 정의된 문서 템플릿으로 서식 있는 텍스트 편집기가 채워지고 통계 섹션에 샘플 쿼리가 추가됩니다.

    • 콘텐츠가 기대에 미치지 못하면 삭제를 클릭합니다.

  4. 저장을 클릭하여 완료합니다.

다음 단계