StartDirectoryListing - AWS Transfer Family

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

StartDirectoryListing

Recupera una lista del contenido de un directorio de un servidor SFTP remoto. Debe especificar el ID del conector, la ruta de salida y la ruta del directorio remoto. También puede especificar el MaxItems valor opcional para controlar el número máximo de elementos que se enumeran en el directorio remoto. Esta API devuelve una lista de todos los archivos y directorios del directorio remoto (hasta el valor máximo), pero no devuelve los archivos o carpetas de los subdirectorios. Es decir, solo devuelve una lista de archivos y directorios de un nivel de profundidad.

Tras recibir el archivo del listado, puede proporcionar los archivos que desee transferir al RetrieveFilePaths parámetro de la llamada a la StartFileTransfer API.

La convención de nomenclatura del archivo de salida es connector-ID-listing-ID.json. El archivo de salida contiene la siguiente información:

  • filePath: la ruta completa de un archivo remoto, relativa al directorio de la solicitud de listado del conector SFTP en el servidor remoto.

  • modifiedTimestamp: la última vez que se modificó el archivo, en formato de hora UTC. Este campo es opcional. Si los atributos del archivo remoto no contienen una marca de tiempo, se omite de la lista de archivos.

  • size: el tamaño del archivo, en bytes. Este campo es opcional. Si los atributos del archivo remoto no contienen un tamaño de archivo, se omite de la lista de archivos.

  • path: la ruta completa de un directorio remoto, relativa al directorio de la solicitud de listado del conector SFTP del servidor remoto.

  • truncated: un indicador que indica si el resultado de la lista contiene todos los elementos contenidos en el directorio remoto o no. Si el valor de Truncated salida es verdadero, puede aumentar el valor proporcionado en el atributo de max-items entrada opcional para poder incluir más elementos (hasta el tamaño máximo de lista permitido de 10 000 elementos).

Sintaxis de la solicitud

{ "ConnectorId": "string", "MaxItems": number, "OutputDirectoryPath": "string", "RemoteDirectoryPath": "string" }

Parámetros de la solicitud

Para obtener información sobre los parámetros comunes a todas las acciones, consulte Parámetros comunes.

La solicitud acepta los siguientes datos en formato JSON.

ConnectorId

Un identificador único para el conector.

Tipo: cadena

Limitaciones de longitud: longitud fija de 19.

Patrón: c-([0-9a-f]{17})

Obligatorio: sí

MaxItems

Un parámetro opcional en el que puede especificar el número máximo de nombres de archivos/directorios que se van a recuperar. El valor predeterminado es 1,000.

Tipo: entero

Rango válido: valor mínimo de 1. Valor máximo de 10000.

Obligatorio: no

OutputDirectoryPath

Especifica la ruta (bucket y prefijo) en el almacenamiento de Amazon S3 para almacenar los resultados de la lista de directorios.

Tipo: string

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 1024 caracteres.

Patrón: (.)+

Obligatorio: sí

RemoteDirectoryPath

Especifica el directorio del servidor SFTP remoto cuyo contenido desea enumerar.

Tipo: string

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 1024 caracteres.

Patrón: (.)+

Obligatorio: sí

Sintaxis de la respuesta

{ "ListingId": "string", "OutputFileName": "string" }

Elementos de respuesta

Si la acción se realiza correctamente, el servicio devuelve una respuesta HTTP 200.

El servicio devuelve los datos siguientes en formato JSON.

ListingId

Devuelve un identificador único para la llamada a la lista de directorios.

Tipo: string

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es 512.

Patrón: [0-9a-zA-Z./-]+

OutputFileName

Devuelve el nombre del archivo en el que se almacenan los resultados. Esta es una combinación del ID del conector y el ID del listado:<connector-id>-<listing-id>.json.

Tipo: cadena

Limitaciones de longitud: longitud mínima de 26. Longitud máxima de 537.

Patrón: c-([0-9a-f]{17})-[0-9a-zA-Z./-]+.json

Errores

Para obtener información acerca de los errores comunes a todas las acciones, consulte Errores comunes.

InternalServiceError

Esta excepción se produce cuando se produce un error en el AWS Transfer Family servicio.

Código de estado HTTP: 500

InvalidRequestException

Esta excepción se produce cuando el cliente envía una solicitud con un formato incorrecto.

Código de estado HTTP: 400

ResourceNotFoundException

Esta excepción se produce cuando el servicio AWS Transfer Family no encuentra un recurso.

Código de estado HTTP: 400

ServiceUnavailableException

La solicitud ha fallado porque el servicio AWS Transfer Family no está disponible.

Código de estado HTTP: 500

ThrottlingException

La solicitud fue denegada debido a una limitación de la solicitud.

Código de estado HTTP: 400

Ejemplos

Ejemplo

En el siguiente ejemplo, se muestra el contenido de la home carpeta del servidor SFTP remoto, que se identifica mediante el conector especificado. Los resultados se colocan en la ubicación /DOC-EXAMPLE-BUCKET/connector-files de Amazon S3 y en un archivo denominadoc-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json.

Solicitud de muestra

{ "ConnectorId": "c-AAAA1111BBBB2222C", "MaxItems": "10", "OutputDirectoryPath": "/DOC-EXAMPLE-BUCKET/connector-files", "RemoteDirectoryPath": "/home" }

Respuesta de ejemplo

{ "ListingId": "6666abcd-11aa-22bb-cc33-0000aaaa3333", "OutputFileName": "c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json" }
// under bucket "DOC-EXAMPLE-BUCKET" connector-files/c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json { "files": [ { "filePath": "/home/what.txt", "modifiedTimestamp": "2024-01-30T20:34:54Z", "size" : 2323 }, { "filePath": "/home/how.pgp", "modifiedTimestamp": "2024-01-30T20:34:54Z", "size" : 51238 } ], "paths": [ { "path": "/home/magic" }, { "path": "/home/aws" }, ], "truncated": false }

Véase también

Para obtener más información sobre el uso de esta API en uno de los AWS SDK específicos del idioma, consulte lo siguiente: