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.
Realizar solicitudes a la API
Además de utilizar la consola, puede utilizar la API de AWS Transfer Family para configurar y administrar sus servidores mediante programación. En esta sección se describen las operaciones de AWS Transfer Family, la solicitud de formas para la autenticación y la administración de errores. Para obtener más información acerca de las regiones y los puntos de conexión disponibles para Transfer Family, consulte AWS Transfer FamilyPuntos de conexión y cuotas en la Referencia general de AWS
nota
También puede utilizar los AWS SDK cuando desarrolle aplicaciones con Transfer Family; Los AWS SDK para Java, .NET y PHP envuelven la API de Transfer Family subyacente, lo que simplifica las tareas de programación. Para obtener información sobre la descarga de las bibliotecas de SDK, consulte Código de muestra de bibliotecas
Temas
Cabeceras de solicitud obligatorias para Transfer Family
En esta sección se describen los encabezados obligatorios que debe enviar con cada solicitud POST a AWS Transfer Family. Puede incluir encabezados HTTP para identificar información clave sobre la solicitud, incluidas la operación que desea invocar, la fecha de la solicitud y la información que indica su autorización como remitente de la solicitud. Los encabezados no distinguen entre mayúsculas y minúsculas y el orden de los encabezados no es importante.
En el siguiente ejemplo, se muestran los encabezados que se utilizan en la operación ListServers.
POST / HTTP/1.1 Host:
transfer.us-east-1.amazonaws.com
x-amz-target: TransferService.ListServers x-amz-date: 20220507T012034Z Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20220507/us-east-1/transfer/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-target, Signature=13550350a8681c84c861aac2e5b440161c2b33a3e4f302ac680ca5b686de48de Content-Type: application/x-amz-json-1.1 Content-Length: 17 {"MaxResults":10}
Los siguientes son los encabezados que se deben incluir con las solicitudes POST a Transfer Family. Los encabezados siguientes que comienzan con "x-amz" son encabezados específicos para AWS. El resto de los encabezados que se muestran son encabezados comunes utilizados en transacciones HTTP.
Encabezado | Descripción |
---|---|
Authorization
|
Se requiere el encabezado de autorización. El formato es la firma de solicitud Sigv4 estándar, que se documenta en la sección Firmar solicitudes en la API de AWS. |
Content-Type |
Utiliza
|
Host |
Utilice el encabezado de host para especificar el punto de conexión de Transfer Family donde desea enviar la solicitud. Por ejemplo,
|
x-amz-date |
Debe proporcionar la marca temporal que figura en el encabezado HTTP
|
x-amz-target |
Este encabezado especifica la versión de la API y la operación que se está solicitando. Los valores de encabezado de destino se forman concatenando la versión de la API con el nombre de la API y están en el siguiente formato.
El valor OperationName (por ejemplo, |
x-amz-security-token |
Este encabezado es obligatorio cuando las credenciales utilizadas para firmar la solicitud son temporales o de sesión (para obtener más información, consulte Uso de credenciales temporales con recursos de AWS en la Guía del usuario de IAM). Para obtener más información, consulte la sección Adición de la firma a la solicitud HTTP en Referencia general de Amazon Web Services para más información. |
Entrada y firma de la solicitud de Transfer Family
Todas las entradas de la solicitud deben enviarse como parte de la carga útil de JSON en el cuerpo de la solicitud. En el caso de las acciones en las que todos los campos de solicitud son opcionales, por ejemplo, ListServers
, tendrá que proporcionar un objeto JSON vacío en el cuerpo de la solicitud, por ejemplo, {}
. La estructura de la solicitud/respuesta de la carga útil de Transfer Family está documentada en la referencia de la API existente, por ejemplo, DescribeServer.
Transfer Family admite la autenticación mediante AWS Signature Version 4. Para obtener más información, consulta Firmar solicitudes de API de AWS.
Respuestas de error
Cuando se produce un error, la información de encabezado de la respuesta contiene:
-
Content-Type:
application/x-amz-json-1.1
-
Un código de estado HTTP
4xx
o5xx
adecuado
El cuerpo de una respuesta de error contiene información sobre el error que se ha producido. El siguiente ejemplo de respuesta de error muestra la sintaxis de salida de los elementos de respuesta comunes a todas las respuestas de error.
{ "__type": "String", "Message": "String", <!-- Message is lowercase in some instances --> "Resource": String, "ResourceType": String "RetryAfterSeconds": String }
En la tabla siguiente se explican los campos de respuesta de error JSON que se muestran en la sintaxis anterior.
- __type
-
Una de las excepciones de una llamada a la API Transfer Family.
Tipo: cadena
- Mensaje o mensaje
-
Uno de los mensajes de código de error de operación.
nota
Algunas excepciones usan
message
y otras usanMessage
. Puede comprobar el código de la interfaz para determinar el tipo de mayúsculas y minúsculas adecuado. Como alternativa, puedes probar cada opción para ver cuál funciona.Tipo: cadena
- Recurso
-
El recurso para el que se invoca el error. Por ejemplo, si intenta crear un usuario que ya existe, el
Resource
es el nombre de usuario del usuario existente.Tipo: cadena
- ResourceType
-
El tipo de recurso al que se ha producido el error. Por ejemplo, si intenta crear un usuario que ya existe, el
ResourceType
esUser
.Tipo: cadena
- RetryAfterSeconds
-
La cantidad de segundos que se debe esperar antes de volver a intentar el comando.
Tipo: cadena
Ejemplos de respuestas de error
Si llama a la API de DescribeServer
y especifica un servidor que no existe, se devuelve el siguiente cuerpo de JSON.
{ "__type": "ResourceNotFoundException", "Message": "Unknown server", "Resource": "s-11112222333344444", "ResourceType": "Server" }
Si la ejecución de una API provoca una limitación, se devuelve el siguiente cuerpo de JSON.
{ "__type":"ThrottlingException", "RetryAfterSeconds":"1" }
Si utiliza la API de CreateServer
y no tiene permisos suficientes para crear un servidor Transfer Family, se devuelve el siguiente cuerpo de JSON.
{ "__type": "AccessDeniedException", "Message": "You do not have sufficient access to perform this action." }
Si utiliza la API de CreateUser
y especifica un usuario que ya existe, se devuelve el siguiente cuerpo de JSON.
{ "__type": "ResourceExistsException", "Message": "User already exists", "Resource": "Alejandro-Rosalez", "ResourceType": "User" }
Bibliotecas disponibles
AWS proporciona bibliotecas, código de muestra, tutoriales y otros recursos para los desarrolladores de software que prefieren crear aplicaciones usando API de un lenguaje específico en lugar de las herramientas de comandos y consulta de API. Estas bibliotecas proporcionan funciones básicas (que no se incluyen en las API), como la autenticación de solicitudes, los reintentos de solicitudes y la gestión de errores para que se pueda comenzar más fácilmente. Consulte Herramientas para crear en AWS
Para ver las bibliotecas y código de ejemplo en todos los idiomas, consulte Código de muestra y bibliotecas