클라이언트 라이브러리 업그레이드

이 페이지에서는 이전에 설치된 Cloud Bigtable 클라이언트 라이브러리를 업그레이드하는 방법을 설명합니다. 클라이언트 라이브러리를 처음 설치해야 하는 경우 선호하는 프로그래밍 언어에 해당하는 안내에 따르세요. Cloud Bigtable 클라이언트 라이브러리

Java용 Bigtable 클라이언트

BigtableTableAdminClientBigtableInstanceAdminClient의 편의 메서드는 지원 중단되었습니다.

코드를 업그레이드하려면 정적 create() 팩토리 메서드를 사용하여 V2 클라이언트(BigtableTableAdminClientV2BigtableInstanceAdminClientV2)를 인스턴스화합니다. 이러한 클라이언트에서 표준 프로토콜 버퍼 메서드를 직접 호출합니다.

이렇게 하려면 커스텀 래퍼 요청 객체 (예: com.google.cloud.bigtable.admin.v2.models.CreateTableRequest)를 완전히 정규화된 리소스 이름을 예상하는 표준 프로토콜 버퍼 요청 객체 (예: com.google.bigtable.admin.v2.CreateTableRequest)로 바꿔야 합니다.

다음 예와 같이 코드를 업데이트합니다.

  // Existing code
  BigtableTableAdminClient adminClient = BigtableTableAdminClient.create(PROJECT_ID, INSTANCE_ID);
  adminClient.createTable(
      CreateTableRequest.of(TABLE_ID)
          .addFamily("cf1"));

  // New code
  import com.google.bigtable.admin.v2.ColumnFamily;
  import com.google.bigtable.admin.v2.CreateTableRequest;
  import com.google.bigtable.admin.v2.Table;
  import com.google.cloud.bigtable.admin.v2.BigtableTableAdminClientV2;

  // ...

  try (BigtableTableAdminClientV2 adminClient = BigtableTableAdminClientV2.create()) {
    String parent = "projects/" + PROJECT_ID + "/instances/" + INSTANCE_ID;
    CreateTableRequest request =
        CreateTableRequest.newBuilder()
            .setParent(parent)
            .setTableId(TABLE_ID)
            .setTable(Table.newBuilder()
                .putColumnFamilies("cf1", ColumnFamily.getDefaultInstance())
                .build())
            .build();
    adminClient.createTable(request);
  }

다음을 바꿉니다.

  • PROJECT_ID: Bigtable 프로젝트의 식별자
  • INSTANCE_ID: Bigtable 인스턴스의 식별자
  • TABLE_ID: 새 테이블의 식별자

자바용 HBase 클라이언트

자바용 HBase 클라이언트 버전 1.0 이상에서 업그레이드하는 경우 구성에서 버전 번호만 업데이트하면 됩니다. 코드는 업데이트할 필요가 없습니다.

1.0 이전의 HBase 클라이언트에서 업그레이드하는 경우 다음 단계를 완료하세요.

  1. 종속 항목을 업데이트하여 최신 클라이언트 라이브러리를 사용하도록 하고 더 이상 필요 없는 아티팩트를 삭제합니다.

    • 종속 항목에 bigtable-hbase-1.0, bigtable-hbase-1.1, bigtable-hbase-1.2 아티팩트가 있는 경우 삭제합니다.

    • 애플리케이션의 다른 부분에서 필요하지 않다면 종속 항목에서 netty-tcnative-boringssl-static을 삭제합니다.

    • 사용 사례에 따라 다음 아티팩트 중 하나를 종속 항목에 추가합니다. 2.x 버전에는 1.x 버전에 없는 HBase 비동기 클라이언트가 포함됩니다.

      • bigtable-hbase-1.x 또는 bigtable-hbase-2.x: 종속 항목을 제어하는 독립형 애플리케이션에 사용합니다.
      • bigtable-hbase-1.x-hadoop 또는 bigtable-hbase-2.x-hadoop: Hadoop 환경에 사용합니다.
      • protobuf 또는 Guava와 같은 이전 버전의 구성요소가 필요한 Hadoop 이외의 환경에 사용합니다.
  2. Bigtable에 연결하기 위한 구성 설정을 업데이트 합니다.

    • 코드 또는 hbase-site.xml 파일의 구성 설정에 hbase.client.connection.impl의 값이 포함되는 경우 값을 com.google.cloud.bigtable.hbase1_x.BigtableConnection로 변경합니다.

    • BigtableConnection 클래스를 직접 사용하는 경우 코드를 업데이트하여 com.google.cloud.bigtable.hbase1_x.BigtableConnection를 대신 사용합니다.

    • hbase-site.xml 파일을 사용하여 Bigtable에 연결하는 경우:

      • google.bigtable.instance.id 속성이 없는 경우 추가합니다. 인스턴스 ID의 속성 값을 설정합니다.
      • google.bigtable.cluster.name 속성이 있는 경우 삭제합니다.
      • google.bigtable.zone.name 속성이 있는 경우 삭제합니다.
    • BigtableConfiguration.connect()를 호출하여 Bigtable에 연결하는 경우 아래와 같이 코드를 업데이트해야 합니다.

    // Existing code
    BigtableConfiguration.connect(PROJECT_ID, ZONE_ID, CLUSTER_ID);
    
    // New code
    BigtableConfiguration.connect(PROJECT_ID, INSTANCE_ID);
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트의 식별자입니다.
    • ZONE_ID: 클러스터가 있는 영역입니다.
    • CLUSTER_ID: 클러스터의 식별자입니다.
    • INSTANCE_ID: 인스턴스의 식별자입니다.
  3. 로컬 개발, 테스트, 스테이징, 프로덕션을 포함한 모든 환경에서 애플리케이션을 재배포 합니다.

자바용 HBase 클라이언트 출시 목록은 GitHub의 출시 내역을 참조하세요.

Go

2016년 6월, Go 클라이언트의 Bigtable 연결 방법이 변경되었습니다. 클러스터 ID 및 영역을 지정하는 대신 인스턴스 ID를 지정합니다. 콘솔을 방문하면 Google Cloud 인스턴스 ID를 찾을 수 있습니다.

클라이언트 라이브러리를 다운로드하려면 GitHub의 코드 저장소를 방문하세요.

다음 예와 같이 코드를 업데이트합니다.

  // Existing code
  adminClient, err := bigtable.NewAdminClient(ctx, PROJECT_ID, ZONE, CLUSTER_ID)
  client, err := bigtable.NewClient(ctx, PROJECT_ID, ZONE, CLUSTER_ID)

  // New code
  adminClient, err := bigtable.NewAdminClient(ctx, PROJECT_ID, INSTANCE_ID)
  client, err := bigtable.NewClient(ctx, PROJECT_ID, INSTANCE_ID)

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트의 식별자입니다.
  • ZONE: 클러스터가 있는 영역입니다.
  • CLUSTER_ID: 연결하려는 클러스터의 식별자입니다.
  • INSTANCE_ID: 연결하려는 인스턴스의 식별자입니다.

Go 클라이언트 라이브러리 출시 목록은 GitHub의 출시 내역을 참조하세요.

다음 단계