Get instance details

Get instance details given the instance ID in the current project.

Code sample

C#

To learn how to install and use the client library for Bigtable, see Bigtable client libraries.

// Initialize request argument(s).
GetInstanceRequest request = new GetInstanceRequest
{
    InstanceName = new InstanceName(projectId, instanceId)
};
try
{
    // Make Request.
    Console.WriteLine("Waiting for operation to complete...");
    Instance respond = bigtableInstanceAdminClient.GetInstance(request);
}
catch (Exception ex)
{
    Console.WriteLine($"Exception retreiving {instanceId} instance");
    Console.WriteLine(ex.Message);
}

C++

To learn how to install and use the client library for Bigtable, see Bigtable client libraries.

namespace cbt = ::google::cloud::bigtable;
using ::google::cloud::StatusOr;
[](cbt::InstanceAdmin instance_admin, std::string const& instance_id) {
  StatusOr<google::bigtable::admin::v2::Instance> instance =
      instance_admin.GetInstance(instance_id);
  if (!instance) throw std::runtime_error(instance.status().message());
  std::cout << "GetInstance details : " << instance->DebugString() << "\n";
}

Java

To learn how to install and use the client library for Bigtable, see Bigtable client libraries.

Instance instance = null;
try {
  instance = adminClient.getInstance(instanceId);
  System.out.println("Instance ID: " + instance.getId());
  System.out.println("Display Name: " + instance.getDisplayName());
  System.out.print("Labels: ");
  Map<String, String> labels = instance.getLabels();
  for (String key : labels.keySet()) {
    System.out.printf("%s - %s", key, labels.get(key));
  }
  System.out.println("\nState: " + instance.getState());
  System.out.println("Type: " + instance.getType());
} catch (NotFoundException e) {
  System.err.println("Failed to get non-existent instance: " + e.getMessage());
}

Node.js

To learn how to install and use the client library for Bigtable, see Bigtable client libraries.

const [instances2] = await bigtable.instance(instanceID).get();
console.log(`Instance ID: ${instances2.id}`);
console.log(`Instance Meta: ${JSON.stringify(instances2.metadata)}`);

PHP

To learn how to install and use the client library for Bigtable, see Bigtable client libraries.

use Google\Cloud\Bigtable\Admin\V2\BigtableInstanceAdminClient;
use Google\Cloud\Bigtable\Admin\V2\Instance\Type;
use Google\Cloud\Bigtable\Admin\V2\Instance\State;
use Google\ApiCore\ApiException;

/**
 * Get a Bigtable instance
 *
 * @param string $projectId The Google Cloud project ID
 * @param string $instanceId The ID of the Bigtable instance
 */
function get_instance(
    string $projectId,
    string $instanceId
): void {
    $instanceAdminClient = new BigtableInstanceAdminClient();
    $instanceName = $instanceAdminClient->instanceName($projectId, $instanceId);

    printf('Fetching the Instance %s' . PHP_EOL, $instanceId);
    try {
        $instance = $instanceAdminClient->getInstance($instanceName);
    } catch (ApiException $e) {
        if ($e->getStatus() === 'NOT_FOUND') {
            printf('Instance %s does not exists.' . PHP_EOL, $instanceId);
            return;
        }
        throw $e;
    }

    printf('Printing Details:' . PHP_EOL);

    // Fetch some commonly used metadata
    printf('Name: ' . $instance->getName() . PHP_EOL);
    printf('Display Name: ' . $instance->getDisplayName() . PHP_EOL);
    printf('State: ' . State::name($instance->getState()) . PHP_EOL);
    printf('Type: ' . Type::name($instance->getType()) . PHP_EOL);
    printf('Labels: ' . PHP_EOL);

    $labels = $instance->getLabels();

    // Labels are an object of the MapField class which implement the IteratorAggregate, Countable
    // and ArrayAccess interfaces so you can do the following:
    printf("\tNum of Labels: " . $labels->count() . PHP_EOL);
    printf("\tLabel with a key(dev-label): " . ($labels->offsetExists('dev-label') ? $labels['dev-label'] : 'N/A') . PHP_EOL);

    // we can even loop over all the labels
    foreach ($labels as $key => $val) {
        printf("\t$key: $val" . PHP_EOL);
    }
}

Python

To learn how to install and use the client library for Bigtable, see Bigtable client libraries.

print(
    "\nName of instance: {}\nLabels: {}".format(
        instance.display_name, instance.labels
    )
)

Ruby

To learn how to install and use the client library for Bigtable, see Bigtable client libraries.

# instance_id = "my-instance"
instance = bigtable.instance instance_id
puts "Get Instance id: #{instance.instance_id}"

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser.