데이터 세트 속성 업데이트

이 문서에서는 BigQuery에서 데이터 세트 속성을 업데이트하는 방법을 설명합니다. 데이터 세트를 만든 후에는 다음과 같은 데이터 세트 속성을 업데이트할 수 있습니다.

시작하기 전에

사용자에게 이 문서의 각 작업을 수행하는 데 필요한 권한을 부여하는 Identity and Access Management(IAM) 역할을 부여합니다.

필수 권한

데이터 세트 속성을 업데이트하려면 다음 IAM 권한이 필요합니다.

  • bigquery.datasets.update
  • bigquery.datasets.setIamPolicy(Google Cloud 콘솔에서 데이터 세트 액세스 제어를 업데이트할 때만 필요)

사전 정의된 roles/bigquery.dataOwner IAM 역할에는 데이터 세트 속성을 업데이트하는 데 필요한 권한이 포함됩니다.

또한 bigquery.datasets.create 권한이 있으면 만드는 데이터 세트의 속성을 업데이트할 수 있습니다.

BigQuery의 IAM 역할과 권한에 대한 자세한 내용은 사전 정의된 역할 및 권한을 참조하세요.

데이터 세트 설명 업데이트

다음 방법으로 데이터 세트 설명을 업데이트할 수 있습니다.

  • Google Cloud 콘솔 사용
  • bq 명령줄 도구의 bq update 명령어 사용
  • datasets.patch API 메서드 호출
  • 클라이언트 라이브러리 사용

데이터 세트 설명을 업데이트하려면 다음 안내를 따르세요.

콘솔

  1. 탐색기 패널에서 프로젝트를 확장하고 데이터 세트를 선택합니다.

  2. 작업 옵션을 펼치고 열기를 클릭합니다.

  3. 세부정보 패널에서 세부정보 수정을 클릭하여 설명 텍스트를 수정합니다.

    표시된 세부정보 수정 대화상자에서 다음을 수행합니다.

    1. 설명 필드에 설명을 입력하거나 기존 설명을 수정합니다.
    2. 새 설명 텍스트를 저장하려면 저장을 클릭합니다.

SQL

데이터 세트의 설명을 업데이트하려면 ALTER SCHEMA SET OPTIONS을 사용하여 description 옵션을 설정합니다.

다음 예시에서는 이름이 mydataset인 데이터 세트에 대한 설명을 설정합니다.

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

    BigQuery로 이동

  2. 쿼리 편집기에서 다음 문을 입력합니다.

     ALTER SCHEMA mydataset
     SET OPTIONS (
         description = 'Description of mydataset');
     

  3. 실행을 클릭합니다.

쿼리를 실행하는 방법에 대한 자세한 내용은 대화형 쿼리 실행을 참조하세요.

bq

bq update 명령어를 --description 플래그와 함께 실행합니다. 기본 프로젝트가 아닌 다른 프로젝트의 데이터 세트를 업데이트하려면 해당 프로젝트 ID를 project_id:dataset 형식으로 데이터 세트 이름에 추가합니다.

bq update \
--description "string" \
project_id:dataset

다음을 바꿉니다.

  • string: 따옴표로 묶인 데이터 세트를 설명하는 텍스트
  • project_id: 프로젝트 ID입니다.
  • dataset: 업데이트할 데이터 세트의 이름

예를 들면 다음과 같습니다.

다음 명령어를 입력하면 mydataset를 'Description of mydataset'로 변경할 수 있습니다. 여기서 mydataset는 기본 프로젝트에 있습니다.

bq update --description "Description of mydataset" mydataset

다음 명령어를 입력하면 mydataset를 'Description of mydataset'로 변경할 수 있습니다. 데이터 세트는 기본 프로젝트가 아닌 myotherproject에 있습니다.

bq update \
--description "Description of mydataset" \
myotherproject:mydataset

API

datasets.patch를 호출하고 데이터 세트 리소스description 속성을 업데이트합니다. datasets.update 메서드는 전체 데이터 세트 리소스를 대체하므로 datasets.patch 메서드를 사용하는 것이 좋습니다.

Go

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

BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.

import (
	"context"
	"fmt"

	"cloud.google.com/go/bigquery"
)

// updateDatasetDescription demonstrates how the Description metadata of a dataset can
// be read and modified.
func updateDatasetDescription(projectID, datasetID string) error {
	// projectID := "my-project-id"
	// datasetID := "mydataset"
	ctx := context.Background()
	client, err := bigquery.NewClient(ctx, projectID)
	if err != nil {
		return fmt.Errorf("bigquery.NewClient: %v", err)
	}
	defer client.Close()

	ds := client.Dataset(datasetID)
	meta, err := ds.Metadata(ctx)
	if err != nil {
		return err
	}
	update := bigquery.DatasetMetadataToUpdate{
		Description: "Updated Description.",
	}
	if _, err = ds.Update(ctx, update, meta.ETag); err != nil {
		return err
	}
	return nil
}

자바

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

BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.

Dataset.toBuilder() 메서드를 사용하여 기존 Dataset 인스턴스에서 Dataset.Builder 인스턴스를 만듭니다. 데이터 세트 빌더 객체를 구성합니다. Dataset.Builder.build() 메서드를 사용하여 업데이트된 데이터 세트를 빌드하고 Dataset.update() 메서드를 호출하여 업데이트를 API로 보냅니다.
import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryException;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Dataset;

public class UpdateDatasetDescription {

  public static void runUpdateDatasetDescription() {
    // TODO(developer): Replace these variables before running the sample.
    String datasetName = "MY_DATASET_NAME";
    String newDescription = "this is the new dataset description";
    updateDatasetDescription(datasetName, newDescription);
  }

  public static void updateDatasetDescription(String datasetName, String newDescription) {
    try {
      // Initialize client that will be used to send requests. This client only needs to be created
      // once, and can be reused for multiple requests.
      BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();

      Dataset dataset = bigquery.getDataset(datasetName);
      bigquery.update(dataset.toBuilder().setDescription(newDescription).build());
      System.out.println("Dataset description updated successfully to " + newDescription);
    } catch (BigQueryException e) {
      System.out.println("Dataset description was not updated \n" + e.toString());
    }
  }
}

Node.js

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

BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.

// Import the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();

async function updateDatasetDescription() {
  // Updates a dataset's description.

  // Retreive current dataset metadata
  const dataset = bigquery.dataset(datasetId);
  const [metadata] = await dataset.getMetadata();

  // Set new dataset description
  const description = 'New dataset description.';
  metadata.description = description;

  const [apiResponse] = await dataset.setMetadata(metadata);
  const newDescription = apiResponse.description;

  console.log(`${datasetId} description: ${newDescription}`);
}

Python

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

BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.

Dataset.description 속성을 구성하고 Client.update_dataset()를 호출하여 업데이트를 API에 보냅니다.

from google.cloud import bigquery

# Construct a BigQuery client object.
client = bigquery.Client()

# TODO(developer): Set dataset_id to the ID of the dataset to fetch.
# dataset_id = 'your-project.your_dataset'

dataset = client.get_dataset(dataset_id)  # Make an API request.
dataset.description = "Updated description."
dataset = client.update_dataset(dataset, ["description"])  # Make an API request.

full_dataset_id = "{}.{}".format(dataset.project, dataset.dataset_id)
print(
    "Updated dataset '{}' with description '{}'.".format(
        full_dataset_id, dataset.description
    )
)

기본 테이블 만료 시간 업데이트

다음 방법으로 데이터 세트의 기본 테이블 만료 시간을 업데이트할 수 있습니다.

  • Google Cloud 콘솔 사용
  • bq 명령줄 도구의 bq update 명령어 사용
  • datasets.patch API 메서드 호출
  • 클라이언트 라이브러리 사용

데이터 세트 수준에서 기본 테이블 만료 시간을 설정하거나 테이블을 만들 때 테이블 만료 시간을 설정할 수 있습니다. 테이블을 만들 때 만료 시간을 설정할 경우, 데이터 세트의 기본 테이블 만료 시간이 무시됩니다. 데이터 세트 수준에서 기본 테이블 만료 시간을 설정하지 않고, 테이블을 만들 때 테이블 만료 시간을 설정하지 않으면 테이블이 만료되지 않으며, 수동으로 테이블을 삭제해야 합니다. 테이블이 만료되면 포함된 모든 데이터와 함께 테이블이 삭제됩니다.

데이터 세트의 기본 테이블 만료 시간 설정을 업데이트할 때는 다음을 참조하세요.

  • 값을 Never에서 정의된 만료 시간으로 변경할 경우 테이블 생성 시 만료 시간을 테이블에 설정하지 않았으면 데이터 세트에 이미 있는 테이블은 만료되지 않습니다.
  • 기본 테이블 만료 시간 값을 변경할 경우, 기존의 모든 테이블이 원래 테이블 만료 시간 설정에 따라 만료됩니다. 테이블을 만들 때 테이블에 다른 테이블 만료 시간을 지정하지 않는 한 데이터 세트에서 생성되는 모든 새로운 테이블에 새로운 테이블 만료 시간 설정이 적용됩니다.

기본 테이블 만료 시간 값은 값이 설정된 위치에 따라 다르게 표시됩니다. 원하는 세부 수준에 따라 적절한 방법을 사용합니다.

  • Google Cloud 콘솔에서는 만료 시간이 일 단위로 표시됩니다.
  • bq 명령줄 도구에서는 만료 시간이 초 단위로 표시됩니다.
  • API에서는 만료 시간이 밀리초 단위로 표시됩니다.

데이터 세트의 기본 만료 시간을 업데이트하려면 다음 안내를 따르세요.

콘솔

  1. 탐색기 패널에서 프로젝트를 확장하고 데이터 세트를 선택합니다.

  2. 작업 옵션을 펼치고 열기를 클릭합니다.

  3. 세부정보 패널의 데이터 세트 정보 옆에 있는 연필 아이콘을 클릭하여 만료 시간을 수정합니다.

  4. 데이터 세트 정보 대화상자의 기본 테이블 만료 시간 섹션에서 테이블 생성 후 경과 일수에 값을 입력합니다.

  5. 저장을 클릭합니다.

SQL

기본 테이블 만료 시간을 업데이트하려면 ALTER SCHEMA SET OPTIONS을 사용하여 default_table_expiration_days 옵션을 설정합니다.

다음 예시에서는 이름이 mydataset인 데이터 세트의 기본 테이블 만료 시간을 업데이트합니다.

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

    BigQuery로 이동

  2. 쿼리 편집기에서 다음 문을 입력합니다.

     ALTER SCHEMA mydataset
     SET OPTIONS(
         default_table_expiration_days = 3.75);
     

  3. 실행을 클릭합니다.

쿼리를 실행하는 방법에 대한 자세한 내용은 대화형 쿼리 실행을 참조하세요.

bq

데이터 세트에서 새로 생성되는 테이블의 기본 만료 시간을 업데이트하려면 --default_table_expiration 플래그를 사용하여 bq update 명령어를 입력합니다. 기본 프로젝트가 아닌 다른 프로젝트의 데이터 세트를 업데이트하려면 해당 프로젝트 ID를 project_id:dataset 형식으로 데이터 세트 이름에 추가합니다.

bq update \
--default_table_expiration integer \
project_id:dataset

다음을 바꿉니다.

  • integer: 새로 생성된 테이블의 기본 수명(초)입니다. 최솟값은 3,600초(1시간)입니다. 만료 시간은 현재 UTC 시간과 정수 값을 더한 값으로 계산됩니다. 기존 만료 시간을 삭제하려면 0을 지정합니다. 데이터 세트에서 생성된 모든 테이블은 생성 시간 integer초 후에 삭제됩니다. 테이블이 생성될 때 테이블 만료 시간을 설정하지 않은 경우 이 값이 적용됩니다.
  • project_id: 프로젝트 ID입니다.
  • dataset: 업데이트할 데이터 세트의 이름입니다.

예를 들면 다음과 같습니다.

다음 명령어를 입력하면 mydataset에서 생성되는 새 테이블의 기본 테이블 만료 시간을 현재 시간에서 2시간(7,200초) 이내로 설정할 수 있습니다. 데이터 세트는 기본 프로젝트에 있습니다.

bq update --default_table_expiration 7200 mydataset

다음 명령어를 입력하면 mydataset에서 생성되는 새 테이블의 기본 테이블 만료 시간을 현재 시간에서 2시간(7,200초) 이내로 설정할 수 있습니다. 데이터 세트는 기본 프로젝트가 아닌 myotherproject에 있습니다.

bq update --default_table_expiration 7200 myotherproject:mydataset

API

datasets.patch를 호출하고 데이터 세트 리소스defaultTableExpirationMs 속성을 업데이트합니다. API의 만료 시간은 밀리초 단위로 표시됩니다. datasets.update 메서드는 전체 데이터 세트 리소스를 대체하므로 datasets.patch 메서드를 사용하는 것이 좋습니다.

Go

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

BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.

import (
	"context"
	"fmt"
	"time"

	"cloud.google.com/go/bigquery"
)

// updateDatasetDefaultExpiration demonstrats setting the default expiration of a dataset
// to a specific retention period.
func updateDatasetDefaultExpiration(projectID, datasetID string) error {
	// projectID := "my-project-id"
	// datasetID := "mydataset"
	ctx := context.Background()
	client, err := bigquery.NewClient(ctx, projectID)
	if err != nil {
		return fmt.Errorf("bigquery.NewClient: %v", err)
	}
	defer client.Close()

	ds := client.Dataset(datasetID)
	meta, err := ds.Metadata(ctx)
	if err != nil {
		return err
	}
	update := bigquery.DatasetMetadataToUpdate{
		DefaultTableExpiration: 24 * time.Hour,
	}
	if _, err := client.Dataset(datasetID).Update(ctx, update, meta.ETag); err != nil {
		return err
	}
	return nil
}

자바

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

BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.

Dataset.toBuilder() 메서드를 사용하여 기존 Dataset 인스턴스에서 Dataset.Builder 인스턴스를 만듭니다. 데이터 세트 빌더 객체를 구성합니다. Dataset.Builder.build() 메서드를 사용하여 업데이트된 데이터 세트를 빌드하고 Dataset.update() 메서드를 호출하여 업데이트를 API로 보냅니다.

Dataset.Builder.setDefaultTableLifetime() 메서드를 사용하여 기본 만료 시간을 구성합니다.

import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryException;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Dataset;
import java.util.concurrent.TimeUnit;

public class UpdateDatasetExpiration {

  public static void runUpdateDatasetExpiration() {
    // TODO(developer): Replace these variables before running the sample.
    String datasetName = "MY_DATASET_NAME";
    updateDatasetExpiration(datasetName);
  }

  public static void updateDatasetExpiration(String datasetName) {
    try {
      // Initialize client that will be used to send requests. This client only needs to be created
      // once, and can be reused for multiple requests.
      BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();

      // Update dataset expiration to one day
      Long newExpiration = TimeUnit.MILLISECONDS.convert(1, TimeUnit.DAYS);

      Dataset dataset = bigquery.getDataset(datasetName);
      bigquery.update(dataset.toBuilder().setDefaultTableLifetime(newExpiration).build());
      System.out.println("Dataset description updated successfully to " + newExpiration);
    } catch (BigQueryException e) {
      System.out.println("Dataset expiration was not updated \n" + e.toString());
    }
  }
}

Node.js

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

BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.

// Import the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();

async function updateDatasetExpiration() {
  // Updates the lifetime of all tables in the dataset, in milliseconds.

  /**
   * TODO(developer): Uncomment the following lines before running the sample.
   */
  // const datasetId = "my_dataset";

  // Retreive current dataset metadata
  const dataset = bigquery.dataset(datasetId);
  const [metadata] = await dataset.getMetadata();

  // Set new dataset metadata
  const expirationTime = 24 * 60 * 60 * 1000;
  metadata.defaultTableExpirationMs = expirationTime.toString();

  const [apiResponse] = await dataset.setMetadata(metadata);
  const newExpirationTime = apiResponse.defaultTableExpirationMs;

  console.log(`${datasetId} expiration: ${newExpirationTime}`);
}

Python

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

BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.

Dataset.default_table_expiration_ms 속성을 구성하고 Client.update_dataset()를 호출하여 업데이트를 API로 보냅니다.

from google.cloud import bigquery

# Construct a BigQuery client object.
client = bigquery.Client()

# TODO(developer): Set dataset_id to the ID of the dataset to fetch.
# dataset_id = 'your-project.your_dataset'

dataset = client.get_dataset(dataset_id)  # Make an API request.
dataset.default_table_expiration_ms = 24 * 60 * 60 * 1000  # In milliseconds.

dataset = client.update_dataset(
    dataset, ["default_table_expiration_ms"]
)  # Make an API request.

full_dataset_id = "{}.{}".format(dataset.project, dataset.dataset_id)
print(
    "Updated dataset {} with new expiration {}".format(
        full_dataset_id, dataset.default_table_expiration_ms
    )
)

기본 파티션 만료 시간 업데이트

다음 방법으로 데이터 세트의 기본 파티션 만료 시간을 업데이트할 수 있습니다.

  • bq 명령줄 도구의 bq update 명령어 사용
  • datasets.patch API 메서드 호출
  • 클라이언트 라이브러리 사용

데이터 세트의 기본 파티션 만료 시간 설정 또는 업데이트는 현재 Google Cloud 콘솔에서 지원되지 않습니다.

새로 생성된 파티션을 나눈 모든 테이블에 영향을 미치는 데이터 세트 수준에서 기본 파티션 만료 시간을 설정하거나 파티션을 나눈 테이블을 만들 때 개별 테이블의 파티션 만료 시간을 설정할 수 있습니다. 데이터 세트 수준에서 기본 파티션 만료 시간을 설정하고 데이터 세트 수준에서 기본 테이블 만료 시간을 설정하면 새로운 파티션을 나눈 테이블에는 파티션 만료 시간만 있습니다. 두 옵션을 모두 설정하면 기본 파티션 만료 시간이 기본 테이블 만료 시간을 재정의합니다.

파티션을 나눈 테이블을 만들 때 파티션 만료 시간을 설정하면 이 값은 데이터 세트 수준 기본 파티션 만료 시간이 존재하는 경우 이를 재정의합니다.

데이터 세트 수준에서 기본 파티션 만료 시간을 설정하지 않고, 테이블을 만들 때 파티션 만료 시간을 설정하지 않으면 파티션이 만료되지 않으며 파티션을 수동으로 삭제해야 합니다.

데이터 세트에서 기본 파티션 만료 시간을 설정하면 이 만료 시간이 데이터 세트에서 생성된 모든 파티션을 나눈 테이블의 모든 파티션에 적용됩니다. 테이블에 파티션 만료 시간을 설정하면 지정된 테이블에서 생성된 모든 파티션에 만료 시간이 적용됩니다. 현재는 같은 테이블에 있는 파티션마다 서로 다른 만료 시간을 적용할 수 없습니다.

데이터 세트의 기본 파티션 만료 시간 설정을 업데이트할 때는 다음에 유의하세요.

  • 값을 never에서 정의된 만료 시간으로 변경할 경우 테이블 생성 시 파티션 만료 시간을 테이블에 설정하지 않았으면 데이터 세트의 파티션을 나눈 테이블에 이미 있는 파티션은 만료되지 않습니다.
  • 기본 파티션 만료 시간 값을 변경하면 기존의 파티션을 나눈 테이블에 있는 모든 파티션이 원래의 기본 파티션 만료 시간에 따라 만료됩니다. 테이블 생성 시 다른 파티션 만료 시간을 테이블에 지정하지 않았으면 데이터 세트에서 생성되는 모든 새로운 파티션을 나눈 테이블에 새로운 기본 파티션 만료 시간 설정이 적용됩니다.

기본 파티션 만료 시간 값은 값이 설정된 위치에 따라 다르게 표시됩니다. 원하는 세부 수준에 따라 적절한 방법을 사용합니다.

  • bq 명령줄 도구에서는 만료 시간이 초 단위로 표시됩니다.
  • API에서는 만료 시간이 밀리초 단위로 표시됩니다.

데이터 세트의 기본 파티션 만료 시간을 업데이트하려면 다음 안내를 따르세요.

콘솔

현재 Google Cloud 콘솔에서는 데이터 세트의 기본 파티션 만료 시간 업데이트가 지원되지 않습니다.

SQL

기본 파티션 만료 시간을 업데이트하려면 ALTER SCHEMA SET OPTIONS을 사용하여 default_partition_expiration_days 옵션을 설정합니다.

다음 예시에서는 이름이 mydataset인 데이터 세트의 기본 파티션 만료 시간을 업데이트합니다.

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

    BigQuery로 이동

  2. 쿼리 편집기에서 다음 문을 입력합니다.

     ALTER SCHEMA mydataset
     SET OPTIONS(
         default_partition_expiration_days = 3.75);
     

  3. 실행을 클릭합니다.

쿼리를 실행하는 방법에 대한 자세한 내용은 대화형 쿼리 실행을 참조하세요.

bq

데이터 세트의 기본 만료 시간을 업데이트하려면 --default_partition_expiration 플래그를 사용하여 bq update 명령어를 입력합니다. 기본 프로젝트가 아닌 다른 프로젝트의 데이터 세트를 업데이트하려면 해당 프로젝트 ID를 project_id:dataset 형식으로 데이터 세트 이름에 추가합니다.

bq update \
--default_partition_expiration integer \
project_id:dataset

다음을 바꿉니다.

  • integer: 새로 생성된 파티션을 나눈 테이블의 파티션 기본 수명(초)입니다. 이 플래그에는 최솟값이 없습니다. 기존 만료 시간을 삭제하려면 0을 지정합니다. 파티션의 UTC 날짜 후 integer초가 지나면 새로 생성된 파티션을 나눈 테이블의 모든 파티션이 삭제됩니다. 테이블이 생성될 때 테이블에 파티션 만료 시간을 설정하지 않으면 이 값이 적용됩니다.
  • project_id: 프로젝트 ID입니다.
  • dataset: 업데이트할 데이터 세트의 이름입니다.

예를 들면 다음과 같습니다.

다음 명령어를 입력하면 mydataset에서 생성된 새로운 파티션을 나눈 테이블의 기본 파티션 만료 시간을 26시간(93,600초)으로 설정할 수 있습니다. 데이터 세트는 기본 프로젝트에 있습니다.

bq update --default_partition_expiration 93600 mydataset

다음 명령어를 입력하면 mydataset에서 생성된 새로운 파티션을 나눈 테이블의 기본 파티션 만료 시간을 26시간(93,600초)으로 설정할 수 있습니다. 데이터 세트는 기본 프로젝트가 아닌 myotherproject에 있습니다.

bq update --default_partition_expiration 93600 myotherproject:mydataset

API

datasets.patch를 호출하고 데이터 세트 리소스defaultPartitionExpirationMs 속성을 업데이트합니다. 만료 시간은 밀리초 단위로 표시됩니다. datasets.update 메서드는 전체 데이터 세트 리소스를 대체하므로 datasets.patch 메서드를 사용하는 것이 좋습니다.

반올림 모드 업데이트

ALTER SCHEMA SET OPTIONS DDL 문을 사용하여 데이터 세트의 기본 반올림 모드를 업데이트할 수 있습니다. 다음 예시에서는 mydataset의 기본 반올림 모드를 ROUND_HALF_EVEN으로 업데이트합니다.

ALTER SCHEMA mydataset
SET OPTIONS (
  default_rounding_mode = "ROUND_HALF_EVEN");

이렇게 하면 데이터 세트에 생성된 새 테이블의 기본 반올림 모드가 설정됩니다. 기존 테이블에 추가된 새 열에는 영향이 미치지 않습니다. 데이터 세트의 테이블에 기본 반올림 모드를 설정하면 이 옵션이 재정의됩니다.

데이터 세트 액세스 제어 업데이트

데이터 세트의 액세스 제어를 업데이트하는 과정은 데이터 세트에 액세스 제어를 할당하는 과정과 매우 비슷합니다. Google Cloud 콘솔 또는 bq 명령줄 도구를 사용하여 데이터 세트를 만드는 동안에는 액세스 제어를 적용할 수 없습니다. 먼저 데이터 세트를 만든 후 데이터 세트의 액세스 제어를 업데이트해야 합니다. API를 사용하면 datasets.patch 메서드를 호출하여 데이터 세트 액세스 제어를 업데이트할 수 있습니다.

데이터 세트에서 액세스 제어를 업데이트할 때는 다음 항목에 대한 액세스 권한을 수정할 수 있습니다.

  • IAM 주 구성원:

    • Google 계정 이메일: 개별 Google 계정에 데이터 세트에 대한 액세스 권한을 부여합니다.
    • Google 그룹: Google 그룹의 모든 구성원에게 데이터 세트에 대한 액세스 권한을 부여합니다.
    • Google Workspace 도메인: Google 도메인의 모든 사용자와 그룹에 데이터 세트 액세스 권한을 부여합니다.
    • 서비스 계정: 서비스 계정에 데이터 세트에 대한 액세스 권한을 부여합니다.
    • 모든 사람: 일반 대중에게 액세스 권한을 부여하려면 allUsers를 입력합니다.
    • 모든 Google 계정: Google 계정에 로그인한 모든 사용자에게 액세스 권한을 부여하려면 allAuthenticatedUsers를 입력합니다.
  • 리소스 유형

데이터 세트에서 액세스 제어를 업데이트하려면 다음 안내를 따르세요.

콘솔

  1. 탐색기 패널에서 프로젝트를 확장하고 데이터 세트를 선택합니다.

  2. 작업 옵션을 펼치고 열기를 클릭합니다.

  3. 데이터 세트 공유를 클릭합니다.

  4. 데이터 세트 공유 대화상자에서 기존 항목을 삭제하려면 항목을 펼친 후 삭제 아이콘(휴지통)을 클릭합니다.

  5. 데이터 세트 공유 대화상자에서 새 항목을 추가하려면 다음 안내를 따르세요.

    1. 주 구성원 추가 상자에 항목을 입력합니다.

    2. 역할 선택 목록에서 적절한 IAM 역할을 선택합니다. 사전 정의된 각 BigQuery 역할에 할당된 권한에 대한 자세한 내용은 사전 정의된 역할 및 권한 페이지를 참조하세요.

    3. 추가를 클릭합니다.

  6. 승인된 보기를 추가하려면 Authorized View(승인된 보기) 탭을 클릭하고 프로젝트, 데이터 세트, 보기를 입력한 후 추가를 클릭합니다.

  7. 액세스 제어 권한을 추가 또는 삭제했으면 완료를 클릭합니다.

bq

  1. show 명령어를 사용하여 JSON 파일에 기존 데이터 세트 정보(액세스 제어 포함)를 씁니다. 데이터 세트가 기본 프로젝트가 아닌 다른 프로젝트에 있다면 프로젝트 ID를 project_id:dataset 형식으로 데이터 세트 이름에 추가합니다.

    bq show \
    --format=prettyjson \
    project_id:dataset > path_to_file

    다음을 바꿉니다.

    • project_id: 프로젝트 ID입니다.
    • dataset: 데이터 세트의 이름입니다.
    • path_to_file: 로컬 머신의 JSON 파일 경로입니다.

    예를 들면 다음과 같습니다.

    다음 명령어를 입력하여 mydataset에 대한 액세스 제어를 JSON 파일에 씁니다. 여기서 mydataset는 사용자의 기본 프로젝트에 있습니다.

    bq show --format=prettyjson mydataset > /tmp/mydataset.json

    다음 명령어를 입력하여 mydataset에 대한 액세스 제어를 JSON 파일에 씁니다. mydatasetmyotherproject에 있습니다.

    bq show --format=prettyjson \
    myotherproject:mydataset > /tmp/mydataset.json
  2. JSON 파일의 "access" 섹션을 변경합니다. specialGroup 항목(projectOwners, projectWriters, projectReaders, allAuthenticatedUsers)을 추가하거나 삭제할 수 있습니다. userByEmail, groupByEmail, domain 항목도 추가, 삭제 또는 수정할 수 있습니다.

    예를 들어 데이터 세트 JSON 파일의 액세스 섹션은 다음과 비슷합니다.

    {
     "access": [
      {
       "role": "READER",
       "specialGroup": "projectReaders"
      },
      {
       "role": "WRITER",
       "specialGroup": "projectWriters"
      },
      {
       "role": "OWNER",
       "specialGroup": "projectOwners"
      }
      {
       "role": "READER",
       "specialGroup": "allAuthenticatedUsers"
      }
      {
       "role": "READER",
       "domain": "[DOMAIN_NAME]"
      }
      {
       "role": "WRITER",
       "userByEmail": "[USER_EMAIL]"
      }
      {
       "role": "READER",
       "groupByEmail": "[GROUP_EMAIL]"
      }
     ],
    }

  3. 수정이 완료되면 update 명령어를 사용하고 --source 플래그로 JSON 파일을 포함합니다. 데이터 세트가 기본 프로젝트가 아닌 다른 프로젝트에 있다면 프로젝트 ID를 project_id:dataset 형식으로 데이터 세트 이름에 추가합니다.

    bq update --source path_to_file project_id:dataset

    다음을 바꿉니다.

    • path_to_file: 로컬 머신의 JSON 파일 경로입니다.
    • project_id: 프로젝트 ID입니다.
    • dataset: 데이터 세트의 이름입니다.

    예를 들면 다음과 같습니다.

    다음 명령어를 입력하여 mydataset에 대한 액세스 제어를 업데이트합니다. mydataset는 기본 프로젝트에 있습니다.

    bq update --source /tmp/mydataset.json mydataset

    다음 명령어를 입력하여 mydataset에 대한 액세스 제어를 업데이트합니다. mydatasetmyotherproject에 있습니다.

    bq update --source /tmp/mydataset.json myotherproject:mydataset
  4. 액세스 제어 변경사항을 확인하려면 파일에 정보를 쓰지 않고 show 명령어를 다시 입력합니다.

    bq show --format=prettyjson dataset

    또는

    bq show --format=prettyjson project_id:dataset

API

datasets.patch를 호출하고 데이터 세트 리소스access 속성을 업데이트합니다.

datasets.update 메서드는 전체 데이터 세트 리소스를 바꾸기 때문에 datasets.patch 메서드를 사용하여 액세스 제어를 업데이트하는 것이 좋습니다.

Go

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

BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.

import (
	"context"
	"fmt"

	"cloud.google.com/go/bigquery"
)

// updateDatasetAccessControl demonstrates how the access control policy of a dataset
// can be amended by adding an additional entry corresponding to a specific user identity.
func updateDatasetAccessControl(projectID, datasetID string) error {
	// projectID := "my-project-id"
	// datasetID := "mydataset"
	ctx := context.Background()
	client, err := bigquery.NewClient(ctx, projectID)
	if err != nil {
		return fmt.Errorf("bigquery.NewClient: %v", err)
	}
	defer client.Close()

	ds := client.Dataset(datasetID)
	meta, err := ds.Metadata(ctx)
	if err != nil {
		return err
	}
	// Append a new access control entry to the existing access list.
	update := bigquery.DatasetMetadataToUpdate{
		Access: append(meta.Access, &bigquery.AccessEntry{
			Role:       bigquery.ReaderRole,
			EntityType: bigquery.UserEmailEntity,
			Entity:     "sample.bigquery.dev@gmail.com"},
		),
	}

	// Leverage the ETag for the update to assert there's been no modifications to the
	// dataset since the metadata was originally read.
	if _, err := ds.Update(ctx, update, meta.ETag); err != nil {
		return err
	}
	return nil
}

자바

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

BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.

Dataset.toBuilder() 메서드를 사용하여 기존 Dataset 인스턴스에서 Dataset.Builder 인스턴스를 만듭니다. 데이터 세트 빌더 객체를 구성합니다. Dataset.Builder.build() 메서드를 사용하여 업데이트된 데이터 세트를 빌드하고 Dataset.update() 메서드를 호출하여 업데이트를 API로 보냅니다.

Dataset.Builder.setAcl() 메서드로 액세스 제어를 구성합니다.

import com.google.cloud.bigquery.Acl;
import com.google.cloud.bigquery.Acl.Role;
import com.google.cloud.bigquery.Acl.User;
import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryException;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Dataset;
import java.util.ArrayList;

public class UpdateDatasetAccess {

  public static void runUpdateDatasetAccess() {
    // TODO(developer): Replace these variables before running the sample.
    String datasetName = "MY_DATASET_NAME";
    updateDatasetAccess(datasetName);
  }

  public static void updateDatasetAccess(String datasetName) {
    try {
      // Initialize client that will be used to send requests. This client only needs to be created
      // once, and can be reused for multiple requests.
      BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();

      Dataset dataset = bigquery.getDataset(datasetName);

      // Create a new ACL granting the READER role to "sample.bigquery.dev@gmail.com"
      // For more information on the types of ACLs available see:
      // https://cloud.google.com/storage/docs/access-control/lists
      Acl newEntry = Acl.of(new User("sample.bigquery.dev@gmail.com"), Role.READER);

      // Get a copy of the ACLs list from the dataset and append the new entry
      ArrayList<Acl> acls = new ArrayList<>(dataset.getAcl());
      acls.add(newEntry);

      bigquery.update(dataset.toBuilder().setAcl(acls).build());
      System.out.println("Dataset Access Control updated successfully");
    } catch (BigQueryException e) {
      System.out.println("Dataset Access control was not updated \n" + e.toString());
    }
  }
}

Node.js

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

BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.

// Import the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();

async function updateDatasetAccess() {
  // Updates a datasets's access controls.

  /**
   * TODO(developer): Uncomment the following lines before running the sample.
   */
  // const datasetId = "my_dataset";

  // Create new role metadata
  const newRole = {
    role: 'READER',
    entity_type: 'userByEmail',
    userByEmail: 'sample.bigquery.dev@gmail.com',
  };

  // Retreive current dataset metadata
  const dataset = bigquery.dataset(datasetId);
  const [metadata] = await dataset.getMetadata();

  // Add new role to role acess array
  metadata.access.push(newRole);
  const [apiResponse] = await dataset.setMetadata(metadata);
  const newAccessRoles = apiResponse.access;
  newAccessRoles.forEach(role => console.log(role));
}

Python

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

BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.

데이터 세트에 대한 액세스 제어를 사용하여 dataset.access_entries 속성을 설정합니다. 그런 다음 client.update_dataset() 함수를 호출하여 속성을 업데이트합니다.

# TODO(developer): Set dataset_id to the ID of the dataset to fetch.
dataset_id = "your-project.your_dataset"

# TODO(developer): Set entity_id to the ID of the email or group from whom
# you are adding access. Alternatively, to the JSON REST API representation
# of the entity, such as a view's table reference.
entity_id = "user-or-group-to-add@example.com"

from google.cloud.bigquery.enums import EntityTypes

# TODO(developer): Set entity_type to the type of entity you are granting access to.
# Common types include:
#
# * "userByEmail" -- A single user or service account. For example "fred@example.com"
# * "groupByEmail" -- A group of users. For example "example@googlegroups.com"
# * "view" -- An authorized view. For example
#       {"projectId": "p", "datasetId": "d", "tableId": "v"}
#
# For a complete reference, see the REST API reference documentation:
# https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets#Dataset.FIELDS.access
entity_type = EntityTypes.GROUP_BY_EMAIL

# TODO(developer): Set role to a one of the "Basic roles for datasets"
# described here:
# https://cloud.google.com/bigquery/docs/access-control-basic-roles#dataset-basic-roles
role = "READER"

from google.cloud import bigquery

# Construct a BigQuery client object.
client = bigquery.Client()

dataset = client.get_dataset(dataset_id)  # Make an API request.

entries = list(dataset.access_entries)
entries.append(
    bigquery.AccessEntry(
        role=role,
        entity_type=entity_type,
        entity_id=entity_id,
    )
)
dataset.access_entries = entries

dataset = client.update_dataset(dataset, ["access_entries"])  # Make an API request.

full_dataset_id = "{}.{}".format(dataset.project, dataset.dataset_id)
print(
    "Updated dataset '{}' with modified user permissions.".format(full_dataset_id)
)

시간 이동 기간 업데이트

다음 방법으로 데이터 세트 시간 이동 기간을 업데이트할 수 있습니다.

  • Google Cloud 콘솔 사용
  • ALTER SCHEMA SET OPTIONS 문 사용
  • bq 명령줄 도구의 bq update 명령어 사용
  • datasets.patch 또는 datasets.update API 메서드 호출. update 메서드는 전체 데이터 세트 리소스를 바꾸는 반면 patch 메서드는 제출된 데이터 세트 리소스에 제공된 필드만 바꿉니다.

시간 이동 기간에 대한 상세 설명은 시간 이동 기간 구성을 참조하세요.

데이터 세트 시간 이동 기간을 업데이트하려면 다음 안내를 따르세요.

콘솔

  1. 탐색기 패널에서 프로젝트를 확장하고 데이터 세트를 선택합니다.
  2. 작업 옵션을 펼치고 열기를 클릭합니다.
  3. 세부정보 패널에서 세부정보 수정을 클릭합니다.
  4. 고급 옵션을 펼친 후 사용할 시간 이동 기간을 선택합니다.
  5. 저장을 클릭합니다.

SQL

데이터 세트를 변경할 때 시간 이동 기간을 지정하려면 max_time_travel_hours 옵션과 함께 ALTER SCHEMA SET OPTIONS 문을 사용합니다. max_time_travel_hours 값은 24(48, 72, 96, 120, 144, 168)의 배수로 표현된 48(2일)에서 168(7일) 사이의 정수여야 합니다.

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

    BigQuery로 이동

  2. 쿼리 편집기에서 다음 문을 입력합니다.

    ALTER SCHEMA DATASET_NAME
    SET OPTIONS(
      max_time_travel_hours = HOURS);

    다음을 바꿉니다.

    • DATASET_NAME: 업데이트할 데이터 세트의 이름
    • HOURS를 시간 이동 기간(시간)으로 바꿉니다.

  3. 실행을 클릭합니다.

쿼리를 실행하는 방법에 대한 자세한 내용은 대화형 쿼리 실행을 참조하세요.

bq

데이터 세트를 변경할 때 --max_time_travel_hours 플래그와 함께 bq update 명령어를 사용하여 이동 기간을 지정합니다. --max_time_travel_hours 값은 24(48, 72, 96, 120, 144, 168)의 배수로 표현된 48(2일)에서 168(7일) 사이의 정수여야 합니다.

bq update \
--dataset=true --max_time_travel_hours=HOURS \
PROJECT_ID:DATASET_NAME

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • DATASET_NAME: 업데이트할 데이터 세트의 이름입니다.
  • HOURS를 시간 이동 기간(시간)으로 바꿉니다.

API

maxTimeTravelHours 필드에 값을 지정한 데이터 세트 리소스를 정의하여 datasets.patch 또는 datasets.update 메서드를 호출합니다. maxTimeTravelHours 값은 24(48, 72, 96, 120, 144, 168)의 배수로 표현된 48(2일)에서 168(7일) 사이의 정수여야 합니다.

스토리지 청구 모델 업데이트

데이터 세트에 대한 스토리지 결제 모델을 변경할 수 있습니다. storage_billing_model 값을 PHYSICAL로 설정하여 스토리지 변경사항을 계산할 때 물리적 바이트를 사용하거나 LOGICAL로 설정하여 논리 바이트를 사용합니다. 기본값은 LOGICAL입니다.

데이터 세트의 청구 모델을 변경하면 변경사항이 적용되는 데 24시간 정도 걸립니다.

데이터 세트의 스토리지 청구 모델을 변경한 후에는 스토리지 청구 모델을 다시 변경할 수 있으려면 14일을 기다려야 합니다.

콘솔

  1. 탐색기 패널에서 프로젝트를 확장하고 데이터 세트를 선택합니다.
  2. 작업 옵션을 펼치고 열기를 클릭합니다.
  3. 세부정보 패널에서 세부정보 수정을 클릭합니다.
  4. 고급 옵션을 확장한 후 물리적 스토리지 청구 모델 사용 설정을 선택하여 물리적 스토리지 결제를 사용하거나 논리적 스토리지 결제를 사용하려면 선택 해제합니다.
  5. 저장을 클릭합니다.

SQL

데이터 세트에 대해 청구 모델을 업데이트하려면 ALTER SCHEMA SET OPTIONS을 사용하고 storage_billing_model 옵션을 설정합니다.

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

    BigQuery로 이동

  2. 쿼리 편집기에서 다음 문을 입력합니다.

    ALTER SCHEMA DATASET_NAME
    SET OPTIONS(
     storage_billing_model = 'BILLING_MODEL');

    다음을 바꿉니다.

    • DATASET_NAME을 변경하려는 데이터 세트의 이름으로 바꿉니다.
    • BILLING_MODEL을 사용하려는 스토리지 유형(LOGICAL 또는 PHYSICAL)으로 바꿉니다.

  3. 실행을 클릭합니다.

쿼리를 실행하는 방법에 대한 자세한 내용은 대화형 쿼리 실행을 참조하세요.

프로젝트의 모든 데이터 세트에 대해 스토리지 청구 모델을 업데이트하려면 데이터 세트가 있는 모든 리전에 대해 다음 SQL 쿼리를 사용합니다.

FOR record IN
 (SELECT CONCAT(catalog_name, '.', schema_name) AS dataset_path
 FROM PROJECT_ID.region-REGION.INFORMATION_SCHEMA.SCHEMATA)
DO
 EXECUTE IMMEDIATE
   "ALTER SCHEMA `" || record.dataset_path || "` SET OPTIONS(storage_billing_model = 'BILLING_MODEL')";
END FOR;

다음을 바꿉니다.

  • PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • REGION리전 한정자로 바꿉니다.
  • BILLING_MODEL을 사용하려는 스토리지 유형(LOGICAL 또는 PHYSICAL)으로 바꿉니다.

bq

데이터 세트에 대해 청구 모델을 업데이트하려면 bq update 명령어를 사용하고 --storage_billing_model 플래그를 설정합니다.

bq update -d --storage_billing_model=BILLING_MODEL PROJECT_ID:DATASET_NAME

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • DATASET_NAME: 업데이트할 데이터 세트의 이름입니다.
  • BILLING_MODEL: 사용하려는 스토리지 유형입니다(LOGICAL 또는 PHYSICAL).

API

storageBillingModel 필드가 설정된 정의된 데이터 세트 리소스datasets.update 메서드를 호출합니다.

다음 예시에서는 curl을 사용하여 datasets.update를 호출하는 방법을 보여줍니다.

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X PUT https://bigquery.googleapis.com/bigquery/v2/projects/PROJECT_ID/datasets/DATASET_ID -d '{"datasetReference": {"projectId": "PROJECT_ID", "datasetId": "DATASET_NAME"}, "storageBillingModel": "BILLING_MODEL"}'

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • DATASET_NAME: 업데이트할 데이터 세트의 이름입니다.
  • BILLING_MODEL: 사용하려는 스토리지 유형입니다(LOGICAL 또는 PHYSICAL).

데이터 세트 보안

BigQuery에서 데이터 세트에 대한 액세스를 제어하려면 데이터 세트에 대한 액세스 제어를 참조하세요. 데이터 암호화에 대한 자세한 내용은 저장 데이터 암호화를 참조하세요.

다음 단계