Storage Transfer Service-Clientbibliotheken

Auf dieser Seite werden die ersten Schritte mit den Cloud-Clientbibliotheken für die Google Storage Transfer API beschrieben. Weitere Informationen zu den Client bibliotheken für Cloud APIs, einschließlich der älteren Google API-Clientbibliotheken, finden Sie unter Erläuterung zu Clientbibliotheken.

Informationen zum Aktualisieren von der Google API-Clientbibliothek auf die Cloud-Clientbibliothek, die auf dieser Seite beschrieben wird, finden Sie im Migrationsleitfaden für den Storage Transfer Service.

Clientbibliothek installieren

C++

Weitere Informationen zur Installation der C++-Bibliothek finden Sie im Leitfaden Entwicklungsumgebung für C++ einrichten.

C#

Weitere Informationen finden Sie unter C#-Entwicklungsumgebung einrichten.

Wenn Sie Visual Studio 2017 oder höher verwenden, öffnen Sie das NuGet Package Manager-Fenster und geben Sie Folgendes ein:

Install-Package Google.Cloud.StorageTransfer.V1

Wenn Sie die .NET Core-Befehlszeilentools zum Installieren der Abhängigkeiten verwenden, führen Sie den folgenden Befehl aus:

dotnet add package Google.Cloud.StorageTransfer.V1

Go

Weitere Informationen finden Sie unter Go-Entwicklungsumgebung einrichten.

go get cloud.google.com/go/storagetransfer

Java

Weitere Informationen finden Sie unter Java-Entwicklungsumgebung einrichten.

Wenn Sie Maven verwenden, fügen Sie der Datei pom.xml Folgendes hinzu:

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

Wenn Sie Gradle ohne BOM verwenden, fügen Sie Ihren Abhängigkeiten Folgendes hinzu:

implementation 'com.google.cloud:google-cloud-storage-transfer:1.80.0'

Node.js

Weitere Informationen finden Sie unter Node.js-Entwicklungsumgebung einrichten.

npm install @google-cloud/storage-transfer

PHP

Weitere Informationen finden Sie unter PHP auf Google Cloud verwenden.

composer require google/cloud

Python

Weitere Informationen finden Sie unter Python-Entwicklungsumgebung einrichten.

pip install --upgrade google-cloud-storage-transfer

Ruby

Weitere Informationen finden Sie unter Ruby-Entwicklungsumgebung einrichten.

gem install google-cloud-storage_transfer

Authentifizierung einrichten

Wenn Sie Clientbibliotheken verwenden, authentifizieren Sie sich mit Standardanmeldedaten für Anwendungen. Weitere Informationen finden Sie unter Mit Clientbibliotheken authentifizieren.

Clientbibliothek verwenden

In den folgenden Beispielen wird gezeigt, wie Sie die Clientbibliothek verwenden.

Bevor Sie diese Beispiele verwenden, folgen Sie der Anleitung unter Zugriff konfigurieren, um die erforderlichen Berechtigungen einzurichten.

C++

Informationen zum Installieren und Verwenden der Clientbibliothek für den Storage Transfer Service finden Sie unter Storage Transfer Service-Clientbibliotheken.

Richten Sie zur Authentifizierung beim Storage Transfer Service die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


#include "google/cloud/storagetransfer/v1/storage_transfer_client.h"
#include <iostream>
#include <string>

int main(int argc, char* argv[]) try {
  if (argc != 2) {
    std::cerr << "Usage: " << argv[0] << " project-id\n";
    return 1;
  }

  namespace storagetransfer = ::google::cloud::storagetransfer_v1;
  auto client = storagetransfer::StorageTransferServiceClient(
      storagetransfer::MakeStorageTransferServiceConnection());

  ::google::storagetransfer::v1::ListTransferJobsRequest request;
  request.set_filter(R"""({"projectId": ")""" + std::string{argv[1]} + "\"}");
  for (auto r : client.ListTransferJobs(request)) {
    if (!r) throw std::move(r).status();
    std::cout << r->DebugString() << "\n";
  }

  return 0;
} catch (google::cloud::Status const& status) {
  std::cerr << "google::cloud::Status thrown: " << status << "\n";
  return 1;
}

C#

Informationen zum Installieren und Verwenden der Clientbibliothek für den Storage Transfer Service finden Sie unter Storage Transfer Service-Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für den Storage Transfer Service C# in C#.

Richten Sie zur Authentifizierung beim Storage Transfer Service die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


using Google.Cloud.StorageTransfer.V1;
using System;

public class QuickStartSample
{
    /// <summary>
    /// Creates an one-time transfer job from a Google Cloud storage bucket to another bucket.
    /// </summary>
    /// <param name="projectId">The ID of the Google Cloud project.</param>
    /// <param name="sourceBucket">The GCS bucket to transfer data from.</param>
    /// <param name="sinkBucket">The GCS bucket to transfer data to.</param>
    public TransferJob QuickStart(
        string projectId = "my-project-id",
        string sourceBucket = "my-source-bucket",
        string sinkBucket = "my-sink-bucket")
    {
        TransferJob transferJob = new TransferJob
        {
            ProjectId = projectId,
            TransferSpec = new TransferSpec
            {
                GcsDataSink = new GcsData { BucketName = sinkBucket },
                GcsDataSource = new GcsData { BucketName = sourceBucket }
            },
            Status = TransferJob.Types.Status.Enabled
        };

        StorageTransferServiceClient client = StorageTransferServiceClient.Create();
        TransferJob response = client.CreateTransferJob(new CreateTransferJobRequest { TransferJob = transferJob });
        client.RunTransferJob(new RunTransferJobRequest
        {
            JobName = response.Name,
            ProjectId = projectId
        });

        Console.WriteLine($"Created and ran transfer job from {sourceBucket} to {sinkBucket} with name {response.Name}");
        return response;
    }
}

Go

Informationen zum Installieren und Verwenden der Clientbibliothek für den Storage Transfer Service finden Sie unter Storage Transfer Service-Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für den Storage Transfer Service Go.

Richten Sie zur Authentifizierung beim Storage Transfer Service die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

import (
	"context"
	"fmt"
	"io"

	storagetransfer "cloud.google.com/go/storagetransfer/apiv1"
	"cloud.google.com/go/storagetransfer/apiv1/storagetransferpb"
)

// quickstart creates and runs a transfer job between two GCS buckets.
func quickstart(w io.Writer, projectID string, sourceGCSBucket string, sinkGCSBucket string) (*storagetransferpb.TransferJob, error) {
	// Your Google Cloud Project ID
	// projectID := "my-project-id"

	// The name of the GCS bucket to transfer data from
	// sourceGCSBucket := "my-source-bucket"

	// The name of the GCS bucket to transfer data to
	// sinkGCSBucket := "my-sink-bucket"
	ctx := context.Background()
	client, err := storagetransfer.NewClient(ctx)
	if err != nil {
		return nil, fmt.Errorf("storagetransfer.NewClient: %w", err)
	}
	defer client.Close()

	req := &storagetransferpb.CreateTransferJobRequest{
		TransferJob: &storagetransferpb.TransferJob{
			ProjectId: projectID,
			TransferSpec: &storagetransferpb.TransferSpec{
				DataSource: &storagetransferpb.TransferSpec_GcsDataSource{
					GcsDataSource: &storagetransferpb.GcsData{BucketName: sourceGCSBucket}},
				DataSink: &storagetransferpb.TransferSpec_GcsDataSink{
					GcsDataSink: &storagetransferpb.GcsData{BucketName: sinkGCSBucket}},
			},
			Status: storagetransferpb.TransferJob_ENABLED,
		},
	}
	resp, err := client.CreateTransferJob(ctx, req)
	if err != nil {
		return nil, fmt.Errorf("failed to create transfer job: %w", err)
	}
	if _, err = client.RunTransferJob(ctx, &storagetransferpb.RunTransferJobRequest{
		ProjectId: projectID,
		JobName:   resp.Name,
	}); err != nil {
		return nil, fmt.Errorf("failed to run transfer job: %w", err)
	}

	fmt.Fprintf(w, "Created and ran transfer job from %v to %v with name %v", sourceGCSBucket, sinkGCSBucket, resp.Name)
	return resp, nil
}

Java

Informationen zum Installieren und Verwenden der Clientbibliothek für den Storage Transfer Service finden Sie unter Storage Transfer Service-Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für den Storage Transfer Service Java.

Richten Sie zur Authentifizierung beim Storage Transfer Service die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

import com.google.storagetransfer.v1.proto.StorageTransferServiceClient;
import com.google.storagetransfer.v1.proto.TransferProto.CreateTransferJobRequest;
import com.google.storagetransfer.v1.proto.TransferProto.RunTransferJobRequest;
import com.google.storagetransfer.v1.proto.TransferTypes.GcsData;
import com.google.storagetransfer.v1.proto.TransferTypes.TransferJob;
import com.google.storagetransfer.v1.proto.