Cómo borrar un servidor SFTP

En este documento, se muestra cómo borrar un servidor SFTP.

Antes de comenzar

Roles obligatorios

Para obtener el permiso que necesitas para borrar un servidor SFTP, pídele a tu administrador que te otorgue el rol de IAM Administrador de Cloud FTP (roles/ftp.admin) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene el ftp.servers.delete permiso, que se requiere para borrar un servidor SFTP.

También puedes obtener este permiso con roles personalizados o otros roles predefinidos.

Borra un servidor

gcloud

Para borrar un servidor SFTP, ejecuta el gcloud alpha storage ftp servers delete comando.

Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

  • SERVER_ID: Es el ID del servidor SFTP.
  • LOCATION_ID: Es la ubicación del servidor, como us-west1.

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

gcloud alpha storage ftp servers delete SERVER_ID --location=LOCATION_ID

Windows (PowerShell)

gcloud alpha storage ftp servers delete SERVER_ID --location=LOCATION_ID

Windows (cmd.exe)

gcloud alpha storage ftp servers delete SERVER_ID --location=LOCATION_ID
El servidor tarda unos 10 minutos en borrarse.

REST

Para borrar un servidor SFTP, usa el servers.delete método.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el Google Cloud ID del proyecto de.
  • LOCATION_ID: Es la ubicación del servidor, como us-west1.
  • SERVER_ID: Es el ID del servidor SFTP.

Método HTTP y URL:

DELETE https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers/SERVER_ID

Para enviar tu solicitud, expande una de estas opciones:

La respuesta identifica una operación de larga duración. El servidor tarda unos 10 minutos en borrarse.

Bibliotecas cliente

C#

Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud FTP, consulta las bibliotecas cliente de Cloud FTP. Para obtener más información, consulta la documentación de referencia de la API de Cloud FTPC#.

Para autenticarte en Cloud FTP, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

public sealed partial class GeneratedCloudFtpClientSnippets
{
    /// <summary>Snippet for DeleteServerAsync</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 DeleteServerAsync()
    {
        // Create client
        CloudFtpClient cloudFtpClient = await CloudFtpClient.CreateAsync();
        // Initialize request argument(s)
        string name = "projects/[PROJECT]/locations/[LOCATION]/servers/[SERVER]";
        // Make the request
        Operation<Empty, OperationMetadata> response = await cloudFtpClient.DeleteServerAsync(name);

        // Poll until the returned long-running operation is complete
        Operation<Empty, OperationMetadata> completedResponse = await response.PollUntilCompletedAsync();
        // Retrieve the operation result
        Empty 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<Empty, OperationMetadata> retrievedResponse = await cloudFtpClient.PollOnceDeleteServerAsync(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            Empty retrievedResult = retrievedResponse.Result;
        }
    }
}

Go

Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud FTP, consulta las bibliotecas cliente de Cloud FTP. Para obtener más información, consulta la documentación de referencia de la API de GoCloud FTP.

Para autenticarte en Cloud FTP, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.


//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.DeleteServerRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/ftp/apiv1/ftppb#DeleteServerRequest.
	}
	op, err := c.DeleteServer(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

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

Java

Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud FTP, consulta las bibliotecas cliente de Cloud FTP. Para obtener más información, consulta la documentación de referencia de la API de Cloud FTPJava.

Para autenticarte en Cloud FTP, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

import com.google.api.core.ApiFuture;
import com.google.cloud.ftp.v1.CloudFtpClient;
import com.google.cloud.ftp.v1.DeleteServerRequest;
import com.google.cloud.ftp.v1.ServerName;
import com.google.longrunning.Operation;

public class AsyncDeleteServer {

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

  public static void asyncDeleteServer() 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()) {
      DeleteServerRequest request =
          DeleteServerRequest.newBuilder()
              .setName(ServerName.of("[PROJECT]", "[LOCATION]", "[SERVER]").toString())
              .build();
      ApiFuture<Operation> future = cloudFtpClient.deleteServerCallable().futureCall(request);
      // Do something.
      future.get();
    }
  }
}

Node.js

Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud FTP, consulta las bibliotecas cliente de Cloud FTP. Para obtener más información, consulta la documentación de referencia de la API de Cloud FTPNode.js.

Para autenticarte en Cloud FTP, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

/**
 * 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. Name of the resource
 */
// const name = 'abc123'

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

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

async function callDeleteServer() {
  // Construct request
  const request = {
    name,
  };

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

callDeleteServer();

PHP

Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud FTP, consulta las bibliotecas cliente de Cloud FTP. Para obtener más información, consulta la documentación de referencia de la API de Cloud FTPPHP.

Para autenticarte en Cloud FTP, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

use Google\ApiCore\ApiException;
use Google\ApiCore\OperationResponse;
use Google\Cloud\Ftp\V1\Client\CloudFtpClient;
use Google\Cloud\Ftp\V1\DeleteServerRequest;
use Google\Rpc\Status;

/**
 * Deletes a single Server.
 *
 * @param string $formattedName Name of the resource
 *                              Please see {@see CloudFtpClient::serverName()} for help formatting this field.
 */
function delete_server_sample(string $formattedName): void
{
    // Create a client.
    $cloudFtpClient = new CloudFtpClient();

    // Prepare the request message.
    $request = (new DeleteServerRequest())
        ->setName($formattedName);

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

        if ($response->operationSucceeded()) {
            printf('Operation completed successfully.' . PHP_EOL);
        } 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
{
    $formattedName = CloudFtpClient::serverName('[PROJECT]', '[LOCATION]', '[SERVER]');

    delete_server_sample($formattedName);
}

Python

Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud FTP, consulta las bibliotecas cliente de Cloud FTP. Para obtener más información, consulta la documentación de referencia de la API de Cloud FTPPython.

Para autenticarte en Cloud FTP, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

# 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_delete_server():
    # Create a client
    client = ftp_v1.CloudFtpClient()

    # Initialize request argument(s)
    request = ftp_v1.DeleteServerRequest(
        name="name_value",
    )

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

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

    response = operation.result()

    # Handle the response
    print(response)

Ruby

Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud FTP, consulta las bibliotecas cliente de Cloud FTP. Para obtener más información, consulta la documentación de referencia de la API de RubyCloud FTP.

Para autenticarte en Cloud FTP, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

require "google/cloud/ftp/v1"

##
# Snippet for the delete_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#delete_server.
#
def delete_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::DeleteServerRequest.new

  # Call the delete_server method.
  result = client.delete_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