Internen SFTP-Server erstellen

In diesem Dokument wird beschrieben, wie Sie mit Cloud FTP einen internen SFTP-Server erstellen. Auf einen internen SFTP-Server kann nur innerhalb Ihres VPC-Netzwerks (Virtual Private Cloud) über Private Service Connect zugegriffen werden. Mitarbeiter und interne Stakeholder in Ihrem Netzwerk können den Server verwenden, um Dateien sicher in und aus Cloud Storage zu übertragen.

Sie geben die Projekte an, die eine Verbindung zum Server herstellen dürfen. Optional können Sie Projekte angeben, deren Verbindung abgelehnt wird.

Hintergrundinformationen zu VPC finden Sie unter VPC-Übersicht.

Eine Anleitung zum Erstellen eines externen Servers, auf den über das Internet zugegriffen werden kann, finden Sie unter Externen SFTP-Server erstellen. Sie können nicht mehr ändern, ob ein Server extern oder intern ist, nachdem der Server erstellt wurde.

Hinweis

Console

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Cloud FTP API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Cloud FTP API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  10. Erheben Sie die folgenden Informationen zu den Nutzern Ihres Servers:

    • Eine Liste von Projekt-IDs oder Projektnummern, die auf den Server zugreifen dürfen.
    • (Optional) Eine Liste von Projekt-IDs oder Projektnummern, die vom Zugriff auf den Server ausgeschlossen sind.

gcloud

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Installieren Sie die Google Cloud CLI.

  3. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  4. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  5. Google Cloud -Projekt erstellen oder auswählen.

    Erforderliche Rollen zum Auswählen oder Erstellen eines Projekts

    • Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
    • Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Project Creator“ (roles/resourcemanager.projectCreator), die die Berechtigung resourcemanager.projects.create enthält. Informationen zum Zuweisen von Rollen
    • Erstellen Sie ein Projekt in Google Cloud :

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch einen Namen für das Google Cloud -Projekt, das Sie erstellen.

    • Wählen Sie das von Ihnen erstellte Projekt Google Cloud aus:

      gcloud config set project PROJECT_ID

      Ersetzen Sie PROJECT_ID durch den Namen Ihres Projekts in Google Cloud .

  6. Wenn Sie für diese Anleitung ein vorhandenes Projekt verwenden, prüfen Sie, ob Sie die erforderlichen Berechtigungen haben. Wenn Sie ein neues Projekt erstellt haben, haben Sie bereits die erforderlichen Berechtigungen.

  7. Prüfen Sie, ob die Abrechnung für Ihr Google Cloud -Projekt aktiviert ist.

  8. Aktivieren Sie die Cloud FTP API, falls sie noch nicht aktiviert ist:

    Erforderliche Rollen zum Aktivieren von APIs

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    gcloud services enable ftp.googleapis.com
  9. Installieren Sie die Google Cloud CLI.

  10. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  11. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  12. Google Cloud -Projekt erstellen oder auswählen.

    Erforderliche Rollen zum Auswählen oder Erstellen eines Projekts

    • Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
    • Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Project Creator“ (roles/resourcemanager.projectCreator), die die Berechtigung resourcemanager.projects.create enthält. Informationen zum Zuweisen von Rollen
    • Erstellen Sie ein Projekt in Google Cloud :

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch einen Namen für das Google Cloud -Projekt, das Sie erstellen.

    • Wählen Sie das von Ihnen erstellte Projekt Google Cloud aus:

      gcloud config set project PROJECT_ID

      Ersetzen Sie PROJECT_ID durch den Namen Ihres Projekts in Google Cloud .

  13. Wenn Sie für diese Anleitung ein vorhandenes Projekt verwenden, prüfen Sie, ob Sie die erforderlichen Berechtigungen haben. Wenn Sie ein neues Projekt erstellt haben, haben Sie bereits die erforderlichen Berechtigungen.

  14. Prüfen Sie, ob die Abrechnung für Ihr Google Cloud -Projekt aktiviert ist.

  15. Aktivieren Sie die Cloud FTP API, falls sie noch nicht aktiviert ist:

    Erforderliche Rollen zum Aktivieren von APIs

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    gcloud services enable ftp.googleapis.com
  16. Erheben Sie die folgenden Informationen zu den Nutzern Ihres Servers:

    • Eine Liste von Projekt-IDs oder Projektnummern, die auf den Server zugreifen dürfen.
    • (Optional) Eine Liste von Projekt-IDs oder Projektnummern, die vom Zugriff auf den Server ausgeschlossen sind.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Cloud FTP Admin (roles/ftp.admin) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines SFTP-Servers benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen eines SFTP-Servers erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Erstellen eines SFTP-Servers erforderlich:

  • ftp.servers.create
  • Wenn Sie die Google Cloud Console für diese Aufgabe verwenden:
    • ftp.servers.list
    • ftp.locations.list

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Internen Server erstellen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cloud FTP auf.

    Zu Cloud FTP

  2. Klicken Sie auf Server erstellen.

  3. Geben Sie auf dem Tab Serverkonfiguration die grundlegenden Details für den Server ein:

    1. Geben Sie im Feld Server-ID eine eindeutige ID für den Server ein.

    2. Wählen Sie in der Liste Region den Google Cloud -Standort für den Server aus.

      Erstellen Sie den Server am selben Standort wie den Cloud Storage-Bucket, in dem Ihre Daten gespeichert sind, um die schnellsten Datenübertragungsgeschwindigkeiten zu erzielen. Wenn der Standort des Buckets von Cloud FTP nicht unterstützt wird, wählen Sie den nächstgelegenen verfügbaren Standort aus.

    3. Optional: Geben Sie einen Anzeigenamen für den Server ein.

    4. Klicken Sie auf Weiter.

  4. Konfigurieren Sie auf dem Tab Netzwerk und Sicherheit die Verbindung für den Server:

    1. Wählen Sie Intern (nur VPC) aus.

    2. Geben Sie im Abschnitt Akzeptierte Projekte die Nutzerprojekte an, die über Private Service Connect eine Verbindung zum Server herstellen dürfen. Gehen Sie dazu so vor:

      1. Geben Sie im Feld Projekt-ID oder -nummer die Projekt-ID oder -nummer eines Projekts ein, das eine Verbindung herstellen darf. Beispiel: example-allowed-project

      2. Geben Sie im Feld Verbindungslimit die maximale Anzahl von Private Service Connect-Endpunkten ein, die im Nutzerprojekt erstellt werden können. Der Wert muss zwischen 1 und 250 Endpunkten liegen.

      3. Wenn Sie weitere Projekte hinzufügen möchten, klicken Sie auf Akzeptiertes Projekt hinzufügen und wiederholen Sie die vorherigen Schritte.

    3. (Optional) Wenn Sie verhindern möchten, dass Projekte eine Verbindung zum Server herstellen, klicken Sie im Bereich Abgelehnte Projekte auf Abgelehntes Projekt hinzufügen. Geben Sie die Projekt-ID oder ‑nummer eines Nutzerprojekts ein, das keine Verbindung zum Server herstellen darf.

      Projekten in dieser Liste wird der Zugriff auf den Server verweigert, auch wenn sie in der Liste der zulässigen Projekte enthalten sind.

  5. Klicken Sie auf Erstellen.

    Es dauert etwa 10 Minuten, bis der Server erstellt ist.

gcloud

Führen Sie den Befehl gcloud alpha storage ftp servers create aus und geben Sie das Flag --access-type=INTERNAL an, um einen internen Server zu erstellen.

Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

  • SERVER_ID: eine eindeutige ID für den Server. Muss mit einem Kleinbuchstaben beginnen und mit einem Kleinbuchstaben oder einer Ziffer enden. Kann Kleinbuchstaben, Ziffern und Bindestriche enthalten. Darf nicht mit dem Präfix goog beginnen oder den String google enthalten, einschließlich ähnlicher, falsch geschriebener Versionen wie g00gle. Die maximale Länge beträgt 30 Zeichen.
  • LOCATION_ID: der Google Cloud -Standort des Servers, z. B. us-west1.

    Erstellen Sie den Server am selben Standort wie den Cloud Storage-Bucket, in dem Ihre Daten gespeichert sind, um die schnellsten Datenübertragungsgeschwindigkeiten zu erzielen. Wenn der Standort des Buckets von Cloud FTP nicht unterstützt wird, wählen Sie den nächstgelegenen verfügbaren Standort aus.

  • PROJECT_TO_ALLOW: die Projekt-ID oder -Nummer eines Nutzerprojekts, das über Private Service Connect eine Verbindung zum Server herstellen darf. Beispiel: example-allowed-project. Sie müssen mindestens ein Projekt angeben.

    Sie können maximal 500 Projekte zulassen. Geben Sie mehrere Projekte und die zugehörigen Verbindungslimits in einer durch Kommas getrennten Liste an. z. B. --consumer-accept-list=projectA=20,projectB=15

  • CONNECTION_LIMIT: die maximale Anzahl von Private Service Connect-Endpunkten, die im Nutzerprojekt erstellt werden können. Der Wert muss zwischen 1 und 250 Endpunkten liegen.
  • (Optional) PROJECT_TO_REJECT: die Projekt-ID oder ‑nummer eines Nutzerprojekts, das keine Verbindung zum Server herstellen darf. Beispiel: example-rejected-project. Projekten in dieser Liste wird der Zugriff auf den Server verweigert, auch wenn sie in der Liste der zulässigen Projekte enthalten sind.

    Sie können maximal 64 Projekte ablehnen. Geben Sie mehrere Projekte in einer durch Kommas getrennten Liste an.

    Wenn Sie keine Projekte explizit ablehnen möchten, lassen Sie das Flag --consumer-reject-list weg.

Führen Sie folgenden Befehl aus:

Linux, macOS oder Cloud Shell

gcloud alpha storage ftp servers create SERVER_ID --access-type=INTERNAL \
    --location=LOCATION_ID \
    --consumer-accept-list=PROJECT_TO_ALLOW=CONNECTION_LIMIT \
    --consumer-reject-list=PROJECT_TO_REJECT

Windows (PowerShell)

gcloud alpha storage ftp servers create SERVER_ID --access-type=INTERNAL `
    --location=LOCATION_ID `
    --consumer-accept-list=PROJECT_TO_ALLOW=CONNECTION_LIMIT `
    --consumer-reject-list=PROJECT_TO_REJECT

Windows (cmd.exe)

gcloud alpha storage ftp servers create SERVER_ID --access-type=INTERNAL ^
    --location=LOCATION_ID ^
    --consumer-accept-list=PROJECT_TO_ALLOW=CONNECTION_LIMIT ^
    --consumer-reject-list=PROJECT_TO_REJECT

Es dauert etwa 10 Minuten, bis der Server erstellt ist.

REST

Verwenden Sie zum Erstellen eines internen Servers die Methode servers.create und geben Sie eine internalConfig-Zugriffskonfiguration an.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: die Google Cloud -Projekt-ID des Servers.
  • LOCATION_ID: der Google Cloud -Standort des Servers, z. B. us-west1.

    Erstellen Sie den Server am selben Standort wie den Cloud Storage-Bucket, in dem Ihre Daten gespeichert sind, um die schnellsten Datenübertragungsgeschwindigkeiten zu erzielen. Wenn der Standort des Buckets von Cloud FTP nicht unterstützt wird, wählen Sie den nächstgelegenen verfügbaren Standort aus.

  • SERVER_ID: eine eindeutige ID für den Server. Muss mit einem Kleinbuchstaben beginnen und mit einem Kleinbuchstaben oder einer Ziffer enden. Kann Kleinbuchstaben, Ziffern und Bindestriche enthalten. Darf nicht mit dem Präfix goog beginnen oder den String google enthalten, einschließlich ähnlicher, falsch geschriebener Versionen wie g00gle. Die maximale Länge beträgt 30 Zeichen.
  • PROJECT_TO_ALLOW: die Projekt-ID oder -Nummer eines Nutzerprojekts, das über Private Service Connect eine Verbindung zum Server herstellen darf. Beispiel: example-allowed-project. Sie müssen mindestens ein Projekt angeben.

    Sie können maximal 500 Projekte zulassen.

  • CONNECTION_LIMIT: die maximale Anzahl von Private Service Connect-Endpunkten, die im Nutzerprojekt erstellt werden können. Der Wert muss zwischen 1 und 250 Endpunkten liegen.
  • (Optional) PROJECT_TO_REJECT: die Projekt-ID oder ‑nummer eines Nutzerprojekts, das keine Verbindung zum Server herstellen darf. Beispiel: example-rejected-project. Projekten in dieser Liste wird der Zugriff auf den Server verweigert, auch wenn sie in der Liste der zulässigen Projekte enthalten sind.

    Sie können maximal 64 Projekte ablehnen.

    Wenn Sie keine Projekte explizit ablehnen möchten, lassen Sie das Objekt consumerRejectList weg.

HTTP-Methode und URL:

POST https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers?serverId=SERVER_ID

JSON-Text anfordern:

{
  "accessType": "INTERNAL",
  "internalConfig": {
    "consumerAcceptList": [
      {
        "project": "projects/PROJECT_TO_ALLOW",
        "connectionLimit": CONNECTION_LIMIT
      }
    ],
    "consumerRejectList": [
      {
        "project": "projects/PROJECT_TO_REJECT"
      }
    ]
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Die Antwort identifiziert einen Vorgang mit langer Ausführungszeit.

Es dauert etwa 10 Minuten, bis der Server erstellt ist.

Clientbibliotheken

Wenn Sie einen internen Server erstellen möchten, legen Sie den Zugriffstyp auf „internal“ fest und geben Sie eine interne Zugriffskonfiguration an.

C#

Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud FTP finden Sie unter Cloud FTP-Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation zu Cloud FTP C#.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud FTP zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

using Google.Cloud.Ftp.V1;
using Google.LongRunning;
using System.Threading.Tasks;

public sealed partial class GeneratedCloudFtpClientSnippets
{
    /// <summary>Snippet for CreateServerAsync</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public async Task CreateServerAsync()
    {
        // Create client
        CloudFtpClient cloudFtpClient = await CloudFtpClient.CreateAsync();
        // Initialize request argument(s)
        string parent = "projects/[PROJECT]/locations/[LOCATION]";
        Server server = new Server();
        string serverId = "";
        // Make the request
        Operation<Server, OperationMetadata> response = await cloudFtpClient.CreateServerAsync(parent, server, serverId);

        // Poll until the returned long-running operation is complete
        Operation<Server, OperationMetadata> completedResponse = await response.PollUntilCompletedAsync();
        // Retrieve the operation result
        Server result = completedResponse.Result;

        // Or get the name of the operation
        string operationName = response.Name;
        // This name can be stored, then the long-running operation retrieved later by name
        Operation<Server, OperationMetadata> retrievedResponse = await cloudFtpClient.PollOnceCreateServerAsync(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            Server retrievedResult = retrievedResponse.Result;
        }
    }
}

Go

Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud FTP finden Sie unter Cloud FTP-Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation zu Cloud FTP Go.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud FTP zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


//go:build examples

package main

import (
	"context"

	ftp "cloud.google.com/go/ftp/apiv1"
	ftppb "cloud.google.com/go/ftp/apiv1/ftppb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := ftp.NewCloudFtpRESTClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &ftppb.CreateServerRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/ftp/apiv1/ftppb#CreateServerRequest.
	}
	op, err := c.CreateServer(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud FTP finden Sie unter Cloud FTP-Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation zu Cloud FTP Java.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud FTP zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

import com.google.api.core.ApiFuture;
import com.google.cloud.ftp.v1.CloudFtpClient;
import com.google.cloud.ftp.v1.CreateServerRequest;
import com.google.cloud.ftp.v1.LocationName;
import com.google.cloud.ftp.v1.Server;
import com.google.longrunning.Operation;

public class AsyncCreateServer {

  public static void main(String[] args) throws Exception {
    asyncCreateServer();
  }

  public static void asyncCreateServer() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (CloudFtpClient cloudFtpClient = CloudFtpClient.create()) {
      CreateServerRequest request =
          CreateServerRequest.newBuilder()
              .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
              .setServerId("serverId1379103678")
              .setServer(Server.newBuilder().build())
              .setRequestId("requestId693933066")
              .build();
      ApiFuture<Operation> future = cloudFtpClient.createServerCallable().futureCall(request);
      // Do something.
      Operation response = future.get();
    }
  }
}

Node.js

Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud FTP finden Sie unter Cloud FTP-Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation zu Cloud FTP Node.js.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud FTP zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

/**
 * This snippet has been automatically generated and should be regarded as a code template only.
 * It will require modifications to work.
 * It may require correct/in-range values for request initialization.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. Value for parent.
 */
// const parent = 'abc123'
/**
 *  Required. A unique ID for the server. Must start with a lowercase letter,
 *  and end with a lowercase letter or number. Can contain lowercase letters,
 *  numbers, and hyphens. Maximum length is 30 characters.
 */
// const serverId = 'abc123'
/**
 *  Required. The resource being created
 */
// const server = {}
/**
 *  Optional. An optional request ID to identify requests. Specify a unique
 *  request ID so that if you must retry your request, the server will know to
 *  ignore the request if it has already been completed. The server will
 *  guarantee that for at least 60 minutes since the first request.
 *  For example, consider a situation where you make an initial request and the
 *  request times out. If you make the request again with the same request
 *  ID, the server can check if original operation with the same request ID
 *  was received, and if so, will ignore the second request. This prevents
 *  clients from accidentally creating duplicate commitments.
 *  The request ID must be a valid UUID with the exception that zero UUID is
 *  not supported (00000000-0000-0000-0000-000000000000).
 */
// const requestId = 'abc123'

// Imports the Ftp library
const {CloudFtpClient} = require('@google-cloud/ftp').v1;

// Instantiates a client
const ftpClient = new CloudFtpClient();

async function callCreateServer() {
  // Construct request
  const request = {
    parent,
    serverId,
    server,
  };

  // Run request
  const [operation] = await ftpClient.createServer(request);
  const [response] = await operation.promise();
  console.log(response);
}

callCreateServer();

PHP

Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud FTP finden Sie unter Cloud FTP-Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation zu Cloud FTP PHP.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud FTP zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

use Google\ApiCore\ApiException;
use Google\ApiCore\OperationResponse;
use Google\Cloud\Ftp\V1\Client\CloudFtpClient;
use Google\Cloud\Ftp\V1\CreateServerRequest;
use Google\Cloud\Ftp\V1\Server;
use Google\Cloud\Ftp\V1\Server\AccessType;
use Google\Rpc\Status;

/**
 * Creates a new Server in a given project and location.
 *
 * @param string $formattedParent  Value for parent. Please see
 *                                 {@see CloudFtpClient::locationName()} for help formatting this field.
 * @param string $serverId         A unique ID for the server. Must start with a lowercase letter,
 *                                 and end with a lowercase letter or number. Can contain lowercase letters,
 *                                 numbers, and hyphens. Maximum length is 30 characters.
 * @param int    $serverAccessType The access type of the Server.
 */
function create_server_sample(
    string $formattedParent,
    string $serverId,
    int $serverAccessType
): void {
    // Create a client.
    $cloudFtpClient = new CloudFtpClient();

    // Prepare the request message.
    $server = (new Server())
        ->setAccessType($serverAccessType);
    $request = (new CreateServerRequest())
        ->setParent($formattedParent)
        ->setServerId($serverId)
        ->setServer($server);

    // Call the API and handle any network failures.
    try {
        /** @var OperationResponse $response */
        $response = $cloudFtpClient->createServer($request);
        $response->pollUntilComplete();

        if ($response->operationSucceeded()) {
            /** @var Server $result */
            $result = $response->getResult();
            printf('Operation successful with response data: %s' . PHP_EOL, $result->serializeToJsonString());
        } else {
            /** @var Status $error */
            $error = $response->getError();
            printf('Operation failed with error data: %s' . PHP_EOL, $error->serializeToJsonString());
        }
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

/**
 * Helper to execute the sample.
 *
 * This sample has been automatically generated and should be regarded as a code
 * template only. It will require modifications to work:
 *  - It may require correct/in-range values for request initialization.
 *  - It may require specifying regional endpoints when creating the service client,
 *    please see the apiEndpoint client configuration option for more details.
 */
function callSample(): void
{
    $formattedParent = CloudFtpClient::locationName('[PROJECT]', '[LOCATION]');
    $serverId = '[SERVER_ID]';
    $serverAccessType = AccessType::ACCESS_TYPE_UNSPECIFIED;

    create_server_sample($formattedParent, $serverId, $serverAccessType);
}

Python

Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud FTP finden Sie unter Cloud FTP-Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation zu Cloud FTP Python.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud FTP zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import ftp_v1


def sample_create_server():
    # Create a client
    client = ftp_v1.CloudFtpClient()

    # Initialize request argument(s)
    server = ftp_v1.Server()
    server.access_type = "INTERNAL"

    request = ftp_v1.CreateServerRequest(
        parent="parent_value",
        server_id="server_id_value",
        server=server,
    )

    # Make the request
    operation = client.create_server(request=request)

    print("Waiting for operation to complete...")

    response = operation.result()

    # Handle the response
    print(response)

Ruby

Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud FTP finden Sie unter Cloud FTP-Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation zu Cloud FTP Ruby.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud FTP zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

require "google/cloud/ftp/v1"

##
# Snippet for the create_server call in the CloudFtp service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::Ftp::V1::CloudFtp::Rest::Client#create_server.
#
def create_server
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Ftp::V1::CloudFtp::Rest::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::Ftp::V1::CreateServerRequest.new

  # Call the create_server method.
  result = client.create_server request

  # The returned object is of type Gapic::Operation. You can use it to
  # check the status of an operation, cancel it, or wait for results.
  # Here is how to wait for a response.
  result.wait_until_done! timeout: 60
  if result.response?
    p result.response
  else
    puts "No response received."
  end
end

Nächste Schritte