Configurar endpoints de biblioteca de cliente

Cada serviço da API Google Cloud é acessado por um endpoint específico do serviço.

Por exemplo, as bibliotecas de cliente Java-Speech e Java-Translate têm endpoints padrão https://speech.googleapis.com:443 e https://translate.googleapis.com:443, respectivamente.

As bibliotecas de cliente do Cloud para Java determinam automaticamente o endpoint de serviço correto durante a inicialização do cliente. Se nenhum endpoint personalizado for configurado, as bibliotecas usarão o endpoint padrão do serviço.

Anatomia de um endpoint

Usando o endpoint Java-Speech como exemplo, a tabela a seguir detalha as seções que compõem o endpoint:

Esquema Nome do serviço Domínio do universo Porta
https:// speech googleapis.com 443

Esses são os valores padrão de todos os endpoints das bibliotecas de cliente do Cloud para Java, exceto o nome do serviço. O nome do serviço não tem um valor padrão porque cada Google Cloud serviço tem um valor diferente.

Quando configurar um endpoint personalizado

Há alguns casos de uso para substituir o endpoint padrão, como:

  • O serviço oferece endpoints regionais. O endpoint padrão não considera variantes regionais.
  • Você não está trabalhando em produção. Por exemplo, você está testando localmente com um emulador sem configurar o TLS.

Modifique a configuração do endpoint apenas se necessário. Ao usar um endpoint personalizado, inclua o número da porta (por exemplo, example.com:443). As bibliotecas de cliente não adicionam automaticamente uma porta padrão, como 443, a endpoints personalizados, ao contrário do que fazem com endpoints de serviço padrão.

Configurar um endpoint personalizado

É possível definir o endpoint no ClientSettings específico do serviço nas bibliotecas de cliente do Cloud para Java.

O exemplo a seguir usa Java-KMS:

  1. Defina o endpoint no ClientSettings.Builder e crie o ClientSettings:

    // Replace with your desired endpoint
    String endpoint = "customEndpoint.com:443";
    KeyManagementServiceSettings keyManagementServiceSettings =
     KeyManagementServiceSettings.newBuilder()
        .setEndpoint(endpoint)
        .build();
    
  2. Inicie o cliente com ClientSettings:

    try (KeyManagementServiceClient keyManagementServiceClient =
      KeyManagementServiceClient.create(keyManagementServiceSettings)) {
      ...
    }
    

    O endpoint se refere a customEndpoint.com:443.

    O cliente usa o endpoint da primeira das seguintes fontes que fornecer um:

    1. O endpoint definido de maneira programática via ClientSettings.Builder.setEndpoint().
    2. O endpoint padrão do serviço, como https://{serviceName}.googleapis.com:443.

O snippet a seguir mostra como determinar o endpoint resolvido do cliente:

// The client's settings class contains a getter for the endpoint
keyManagementServiceClient.getSettings().getEndpoint();