Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2024-09-18 GMT+08:00

Construcción de una solicitud

Esta sección describe la estructura de una solicitud de API de REST.

URI de solicitud

OBS utiliza URI para localizar los bucket, objetos y sus parámetros específicos. Utilice URI cuando desee utilizar recursos.

A continuación se proporciona un formato de URI común. Los parámetros entre corchetes [ ] son opcionales.

protocol://[bucket.]domain[:port][/object][?param]

Tabla 1 Parámetros de URI

Parámetro

Descripción

Obligatorio

protocol

Protocolo utilizado para enviar solicitudes, que pueden ser HTTP o HTTPS. HTTPS es un protocolo que garantiza un acceso seguro a los recursos.

bucket

Ruta de recursos de un bucket, identificando solo un bucket en OBS

No

domain

Nombre de dominio o dirección IP del servidor para ahorrar recursos

port

Puerto habilitado para los protocolos utilizados para enviar solicitudes. El valor varía con el despliegue del servidor de software. Si no se especifica ningún número de puerto, el protocolo utiliza el valor predeterminado. Cada protocolo de transmisión tiene su número de puerto predeterminado.

En OBS, el número de puerto HTTP predeterminado es 80 y el de HTTPS es 443.

No

object

Una ruta de objeto utilizada en la solicitud

No

param

Un recurso específico contenido por un bucket u objeto. El valor predeterminado de este parámetro indica que se obtiene el bucket u objeto en sí.

No

Todas las solicitudes de API, excepto las de la lista de buckets, deben contener el nombre del bucket. Basado en el rendimiento y confiabilidad de la resolución DNS, OBS requiere que el nombre de bucket se debe colocar delante del domain cuando se construye una solicitud que lleva un nombre de bucket para formar un nombre de dominio de tercer nivel, también mencionado como nombre de dominio de acceso de alojamiento virtual.

Por ejemplo, tiene un bucket denominado test-bucket en la región ap-southeast-1 y desea acceder a la ACL de un objeto denominado test-object en el bucket. La URL correcta es https://test-bucket.obs.ap-southeast-1.myhuaweicloud.com/test-object?acl.

Método de solicitud

Los métodos HTTP, que también se denominan operaciones o acciones, especifican el tipo de operaciones que está solicitando.

Tabla 2 Métodos de solicitud HTTP soportados por la OBS

Método

Descripción

GET

Solicita al servidor que devuelva un recurso específico, por ejemplo, una lista de bucket o un objeto.

PUT

Solicita al servidor que actualice un recurso específico, por ejemplo, creando un bucket o cargando un objeto.

POST

Solicita al servidor que agregue un recurso o realice una operación especial, por ejemplo, carga o fusión de piezas.

DELETE

Solicita al servidor que elimine los recursos especificados, por ejemplo, un objeto.

HEAD

Solicita al servidor que devuelva el resumen de un recurso específico, por ejemplo, metadatos de objeto.

OPTIONS

El servidor de solicitudes comprueba si el usuario tiene el permiso de operación para un recurso. El CORS necesita ser configurado para el bucket.

Encabezados de solicitud

Hace referencia a campos de solicitud opcionales y adicionales, por ejemplo, un campo requerido por un método URI o HTTP específico. Para obtener más información sobre los campos de los encabezados de solicitud comunes, consulte Tabla 3.

Tabla 3 Encabezados de solicitud comunes

Encabezado

Descripción

Obligatorio

Authorization

Información de firma contenida en un mensaje de solicitud

Tipo: string

Sin valor predeterminado.

Condicional: opcional para solicitudes anónimas y requeridas para otras solicitudes.

Requerido condicionalmente

Content-Length

La longitud del mensaje (excluyendo los encabezados) definida en el RFC 2616

Tipo: string

Sin valor predeterminado.

Condicional: opcional para las solicitudes de PUT, pero obligatoria para las solicitudes que cargan contenido XML

Requerido condicionalmente

Content-Type

El tipo de contenido del recurso solicitado, por ejemplo, text/plain

Tipo: string

Sin valor predeterminado.

No

Date

Hora en la que se inicia una solicitud, por ejemplo, Wed, 27 Jun 2018 13:39:15 +0000.

Tipo: string

Sin valor predeterminado.

Condicional: opcional para solicitudes anónimas o aquellas solicitudes que contienen encabezado x-obs-date, requeridas para otras solicitudes.

Requerido condicionalmente

Host

The host address. por ejemplo, bucketname.obs.region.myhuaweicloud.com.

Tipo: string

Sin valor predeterminado.

(Opcional) Cuerpo de solicitud

Un cuerpo de solicitud se envía generalmente en un formato estructurado (por ejemplo, JSON o XML). Corresponde a Content-Type en el encabezado de solicitud y se usa para transferir contenido distinto al encabezado de solicitud. Si el cuerpo de la solicitud contiene caracteres de ancho completo, estos caracteres deben codificarse con UTF-8.

El cuerpo de la solicitud varía según las API. Algunas API no requieren el cuerpo de la solicitud, como las API de GET y de DELETE.

Enviar una solicitud

Existen dos métodos para iniciar solicitudes en función de los mensajes de solicitud preparados:

  • cURL

    cURL es una herramienta de línea de comandos utilizada para realizar operaciones de URL y transmitir información. cURL actúa como un cliente HTTP que puede enviar solicitudes HTTP al servidor y recibir mensajes de respuesta. cURL es aplicable a la depuración de API. Para obtener más información sobre cURL, visite https://curl.haxx.se/. cURL no puede calcular firmas. Cuando se utiliza cURL, solo se puede acceder a los recursos OBS públicos anónimos.

  • Codificación

    Puede usar código para realizar invocaciones a la API y para ensamblar, enviar y procesar mensajes de solicitud. Se puede implementar mediante el uso del SDK o la codificación.