Este contenido se ha traducido de manera automática. Consulte el Descargo de responsabilidad por la traducción automática.
Cambiar al inglés

myQNAPcloud Object S3 API Guide
Guía de la API de myQNAPcloud Object S3


Última fecha de modificación: 2025-11-11

Productos Aplicables

myQNAPcloud Object

¿Qué es myQNAPcloud Object?

myQNAPcloud Object es un servicio de Almacenamiento de objetos basado en la nube, diseñado para proporcionar un Almacenamiento de datos de alto rendimiento, confiable y seguro para una amplia gama de aplicaciones y casos de uso. Este servicio está diseñado para ser completamente compatible con la API de Amazon Web Service Simple Almacenamiento Service (AWS S3), asegurando una integración perfecta con aplicaciones y dispositivos de puerta de enlace compatibles con S3.

myQNAPcloud Object está diseñado para individuos y organizaciones que buscan una infraestructura de Almacenamiento de datos rentable y eficiente. Diseñado para trabajar con aplicaciones compatibles con S3, myQNAPcloud Object permite a los usuarios aprovechar herramientas y flujos de trabajo familiares mientras se benefician de la fiabilidad y flexibilidad del ecosistema de QNAP.

  • Compatibilidad: myQNAPcloud Object está diseñado para ser completamente compatible con la API de AWS S3, asegurando que las aplicaciones existentes compatibles con AWS S3 puedan funcionar sin problemas.
  • Rendimiento: myQNAPcloud Object ofrece una solución de Almacenamiento de alto rendimiento optimizada para la fiabilidad y la eficiencia.

Acerca de la Guía de API S3 de myQNAPcloud Object

Aunque myQNAPcloud Object se alinea estrechamente con AWS S3, ciertas características pueden haber sido mejoradas o implementadas de manera diferente. Esta guía tiene como objetivo aclarar estas diferencias para ayudar a los usuarios a maximizar el potencial de myQNAPcloud Object.

Esta guía utiliza ejemplos que involucran el acceso a Buckets en regiones específicas de myQNAPcloud Object. Para obtener más información sobre los puntos finales específicos de la región y las URL del servicio, consulte "URLs del Servicio para Regiones de myQNAPcloud Object Almacenamiento".

Nota
  • URLs Regionales: Al acceder a Buckets, asegúrese de utilizar URLs específicas para la región de myQNAPcloud Object Almacenamiento donde se crea su bucket. Usar la URL incorrecta puede permitir solicitudes GET pero podría resultar en errores para operaciones PUT o DELETE. Consulte las [URLs del Servicio para Regiones de myQNAPcloud Object Almacenamiento].
  • ASW IAM: A diferencia de AWS, myQNAPcloud Object no incluye soporte para AWS IAM (Identity and Access Management). Por lo tanto, esta guía se centra exclusivamente en la compatibilidad con la API S3 y no hace referencia a las capacidades relacionadas con IAM.

Introducción a la API REST

Designación del Host

myQNAPcloud Object admite tanto solicitudes de estilo de ruta como de estilo virtual, similar a AWS S3. Se requiere un nombre de host único (por ejemplo, s3.us-east-1.myqnapcloud.io frente a s3.amazonaws.com). Recomendamos usar solicitudes de estilo de ruta, como se muestra en todos los ejemplos de esta guía (por ejemplo, http://s3.us-east-1.myqnapcloud.io/my-bucket/my-object) porque las solicitudes de estilo de ruta ofrecen mayor flexibilidad en la nomenclatura de los buckets, evitando conflictos de nombres de dominio.

Siempre Consistente

A diferencia del modelo de consistencia fuerte de AWS S3, myQNAPcloud Object proporciona una vista "siempre consistente" de todas las operaciones. Esto asegura que cualquier operación que siga a otra producirá resultados consistentes. Por ejemplo, después de eliminar un objeto (operación DELETE), realizar una solicitud HEAD posterior siempre confirmará la eliminación del objeto, eliminando la necesidad de programación adicional para esperar la finalización de la operación.

Autenticación de Solicitudes

myQNAPcloud Object admite tanto versiones autónomas como de firma 2 y 4, compatibles con AWS S3, para encabezados y parámetros de consulta. Aunque la versión de firma 4 ofrece mejor seguridad, requiere más recursos computacionales debido a la sobrecarga de calcular el hash SHA256. Si el rendimiento es crítico, se puede usar la versión de firma 2, con MD5 (devuelto como el encabezado ETag) asegurando la integridad de los datos.

Para solicitudes de firma de la versión 4, se admiten todas las regiones para las solicitudes de firma de myQNAPcloud Object.

myQNAPcloud Object no admite la firma de solicitudes para cargas basadas en navegador o solicitudes de formularios HTML, ya que estas operaciones no están actualmente soportadas.

Para la firma de la versión 2, las siguientes claves de sub-recurso se especifican como parámetros de consulta en las solicitudes:

  • append
  • compose
  • force_delete=true

Estos parámetros de consulta deben incluirse al calcular la firma para las operaciones PutObject y DeleteBucket.

Respuestas de Error

Siempre que sea posible, myQNAPcloud Object utiliza respuestas de error compatibles con AWS S3. También se pueden proporcionar códigos de error adicionales para una funcionalidad mejorada.

Códigos de Error HTTP

Código de ErrorDescripción de myQNAPcloud ObjectCódigo de Estado HTTP
No DisponibleTemporalmente no disponible503
No RecuperableDatos No Recuperables
No ImplementadoNo Implementado501
Entidad de BD no encontradaNo existe tal entidad404
Entidad de BD encontradaLa entidad ya existe409
Error de desconexiónConexión cerrada410
Error interno del servidorError interno: Hemos encontrado un error interno. Por favor, contacte con el soporte al cliente.500
Estado prohibidoAcceso denegado403
Acceso prohibido
Cuenta no activada
Problema de cuenta
Bloqueo de autenticación: Ha habido demasiados intentos de acceder a la cuenta con credenciales incorrectas. Por favor, inténtelo de nuevo en cinco minutos.
ID de clave de acceso no válido: El ID de clave de acceso de AWS que proporcionó no existe en nuestros registros.
Código de autenticación no válido: El código de autenticación para el dispositivo no es válido.
Tiempo de solicitud demasiado desviado: La diferencia entre el tiempo de la solicitud y el tiempo actual es demasiado grande.
Estado del objeto no válido: La operación no es válida para el estado actual del objeto.
Solicitud incorrectaEncabezado de autorización mal formado400
Error en los parámetros de consulta de autorización
Digest incorrecto: El Content-MD5 que especificó no coincide con lo que recibimos.
Solicitud incorrecta: Se produjo un error al analizar la solicitud HTTP.
Firma incompleta: La solicitud debe contener una firma que cumpla con los estándares de AWS.
Acción no válida
Argumento no válido
Digest no válido: El Content-MD5 que especificó no es válido.
Entrada no válida
Valor de parámetro no válido: Se proporcionó un valor no válido o fuera de rango para el parámetro de entrada.
Solicitud no válida
Política mal formada
Documento de política mal formado
Violación de política de contraseñas
Error de validación
Desajuste de X Amz Content SHA256: El encabezado 'x-amz-content-sha256' proporcionado no coincide con lo que se calculó.
Cifrado no permitido: No se permiten claves de cifrado proporcionadas por el usuario en esta operación. 
El objeto se almacenó utilizando una forma de cifrado del lado del servidor. Se deben proporcionar los parámetros correctos para recuperar el objeto.
Entidad demasiado grande: Su carga propuesta es mayor que el tamaño máximo permitido.
Entidad demasiado pequeña: Su carga propuesta es menor que el tamaño mínimo permitido.
Solicitud de cumplimiento ilegal
Excepción de configuración de versionado ilegal: La configuración de versionado especificada en la solicitud no es válida.
Cuerpo incompleto: No proporcionó el número de bytes especificado por el encabezado HTTP Content-Length.
Solicitud de ACL no válida: Debe proporcionar solo uno de los encabezados ACL o un cuerpo XML al configurar ACLs.
Argumento no válido
Nombre de bucket no válido: El bucket especificado no es válido.
Error de algoritmo de cifrado no válido: La solicitud de cifrado que especificó no es válida. Valor admitido: AES256.
Orden de partes no válido: La lista de partes no estaba en orden ascendente. Las partes deben ordenarse por número de parte.
Parte no válida: Una o más de las partes especificadas no se pudieron encontrar. La parte puede no haber sido cargada, o la etiqueta de entidad especificada puede no coincidir con la etiqueta de entidad de la parte.
Documento de política no válido: El contenido del formulario no cumple con las condiciones especificadas en el documento de política.
Error de clave demasiado larga: Su clave es demasiado larga.
Bucket de registro mismo propietario: El bucket de destino de registro debe tener el mismo propietario que el bucket que se está registrando.
XML malformado: El XML que proporcionó no estaba bien formado o no se validó contra nuestro esquema publicado.
Metadatos demasiado grandes: Sus encabezados de metadatos exceden el tamaño máximo permitido.
Tiempo de espera de la solicitud: Su conexión de socket con el servidor no fue leída ni escrita dentro del período de tiempo de espera.
Demasiados Buckets: Ha intentado crear más Buckets de los permitidos.
Demasiados componentes: Un objeto compuesto no puede tener más de 1024 componentes.
Concesión no resoluble por dirección de correo electrónico: La dirección de correo electrónico que proporcionó no coincide con ninguna cuenta registrada.
Cuota de Almacenamiento excedida: Su cuenta ha superado su límite de Almacenamiento.
Cuenta de bucket inactiva: La cuenta que posee este bucket no está activa.
Estado desaparecidoConexión cerrada: La conexión de red fue cerrada.410
Estado de entidad no procesableDatos irrecuperables: Los datos en la solicitud son irrecuperables. Por favor, contacte con el servicio de atención al cliente.422
Estado de conflictoConflicto de eliminación409
La entidad ya existe
Entidad temporalmente no modificable: La entidad es temporalmente no modificable. Por favor, inténtelo de nuevo más tarde.
Límite excedido
Operación abortada: Una operación condicional en conflicto está actualmente en progreso contra este recurso. Por favor, inténtelo de nuevo.
El bucket ya existe
El bucket no está vacío 
Configuraciones de cumplimiento bloqueadas: Las configuraciones de cumplimiento están ahora bloqueadas y no se pueden cambiar.
Estado no encontradoNo existe tal entidad404
No existe tal configuración de ciclo de vida: La configuración del ciclo de vida no existe.
No existe tal bucket: El bucket especificado no existe.
No existe tal política de bucket: La política del bucket no existe.
No existe tal clave: La clave especificada no existe.
No existe tal configuración de replicación: La configuración de replicación no existe.
Error de conjunto de etiquetas inexistente: No hay un conjunto de etiquetas asociado con el bucket.
No existe tal carga: La carga especificada no existe. El ID de carga puede ser inválido, o la carga puede haber sido abortada o completada.
No existe tal versión: La versión especificada no existe.
Estado no implementadoNo implementado: Un encabezado que proporcionó implica una funcionalidad que no está implementada.501
Estado de servicio no disponibleTemporalmente no disponible: Los recursos para esta operación están temporalmente no disponibles. Por favor, inténtelo de nuevo más tarde.503
Estado encontradoLa clave ya existe302
Estado de método no permitidoMétodo no permitido: Este método no está permitido para nadie más que el propietario de la cuenta.405
Método no permitido: El método especificado no está permitido contra este recurso.
Estado de longitud requeridaFalta la longitud del contenido: Debe proporcionar el encabezado HTTP Content-Length.411

Códigos de error TCP

myQNAPcloud Object admite los siguientes códigos de error TCP:

  • EOF inesperado
  • Tubería rota
  • Conexión restablecida por el par

No compatible en myQNAPcloud Object

OperaciónDescripción
SOAPAWS S3 ha dejado de admitir SOAP, y myQNAPcloud Object no admite ninguna operación SOAP.

Operaciones en Buckets con la API S3 de myQNAPcloud Object

Las operaciones en Buckets incluyen: eliminación, cambio de nombre y registro de Buckets, así como soporte para compartir recursos de origen cruzado (CORS), política de ciclo de vida, bloqueo de objetos y cumplimiento.

Eliminación forzada de bucket

AWS S3 no permite eliminar un bucket si contiene objetos que no han sido eliminados.

myQNAPcloud Object proporciona una opción de eliminación forzada que primero elimina todos los objetos en el bucket y luego elimina el bucket. La eliminación de objetos está sujeta a políticas y requisitos de cumplimiento en el bucket.

Para usar la opción de eliminación forzada, simplemente agréguela como una cadena de consulta. Por ejemplo:

DELETE http://s3.us-east-1.myqnapcloud.io/my-bucket?force_delete=true HTTP/1.1

Cambiar el nombre de un bucket

AWS S3 no admite el cambio de nombre de Buckets. Solo admite el cambio de nombre de objetos en un bucket.

myQNAPcloud Object admite el cambio de nombre de Buckets. El nuevo nombre del bucket no debe estar en uso para que el cambio de nombre sea exitoso. El solicitante debe tener el permiso de política s3:CreateBucket para cambiar el nombre de un bucket.

Para cambiar el nombre de un bucket, use el método HTTP MOVE junto con el campo de encabezado "Destination" para dar el nuevo nombre del bucket. Por ejemplo: 

MOVE http://s3.us-east-1.myqnapcloud.io/my_old_bucket HTTP/1.1
Destino: mi_nuevo_bucket

Eliminación MFA (Autenticación Multifactor)

myQNAPcloud Object admite el encabezado "x-amz-mfa" mientras:

  • configura la versión en un bucket, o
  • elimina objetos con solicitudes de eliminación compatibles con AWS S3.

myQNAPcloud Object no requiere el encabezado "x-amz-mfa" si las credenciales de acceso del usuario que firma la solicitud fueron autenticadas con MFA. myQNAPcloud Object solo admite dispositivos MFA virtuales.

Número máximo de Buckets

El estándar AWS S3 solo admite 100 Buckets.

myQNAPcloud Object permite un máximo de 1000 Buckets por cuenta y este número puede aumentarse contactando con el Soporte al Cliente de myQNAPcloud Object.

Registro de Bucket

myQNAPcloud Object admite el registro de buckets, que crea un archivo de registro de texto de todo el acceso a un bucket. El formato del archivo de registro es idéntico al archivo de registro de AWS S3.

El registro de buckets de myQNAPcloud Object no requiere configuraciones de permisos ACL para almacenar registros en un bucket de destino. Aunque puedes otorgar configuraciones de permisos en la solicitud de registro o en un ACL, no son necesarias para que el registro funcione en myQNAPcloud Object. Sin embargo, el bucket que es un destino para los archivos de registro debe estar dentro de la misma cuenta que el bucket que se está registrando.

Compatibilidad con el uso compartido de recursos de origen cruzado (CORS) de buckets

Para la compatibilidad con el acceso del navegador a myQNAPcloud Object como servidor web, el servidor myQNAPcloud Object devolverá encabezados CORS cuando se proporcione el encabezado "Origin" en una solicitud HTTP. Además, el servidor admite el método HTTP OPTIONS en Buckets u objetos para devolver los encabezados CORS necesarios para una prueba previa del navegador antes de acceder a myQNAPcloud Object.

Diferente de AWS, myQNAPcloud Object devuelve las configuraciones que permitirán al navegador acceso completo a myQNAPcloud Object. Por lo tanto, myQNAPcloud Object no admite las funciones de AWS que permiten un PUT y GET en un bucket con el parámetro "cors" en la URL. Ten en cuenta que permitir el acceso completo del navegador a los datos no afecta la seguridad del acceso a ningún objeto y todas las políticas de acceso seguirán aplicándose.

Los siguientes son los encabezados HTTP devueltos por defecto cuando se proporciona el encabezado "Origin" en una solicitud HTTP:

Access-Control-Allow-Headers: *
Access-Control-Allow-Methods: GET, HEAD, POST, PUT, DELETE, MOVE, OPTIONS
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: *
Access-Control-Max-Age: 86400

Política de ciclo de vida

La función de ciclo de vida establece una política de ciclo de vida con reglas para definir acciones que deseas que myQNAPcloud Object realice durante la vida de un objeto. Esta función reemplaza la necesidad de eliminar manualmente un objeto después de un período de retención.

Configuración de ajustes de ciclo de vida 

La configuración del ciclo de vida para un bucket se realiza con el comando "put-bucket-lifecycle-configuration". Por ejemplo: 

$ aws s3api put-bucket-lifecycle-configuration --bucket 1-1-1-1 --endpoint-url https://s3.us-east-1.myqnapcloud.io --lifecycle-configuration file://lifecycle.json
{

    "Rules": [
        {
            "Expiration": {
                "Days": 1
            },
            "ID": "lifecycle_rule_1",
            "Filter": {
                "And": {
                    "ObjectSizeGreaterThan": 1,
                    "ObjectSizeLessThan": 21474836480
                }
            },
            "Status": "Enabled"
        },
        {
            "Expiration": {
                "Days": 1
            },
            "ID": "object_lifecycle_rule_bucket_6807766",
            "Filter": {
                "Prefix": "1"
            },
            "Status": "Enabled"
        }
    ]
}

Aquí hay otro ejemplo:  

PUT https://s3.us-east-1.myqnapcloud.io/1-1-1-1?lifecycle
<LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Rule>
        <Expiration>
            <Days>1</Days>
        </Expiration>
        <ID>lifecycle_rule_1</ID>
        <Filter>
            <And>
                <ObjectSizeGreaterThan>1</ObjectSizeGreaterThan>
                <ObjectSizeLessThan>21474836480</ObjectSizeLessThan>
            </And>
        </Filter>
        <Status>Enabled</Status>
    </Rule>
    <Rule>
        <Expiration>
            <Days>1</Days>
        </Expiration>
        <ID>object_lifecycle_rule_bucket_6807766</ID>
        <Filter>
            <Prefix>1</Prefix>
        </Filter>
        <Status>Enabled</Status>
    </Rule>
</LifecycleConfiguration>

No hay cuerpo de respuesta para esta llamada.

Recuperando configuraciones del ciclo de vida

Las configuraciones del ciclo de vida para un bucket se pueden recuperar con el comando "get-bucket-lifecycle-configuration". Por ejemplo:

$ aws s3api get-bucket-lifecycle-configuration --bucket 1-1-1-1 --endpoint-url https://s3.us-east-1.myqnapcloud.io
{
    "Rules": [
        {
            "Expiration": {
                "Days": 1
            },
            "ID": "lifecycle_rule_1",
            "Filter": {
                "And": {
                    "ObjectSizeGreaterThan": 1,
                    "ObjectSizeLessThan": 21474836480
                }
            },
            "Status": "Enabled"
        },
        {
            "Expiration": {
                "Days": 1
            },
            "ID": "object_lifecycle_rule_bucket_6807766",
            "Filter": {
                "Prefix": "1"
            },
            "Status": "Enabled"
        }
    ]
}

Aquí hay otro ejemplo:

GET https://s3.us-east-1.myqnapcloud.io/1-1-1-1?lifecycle
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Rule>
        <Expiration>
            <Days>1</Days>
        </Expiration>
        <ID>lifecycle_rule_1</ID>
        <Filter>
            <And>
                <ObjectSizeGreaterThan>1</ObjectSizeGreaterThan>
                <ObjectSizeLessThan>21474836480</ObjectSizeLessThan>
            </And>
        </Filter>
        <Status>Enabled</Status>
    </Rule>
    <Rule>
        <Expiration>
            <Days>1</Days>
        </Expiration>
        <ID>object_lifecycle_rule_bucket_6807766</ID>
        <Filter>
            <Prefix>1</Prefix>
        </Filter>
        <Status>Enabled</Status>
    </Rule>
</LifecycleConfiguration>

Eliminando configuraciones del ciclo de vida

Las configuraciones del ciclo de vida de un bucket se pueden eliminar con el comando "delete-bucket-lifecycle". Por ejemplo:

$ aws s3api delete-bucket-lifecycle --bucket 1-1-1-1 --endpoint-url https://s3.us-east-1.myqnapcloud.io

No hay cuerpo de respuesta para esta llamada.

Bloqueo de objetos

myQNAPcloud Object admite un Bloqueo de objetos que evita la eliminación o sobrescritura de versiones de objetos por un tiempo determinado o indefinidamente.

EtiquetaDescripción
ObjectLockConfigurationEsta es la etiqueta de nivel raíz obligatoria para la configuración de Bloqueo de objetos.
ObjectLockEnabledEsta etiqueta debe configurarse como Habilitada.
ReglaEsto especifica la regla de Bloqueo de objetos para un bucket. Requiere tanto un modo como un período. El período puede ser Días o Años, pero debe seleccionar uno. No puede especificar Días y Años al mismo tiempo.
El modo debe ser COMPLIANCE o GOVERNANCE.

La configuración de Bloqueo de objetos para un bucket se especifica utilizando la cadena de consulta "?object-lock" junto con la configuración de Bloqueo de objetos como el cuerpo XML en la solicitud. Por ejemplo:

PUT https://s3.us-east-1.myqnapcloud.io/qa.objectlock.002/?object-lock HTTP/1.1
<ObjectLockConfiguration>
     <ObjectLockEnabled>Enabled</ObjectLockEnabled>
     <Rule>
          <DefaultRetention>
               <Mode>COMPLIANCE</Mode>
               <Days>10</Days>
          </DefaultRetention>
     </Rule>
</ObjectLockConfiguration>

La configuración de Bloqueo de objetos para un bucket se puede recuperar obteniendo el bucket con la cadena de consulta "?object-lock". Por ejemplo:

GET https://s3.us-east-1.myqnapcloud.io/qa.objectlock.002/?object-lock HTTP/1.1

Cuerpo de la respuesta:

<?xml version="1.0" encoding="UTF-8"?>
<ObjectLockConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
     <ObjectLockEnabled>Enabled</ObjectLockEnabled>
     <Rule>
          <DefaultRetention>
               <Mode>COMPLIANCE</Mode>
               <Days>10</Days>
          </DefaultRetention>
     </Rule>
</ObjectLockConfiguration>

También hay configuraciones de Bloqueo de objetos para cada objeto descrito en Operaciones en Objetos.

La configuración de Bloqueo de objetos para un bucket se puede borrar usando la cadena de consulta "?object-lock". Por ejemplo:

PUT https://s3.us-east-1.myqnapcloud.io/qa.objectlock.002/?object-lock HTTP/1.1

Cuerpo de la respuesta:

<ObjectLockConfiguration>
     <ObjectLockEnabled>Habilitado</ObjectLockEnabled>
          <Rule>
               <DefaultRetention>
                    <Mode></Mode>
                    <Days></Days>
          </DefaultRetention>
     </Rule>
</ObjectLockConfiguration>

myQNAPcloud Object Cumplimiento

myQNAPcloud Object admite una política de cumplimiento que impide la eliminación de objetos y proporciona información adicional para demostrar que los datos originales no se modifican desde el momento en que se escribieron. La función de cumplimiento puede ser necesaria para ciertas necesidades regulatorias, pero también es útil para prevenir la eliminación accidental de datos.

El cumplimiento es diferente de la configuración de bloqueo de objetos para un bucket.

Puede establecer la política de cumplimiento en cualquier bucket controlando todos los objetos que se almacenan en ese bucket. Especifique la política de cumplimiento del bucket con las siguientes etiquetas XML.

EtiquetaDescripción
Estado"habilitado" o "deshabilitado" para activar o desactivar el cumplimiento, respectivamente. La habilitación se aplicará inmediatamente a todos los objetos en el bucket.
Tiempo de bloqueoEl momento en que las configuraciones de cumplimiento están "bloqueadas"; las configuraciones no pueden reducirse mediante ninguna llamada API. Una vez bloqueadas, no se pueden desbloquear sin la intervención del Soporte al Cliente de QNAP. El tiempo de bloqueo le permite admitir dos casos de uso:
  1. Probar que su software funciona correctamente antes de bloquear la función de cumplimiento; o
  2. No bloquear nunca, lo que significa que los datos pueden eliminarse con un paso adicional de un administrador desactivando el cumplimiento.
El parámetro de tiempo de bloqueo puede ser:
  • Una fecha ISO (por ejemplo, 2016-11-07T15:08:05Z),
  • La cadena "ahora" para forzar el bloqueo inmediato, o
  • La cadena "off para no bloquear la configuración de cumplimiento. Este es el valor predeterminado.
DíasDeRetenciónUn número entero para el número mínimo de días que los objetos siempre se retienen después de su fecha de creación o liberación de retención condicional. Puede extender la fecha de retención para cualquier objeto individual, pero no puede acortar la fecha. Este parámetro siempre es necesario.
RetenciónCondicionalUn valor Booleano ("true" o "false") que indica si los objetos recién creados se colocan en retención condicional, lo que significa que no se pueden eliminar hasta que la retención condicional se desactive explícitamente. El valor predeterminado es false si no se proporciona este parámetro. Tenga en cuenta que esta configuración puede cambiarse incluso después de que las configuraciones estén bloqueadas.

La configuración de cumplimiento para un bucket se especifica utilizando la cadena de consulta "?compliance" junto con la configuración de cumplimiento como el cuerpo XML en la solicitud. Por ejemplo:

PUT http://s3.us-east-1.myqnapcloud.io/my-bucket?complianceHTTP./1.1
<BucketComplianceConfiguration>
     <Status>enabled</Status>
     <LockTime>off</LockTime>
     <RetentionDays>365</RetentionDays>
     <DeleteAfterRetention>true</DeleteAfterRetention>
</BucketComplianceConfiguration>

Después de habilitar el cumplimiento para un bucket, la política se aplica inmediatamente a todos los objetos en el bucket. Un intento de eliminar un objeto antes del período de retención devolverá un error.


La configuración de cumplimiento para un bucket se puede recuperar obteniendo el bucket con la cadena de consulta "?compliance". Por ejemplo:

GET http://s3.us-east-1.myqnapcloud.io/my-buck?complianceHTTP/1.1

Cuerpo de la respuesta:

<BucketComplianceConfiguration xml ns="http://s3.amazonaws.com/doc/2006-03-01/">
     <Status>enabled</Status>
     <LockTime>2016-11-07T15:08:05Z</LockTime>
     <IsLocked>false</IsLocked>
     <RetentionDays>0</RetentionDays>
     <ConditionalHold>false</ConditionalHold>
     <DeleteAfterRetention>false</DeleteAfterRetention>
</BucketComplianceConfiguration>

También hay configuraciones de cumplimiento para cada objeto descritas en Operaciones en Objetos.

Operaciones en Buckets No Soportadas en myQNAPcloud Object

OperaciónDescripción
Etiquetado de BucketEl etiquetado de bucket no está disponible actualmente en myQNAPcloud Object.
Sitio web de BucketLa configuración del sitio web no está disponible en myQNAPcloud Object. Dada la naturaleza de myQNAPcloud Object como un almacén de objetos a largo plazo, no esperamos admitir operaciones de sitio web en Buckets. El encabezado "x-amz-website-redirect-location" se ignora en cualquier solicitud de objeto.
Aceleración de BucketmyQNAPcloud Object no implementa el subrecurso de aceleración de bucket de AWS S3.
Solicitud de Pago de BucketmyQNAPcloud Object no admite el uso del subrecurso "requestPayment" para Buckets.
Configuración de MétricasmyQNAPcloud Object no admite la operación para recibir métricas de CloudWatch de un minuto, configurar alarmas de CloudWatch y acceder a Panel de control de CloudWatch para ver operaciones y rendimiento casi en tiempo real de su Almacenamiento de Amazon S3.

Bloqueo Público de S3

myQNAPcloud Object no admite la operación para bloquear centralmente el acceso público existente (ya sea posible a través de un ACL o una política) y asegurarse de que los elementos recién creados no se otorguen inadvertidamente acceso público.
S3 SelectmyQNAPcloud Object no es compatible con la API S3 Select.

Operaciones en objetos con la API S3 de myQNAPcloud Object


Las operaciones en objetos incluyen renombrar, componer, añadir y eliminar objetos, así como cifrado, clase de Almacenamiento, bloqueo de objetos y cumplimiento.

Renombrar objetos

myQNAPcloud Object admite la funcionalidad de mover un objeto, en efecto, renombrando el objeto al cambiar la clave. Esto elimina el proceso de dos pasos de primero copiar un objeto y luego eliminar el objeto original. El llamante debe tener permiso de política s3:PutObject en el bucket para renombrar objetos.

Para renombrar objetos, use el método HTTP MOVE junto con los siguientes parámetros en los encabezados de la solicitud que afectan la operación de movimiento.

SobrescribirUn valor booleano que, cuando es "true", permite sobrescribir objetos de destino con la misma clave. De lo contrario, se genera un error y la clave original no se cambia.
X-Wasabi-QuietUn valor booleano que, cuando es "true", hace que el cuerpo de retorno del estado XML solo muestre las claves que encuentran errores. De lo contrario, todos los objetos renombrados se dan en el estado. El valor predeterminado es "false".
X-Wasabi-PrefixUn valor booleano que, cuando es "true", significa que los valores dados para la fuente en la URL y el destino son prefijos, coinciden con la parte más a la izquierda de las claves. Conceptualmente, piense en el prefijo como una carpeta de objetos. De lo contrario, solo se renombran los objetos (incluyendo todas las versiones) que coinciden exactamente con la clave. El valor predeterminado es "false".

La llamada devolverá los resultados como un cuerpo XML de la respuesta. Los resultados incluyen lo siguiente para cada objeto renombrado:

  • clave de origen original,
  • clave de destino renombrada,
  • versión ID del objeto, y
  • cualquier error en la operación de renombrado.

La opción silenciosa hará que los resultados solo enumeren las claves que encontraron un error.

A continuación se muestra un ejemplo, que renombra todos los objetos que comienzan con el prefijo “TestMove-Dir2/” para tener el nuevo prefijo “TestMove-Dir2-Renamed/

MOVE http://s3.us-east-1.myqnapcloud.io/my_bucket/TestMove-Dir2/HTTP/1.1 Destination:TestMove-Dir2-Renamed/X-Wasabi-Prefix:true

Cuerpo de la respuesta:

<MoveObjectResult> <SourcePrefix>TestMove-Dir2/SourcePrefix> <DestinationPrefix>TestMove-Dir2-Renamed/DestinationPrefix> <MoveObject> <SourceKey>TestMove-Dir2/SourceKey> <DestinationKey>TestMove-Dir2-Renamed/DestinationKey> MoveObject> <MoveObject> <SourceKey>TestMove-Dir2/Dir1/SourceKey> <DestinationKey>TestMove-Dir2-Renamed/Dir1/DestinationKey> MoveObject> <MoveObject> <SourceKey>TestMove-Dir2/Dir1/Obj1SourceKey> <DestinationKey>TestMove-Dir2-Renamed/Dir1/Obj1DestinationKey> MoveObject> <MoveObject> <SourceKey>TestMove-Dir2/Dir1/Obj2SourceKey> <DestinationKey>TestMove-Dir2-Renamed/Dir1/Obj2DestinationKey> MoveObject> <MoveObject> <SourceKey>TestMove-Dir2/Dir2/SourceKey> <DestinationKey>TestMove-Dir2-Renamed/Dir2/DestinationKey> MoveObject> <MoveObject> <SourceKey>TestMove-Dir2/Dir2/Obj1SourceKey> <DestinationKey>TestMove-Dir2-Renamed/Dir2/Obj1DestinationKey> MoveObject> <MoveObject> <SourceKey>TestMove-Dir2/Dir2/Obj2SourceKey> <DestinationKey>TestMove-Dir2-Renamed/Dir2/Obj2DestinationKey> MoveObject> <MoveCount>7MoveCount> MoveObjectResult>

Composición de objetos


myQNAPcloud Object  ofrece una función para crear un nuevo objeto que se compone de otros objetos. Un objeto compuesto se forma no copiando los objetos de datos originales, sino vinculando el objeto compuesto a los objetos de datos. Esto contrasta con AWS S3, que no ofrece una forma de componer objetos. La operación de myQNAPcloud Object es mucho más rápida y no requiere múltiples copias de los datos originales. Los objetos compuestos originales pueden eliminarse en cualquier momento, y el sistema retendrá los datos originales mientras haya enlaces a los datos.


Componer objetos es una alternativa al uso de la función de carga multiparte para crear objetos de más de 5 GB. El llamante debe tener permiso de política s3:PutObject en el bucket para componer objetos. Los objetos compuestos pueden crearse a partir de otros objetos compuestos, así como de objetos de datos originales. Sin embargo, el número total de objetos de datos originales no puede exceder de 32 en ningún objeto compuesto. Los objetos compuestos solo pueden enlazarse a otros objetos en el mismo bucket.


La operación de composición se realiza utilizando el método HTTP PUT con el parámetro de cadena de consulta “?compose” para indicar que el objeto está compuesto por objetos dados en el cuerpo XML. El cuerpo XML contiene una lista de claves de objetos y, opcionalmente, los IDs de versión que forman el nuevo objeto. Si no se proporciona el ID de versión, se utiliza la última versión del objeto. El nuevo objeto parecerá ser un único objeto con todos los objetos de datos enlazados concatenados. El nuevo objeto compuesto no tiene un valor ETag (es decir, MD5), que es el MD5 de los objetos concatenados, sino más bien el resultado de hash de todos los MD5 de los objetos de datos juntos (como el cálculo realizado cuando se completan objetos de múltiples partes). Los objetos compuestos no pueden tener claves de cifrado proporcionadas por el usuario. Sin embargo, todos los datos se almacenan cifrados en reposo.


Solo se cobra por los metadatos utilizados en los objetos compuestos. Los datos originales utilizados en los objetos enlazados se cobran a la tarifa normal hasta que se eliminen todos los objetos compuestos que enlazan al objeto de datos original.


A continuación se muestra un ejemplo que compone un nuevo objeto “TestComp a partir de tres objetos: “TestCompose-Data-1”, “TestCompose-Data-2” y “TestCompose-Data-3”.

PUT http://s3.wasabisys.com/my_bucket/TestCompose-Object-1?composeHTTP/1.1Content-Type:text/xml
<ComposeRequest>
<Component>
<Key>TestCompose-Data-1</Key>
</Component>
<Component>
<Key>TestCompose-Data-2</Key>
</Component>
<Component>
<Key>TestCompose-Data-3</Key>
</Component>
</ComposeRequest>

Adición a objetos


AWS S3 no ofrece una forma de añadir a los objetos.

Añadir a un objeto existente es una forma diferente de componer un objeto (ver Composición de objetos). La llamada sube los datos en el cuerpo a un objeto temporal y luego crea un nuevo objeto compuesto que consiste en los datos del objeto original con los datos recién subidos añadidos. Si el bucket tiene versiones, se crea una nueva versión del objeto compuesto mientras se mantienen los datos originales. Cuando no tiene versiones, el nuevo objeto compuesto reemplaza al objeto original. El llamante debe tener permiso de política s3:PutObject en el bucket para añadir a los objetos. Además, para un bucket sin versionado, puede ser necesario el permiso de política s3:DeleteObject para reemplazar el objeto original.


Al igual que los objetos compuestos, solo puedes añadir 1023 veces a cualquier objeto ya que cada uno crea un enlace a los datos subidos. Ten cuidado de no simplemente añadir pequeñas cantidades de datos muchas veces a un objeto ya que cada dato añadido subido crea un nuevo objeto sujeto a cargos mínimos por tamaño, y puede ralentizar el rendimiento debido a una lectura de datos pequeña. La operación de adición se realiza utilizando el método HTTP PUT con el parámetro de cadena de consulta “?append”. Los datos a añadir se suben en el cuerpo de la solicitud.

A continuación se muestra un ejemplo que añade la cadena “” a un objeto existente “TestAppend-Object”.

PUT http://s3.us-east-1.myqnapcloud.io/my-bucket/TestAppend-Object?appendHTTP/1.1Content-Length:15

PUT Object Copy Usa Enlace

Normalmente, para renombrar objetos usando el protocolo AWS S3, un objeto se sube con un valor de clave. Luego, se realiza una operación PUT con el nuevo valor de clave copiado del valor de clave original, y se elimina el objeto del valor de clave original.

myQNAPcloud Object  optimiza automáticamente esta secuencia vinculando el objeto del nuevo valor de clave a los datos originales del valor de clave copiado. Esto evita hacer otra copia de los datos, lo que resultaría en mayores cargos de Almacenamiento. Debido a que myQNAPcloud Object utiliza enlaces a los datos originales, cualquier objeto de tamaño hasta el límite de 5 TB puede ser copiado y no requiere el uso de una carga de múltiples partes.

Eliminar objeto MFADelete

Si la opción MFADelete está activada en la versionado del bucket, el “x-amz-mfa” no es necesario si las credenciales de acceso fueron firmadas usando MFA (ver también Eliminación MFA (Autenticación Multifactor)).

Si el registro del bucket está habilitado, eliminar múltiples objetos creará una entrada de registro separada para cada objeto que se elimine.

Encabezados de respuesta GET Object

Cualquier encabezado en la solicitud GET object que comience con “response-” se devolverá como un encabezado de respuesta (menos la cadena “response-”).

Cifrado del lado del servidor del objeto

myQNAPcloud Object  cifra todos los datos almacenados en reposo independientemente del cifrado solicitado. El sistema usará cualquier clave de cifrado proporcionada por el llamante cuando se proporcione, o generará una clave de cifrado aleatoria para cada objeto si no se proporciona una clave del cliente. Si el cliente proporciona la clave de cifrado, similar a AWS S3, myQNAPcloud Object no mantendrá una copia de la clave del cliente en los metadatos y el llamante debe proporcionar la clave de cifrado para leer los datos. No se necesita ninguna acción por parte del llamante si myQNAPcloud Object proporciona la clave de cifrado.


El llamante puede proporcionar la clave de cifrado usando los encabezados x-amz-server-side-encryption-customer-algorithm, x-amz-server-side-encryption-customer-key y x-amz-server-side-encryption-customer-key-MD5. Estos parámetros funcionan de manera idéntica a AWS S3.

myQNAPcloud Object  no admite un servicio de gestión de claves. Por lo tanto, el “x-amz-server-side-encryption” no es compatible junto con toda la funcionalidad de “aws:kms”.  myQNAPcloud Object  almacena un MD5 para los datos que siempre son los datos cargados independientemente del cifrado del lado del servidor.

Clase de Almacenamiento del objeto

myQNAPcloud Object  sólo proporciona una única clase de Almacenamiento que es más similar a la clase estándar de AWS S3 Almacenamiento. Donde la clase de Almacenamiento se devuelve en cualquier operación, myQNAPcloud Object devolverá la clase estándar de AWS S3 Almacenamiento.

Operaciones en objetos no compatibles en myQNAPcloud Object

RESTAURAR objetomyQNAPcloud Object  no admite múltiples clases de Almacenamiento y no admite la solicitud POST de restauración de objetos utilizada para restaurar objetos de una clase diferente de Almacenamiento.
Seleccionar contenido del objetomyQNAPcloud Object  no admite la operación para filtrar el contenido de un objeto de Amazon S3 basado en una declaración de lenguaje de consulta estructurado simple (SQL).
Operaciones por lotes de S3myQNAPcloud Object  no admite operaciones por lotes de S3 para la gestión de objetos.


Cumplimiento con myQNAPcloud Object API de S3


Las configuraciones de cumplimiento para cualquier objeto en un bucket con cumplimiento también se pueden cambiar dentro de los límites del cumplimiento en el bucket. Especifique las configuraciones de cumplimiento del objeto con las siguientes etiquetas XML.

Retención LegalUn valor booleano "true" o "false" para establecer el estado de retención legal. Cuando un objeto tiene un estado de retención legal de true, el objeto no puede ser eliminado independientemente del período de retención.
Tiempo de RetenciónUn tiempo ISO que da un nuevo tiempo de retención para el objeto en el cual el objeto no puede ser eliminado antes de este tiempo. Tenga en cuenta que el nuevo tiempo de retención debe ser posterior al período de retención dado por la política del bucket o se devolverá un error.

El siguiente es un ejemplo de cómo establecer el cumplimiento en un objeto:

PUT http://s3.us-east-1.myqnapcloud.io/my-bucket/my-object?complianceHTTP/1.1
<ObjectComplianceConfiguration>
     <ConditionalHold>false</ConditionalHold>
     <RetentionTime>2018-03-13T10:45:00Z</RetentionTime>
</ObjectComplianceConfiguration>

Las configuraciones de cumplimiento para cualquier objeto específico también se pueden recuperar usando la cadena de consulta "?compliance". Además de las configuraciones de cumplimiento del objeto mencionadas anteriormente, la consulta devuelve el hash SHA256 calculado para el objeto, que se puede usar para determinar que el objeto no ha sido modificado. Tenga en cuenta que el valor SHA256 solo está disponible para objetos que se cargan como un solo objeto y no está disponible para objetos multipartes o compuestos.


El siguiente es un ejemplo de cómo obtener el cumplimiento en un objeto:

GET http://s3.us-east-1.myqnapcloud.io/my-bucket/my-object?complianceHTTP/1.1

Cuerpo de la respuesta:

<ObjectComplianceConfiguration xml ns="http://s3.amazonaws.com/doc/2006-03-01/">
     <RetentionTime>2016-10-31T15:08:05Z</RetentionTime>
     <ConditionalHold>false</ConditionalHold>
     <LegalHold>false</LegalHold>

<SHA256>14b4be3894e92166b508007b6c2e4fb6e88d3d0ad652c76475089a50ebe6e33b</SHA256>
</ObjectComplianceConfiguration>

Las configuraciones de cumplimiento del objeto también aparecen en las listas de buckets cuando el bucket tiene el cumplimiento habilitado.


Bloqueo de objetos con myQNAPcloud Object API de S3


Puede agregar o actualizar las configuraciones de Bloqueo de objetos para un objeto usando las etiquetas descritas a continuación.

RetenerHastaFechaEsto define el tiempo de retención para un objeto. El objeto no puede ser eliminado antes de este tiempo. Tenga en cuenta que el tiempo de retención debe estar en el futuro.
LegalHoldEsto debe ser ON o OFF, sin distinción de mayúsculas o minúsculas.

El siguiente es un ejemplo de configuración del bloqueo de objetos en un objeto:

PUT https://s3.us-east-1.myqnapcloud.io/qa.objectlock.002/beta_vpn.png?retention&versionId= 001617181245457483475-4ylsTbqqvP

<Retention>
     <Mode>compliance</Mode>
     <RetainUntilDate>2021-04-06T09:00:45Z</RetainUntilDate>
</Retention>

El siguiente es un ejemplo de configuración de retención legal para un objeto:

PUT https://s3.us-east-1.myqnapcloud.io/qa.objectlock.002/beta_vpn.png?legal-hold&versionId=001617181245457483475-4ylsTbqqvP

<LegalHold>
     <Status>ON</Status>
</LegalHold>

El siguiente es un ejemplo de configuración del modo de gobernanza para un objeto:

PUT https://s3.us-east-1.myqnapcloud.io/qa.objectlock.002/public/ACL.PNG?retention
<Retention>
     <Mode>governance</Mode>
     <RetainUntilDate>2021-05-20T09:00:45Z</RetainUntilDate>
</Retention>

El encabezado “x-amz-bypass-governance-retention =true” debe incluirse siempre que desee anular la configuración de gobernanza para un objeto.

URLs de servicio para las Regiones de myQNAPcloud Object Almacenamiento


Las URLs de servicio de myQNAPcloud para las diferentes regiones de myQNAPcloud Object Almacenamiento son:

Américas

   Región URL de servicio
US East 1 (N. Virginia)s3 .us-east-1.myqnapcloud.io
US Central 1 (Texas)s3.us-central-1. myqnapcloud.io
US West 1 (Oregon)s3.us-west-1. myqnapcloud.io
CA Central 1 (Toronto)s3.ca-central-1. myqnapcloud.io

EMEA

EU Central 1 (Ámsterdam)s3.eu-central-1. myqnapcloud.io
EU Central 2 (Fráncfort)s3.eu-central-2. myqnapcloud.io
UE Oeste 1 (Londres)s3.eu-west-1. myqnapcloud.io
UE Oeste 2 (París)s3.eu-west-2. myqnapcloud.io
UE Oeste 3 (Londres)s3.eu-west-3. myqnapcloud.io
UE Sur 1 (Milán)s3.eu-south-1. myqnapcloud.io

APAC

AP Noreste 1 (Tokio)s3.ap-northeast-1. myqnapcloud.io
AP Noreste 2 (Osaka)s3.ap-northeast-2. myqnapcloud.io
AP Sureste 1 (Singapur)s3.ap-southeast-1. myqnapcloud.io
AP Sureste 2 (Sídney)s3.ap-southeast-2. myqnapcloud.io

La consola de gestión de myQNAPcloud Object se puede acceder a través del portal myQNAPcloud.

Si está buscando la URL de servicio correcta para usar con su aplicación de Almacenamiento de terceros, debe elegir la que coincida con la ubicación de su bucket.

Al trabajar con aplicaciones de Almacenamiento de terceros, debe tener en cuenta que estas aplicaciones tienen diferentes métodos para manejar las URLs de servicio de la región de Almacenamiento. Estos métodos incluyen:

  1. Aplicaciones que le permiten ingresar explícitamente la URL del servicio. Estas aplicaciones son las más flexibles porque puede configurar fácilmente nuevas URLs de servicio a medida que estén disponibles.
  2. Aplicaciones que solo le permiten elegir de una lista predefinida de regiones de Almacenamiento. Estas aplicaciones son las menos flexibles porque, si un proveedor de Almacenamiento implementa una nueva región, debe esperar una actualización de la aplicación para acceder a la nueva región. Si su aplicación de Almacenamiento no admite todas las regiones de myQNAPcloud Object Almacenamiento en sus listas de regiones predefinidas, contacte al proveedor de la aplicación (no a QNAP) para solicitarles soporte.
  3. Aplicaciones que solo le permiten ingresar su conjunto de claves API y luego ofrecen todos los Buckets en su cuenta. Estas aplicaciones proporcionan flexibilidad pero requieren algunas redirecciones automáticas para funcionar a nivel HTTP.

Replicación de objetos con la API S3 de myQNAPcloud Object

GET Object Tagging

myQNAPcloud Object admite la funcionalidad para obtener el conjunto de etiquetas de un objeto cuando el objeto:

  • No tiene etiquetas
  • Tiene etiquetas

Cuando el objeto no tiene etiquetas

GET https://s3.myqnapcloud.io/my_bucket/Test-object1.txt?tagging

Cuerpo de la respuesta:

<?xml version="1.0" encoding="UTF-8"?>
<Tagging>
   <TagSet></TagSet>
</Tagging>
Estado 200 OK

Cuando el objeto tiene etiquetas

GET https://s3.myqnapcloud.io/my_bucket/Test-object2.pdf?tagging

Cuerpo de la respuesta:

<!--?xml version="1.0" encoding="UTF-8"?-->
<Tagging>
   <TagSet>
      <Tag>
         <Key>key2</Key>
         <Value>value2</Value>
      </Tag>
      <Tag>
         <Key>key1</Key>
         <Value>value1</Value>
      </Tag>
   </TagSet>
</Tagging>

PUT Object Tagging

myQNAPcloud Object admite la funcionalidad para:

  • Agregar el valor de la etiqueta de un objeto existente en un bucket
  • Anexar el valor de la etiqueta de un objeto existente en un bucket

Agregar el Valor de la Etiqueta de un Objeto Existente en un Bucket

PUT https://s3.myqnapcloud.io/my_bucket/Test-object3.pdf?tagging
Content-Type: text/xml

Cuerpo de la respuesta:

<Tagging xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
   <TagSet>
      <Tag>
         <Key>tag1</Key>
         <Value>value1</Value>
      </Tag>
   </TagSet>
</Tagging>

Anexar el Valor de la Etiqueta de un Objeto Existente en un Bucket

En este ejemplo, un objeto existente ya tiene el valor de la etiqueta "key5" – "value5", puedes anexar nuevos pares de etiquetas junto con el par existente.

PUT https://s3.myqnapcloud.io/my_bucket/Test-object4.jpg?tagging
Content-Type: text/xml

Cuerpo de la respuesta:

<Tagging xmlns="http://s3.myqnapcloud.io/doc/2006-03-01/">
   <TagSet>
      <Tag>
         <Key>key5</Key>
         <Value>value5</Value>
      </Tag>
      <Tag>
         <Key>key6</Key>
         <Value>value6</Value>
      </Tag>
   </TagSet>
</Tagging>
Estado 200 OK

Para agregar etiquetas de cualquier otra versión, utiliza el parámetro de consulta versionId.

ELIMINAR Etiquetado de Objetos

Esto elimina todo el conjunto de etiquetas del objeto especificado.

DELETE https://s3.myqnapcloud.io/my_bucket/Test-object5.pdf?tagging

Cuerpo de la respuesta:

<empty>
Estado 204 Sin Contenido

Para eliminar etiquetas de cualquier otra versión, utiliza el parámetro de consulta versionId.


Etiquetado de Objetos con la API de myQNAPcloud Object

Obtener Etiquetado de Objetos

myQNAPcloud Object admite la funcionalidad para obtener el conjunto de etiquetas de un objeto cuando el objeto:

  • No tiene etiquetas
  • Tiene etiquetas

Cuando el objeto no tiene etiquetas

GET

https://s3.myqnapcloud.io/my_bucket/Test-object1.txt?tagging

Cuerpo de la respuesta:

<?xml version="1.0" encoding="UTF-8"?>

<Tagging>

   <TagSet></TagSet>

</Tagging>
Estado 200 OK

Cuando el objeto tiene etiquetas

GET

https://s3.myqnapcloud.io/my_bucket/Test-object2.pdf?tagging

Cuerpo de la respuesta:

<!--?xml version="1.0" encoding="UTF-8"?-->

<Tagging>

   <TagSet>

      <Tag>

         <Key>key2</Key>

         <Value>value2</Value>

      </Tag>

      <Tag>

         <Key>key1</Key>

         <Value>value1</Value>

      </Tag>

   </TagSet>

</Tagging>

PUT Etiquetado de Objeto

myQNAPcloud Object admite funcionalidad para:

  • Añadir el valor de la etiqueta de un objeto existente en un bucket
  • Agregar el valor de la etiqueta de un objeto existente en un bucket

Añadir el valor de la etiqueta de un objeto existente en un bucket

PUT

https://s3.myqnapcloud.io/my_bucket/Test-object3.pdf?tagging

Content-Type: text/xml

Cuerpo de la respuesta:

<Tagging xmlns="http://s3.amazonaws.com/doc/2006-03-01/">

   <TagSet>

      <Tag>

         <Key>tag1</Key>

         <Value>value1</Value>

      </Tag>

   </TagSet>

</Tagging>

Agregando el valor de la etiqueta de un objeto existente en un bucket

En este ejemplo, un objeto existente ya tiene el valor de la etiqueta de “key5” –“value5”, puedes agregar un nuevo par de etiquetas junto con el par existente.

PUT

https://s3.myqnapcloud.io/my_bucket/Test-object4.jpg?tagging

Content-Type: text/xml

Cuerpo de la respuesta:

<Tagging xmlns="http://s3.myqnapcloud.io/doc/2006-03-01/">

   <TagSet>

      <Tag>

         <Key>key5</Key>

         <Value>value5</Value>

      </Tag>

      <Tag>

         <Key>key6</Key>

         <Value>value6</Value>

      </Tag>

   </TagSet>

</Tagging>
Estado 200 OK

Para enviar etiquetas de cualquier otra versión, use el parámetro de consulta versionId.

ELIMINAR Etiquetado de Objetos

Esto elimina todo el conjunto de etiquetas del objeto especificado.

DELETE

https://s3.myqnapcloud.io/my_bucket/Test-object5.pdf?tagging

Cuerpo de la respuesta:

<empty>
Estado 204 Sin Contenido

Para eliminar etiquetas de cualquier otra versión, use el parámetro de consulta versionId.


Lectura adicional

Dada su compatibilidad con AWS S3, la documentación oficial de AWS para S3 sirve como un recurso complementario al trabajar con myQNAPcloud Object. Consulte la Referencia de la API del Servicio Simple de Almacenamiento de Amazon para obtener detalles sobre la versión de la API 2006-03-01:

Referencia de la API del Servicio Simple de Almacenamiento de Amazon


¿Le ha resultado útil este artículo?

Gracias por sus comentarios.

Díganos cómo podemos mejorar este artículo:

Si desea enviarnos más comentarios, inclúyalos a continuación.

Elija especificación

      Mostrar más Mostrar menos

      Este portal en otros países / regiones:

      open menu
      back to top