Migrar para a biblioteca de cliente da nuvem do Serviço de transferência de armazenamento

Para garantir a elevada qualidade e a consistência com as nossas outras bibliotecas do Cloud, a documentação do Serviço de transferência de armazenamento está agora a usar as bibliotecas cliente do Cloud em vez das bibliotecas cliente de APIs Google. Consulte o artigo Bibliotecas de cliente explicadas para mais informações sobre as duas opções.

A biblioteca cliente de APIs Google continua a receber atualizações, mas já não é referenciada na documentação.

Este guia aborda as principais diferenças no que diz respeito à utilização do Serviço de transferência de armazenamento e fornece instruções sobre a atualização dos seus clientes quando migrar para a biblioteca cliente do Google Cloud.

Java

A atualizar dependências

Para mudar para a nova biblioteca, substitua a sua dependência de google-api-services-storagetransfer por google-cloud-storage-transfer.

<dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-storage-transfer</artifactId>
    <version>0.2.3</version>
</dependency>

Se estiver a usar o Gradle sem a BOM, adicione o seguinte às suas dependências:

implementation 'com.google.cloud:google-cloud-storage-transfer:0.2.3'
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>libraries-bom</artifactId>
      <version>24.1.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-storage-transfer</artifactId>
  </dependency>

Na maioria dos casos, o código pode ser convertido com bastante facilidade da biblioteca cliente da API para a biblioteca cliente da nuvem. Seguem-se algumas diferenças importantes entre os dois clientes Java

Instanciação do cliente

A biblioteca de cliente da nuvem reduz grande parte do código repetitivo associado à instanciação do cliente, processando-o nos bastidores.

Biblioteca cliente da API

GoogleCredentials credential = GoogleCredentials.getApplicationDefault();
if (credential.createScopedRequired()) {
 credential = credential.createScoped(StoragetransferScopes.all());
}
Storagetransfer storageTransfer = new Storagetransfer.Builder(Utils.getDefaultTransport(),
   Utils.getDefaultJsonFactory(), new HttpCredentialsAdapter(credential))
   .build();

Biblioteca cliente da nuvem

StorageTransferServiceClient storageTransfer = StorageTransferServiceClient.create();

Construtores para classes de modelos

As classes de modelos na biblioteca cliente do Google Cloud usam criadores em vez de construtores.

Biblioteca cliente da API

TransferJob transferJob =
   new TransferJob()
       .setStatus("ENABLED");

Biblioteca cliente da nuvem

TransferJob transferJob =
   TransferJob.newBuilder()
       .setStatus(Status.ENABLED)
   .build();

As operações de apresentação devolvem iteráveis

As operações de lista na biblioteca cliente da Google Cloud devolvem iteráveis simples em vez dos resultados paginados na biblioteca cliente da API.

Biblioteca cliente da API

public class StoragetransferExample {
  public static void main(String args[]) throws IOException, GeneralSecurityException {
    Storagetransfer storagetransferService = createStoragetransferService();
    Storagetransfer.TransferJobs.List request = storagetransferService.transferJobs().list();

    ListTransferJobsResponse