Operaciones de la API de REST de StorageGRID Swift
Existen operaciones que se añaden a la API DE REST de Swift que son específicas del sistema StorageGRID.
OBTENGA la solicitud de consistencia del contenedor
"Controles de consistencia" Proporcionar un equilibrio entre la disponibilidad de los objetos y la coherencia de dichos objetos en distintos nodos de almacenamiento y sitios. La solicitud DE consistencia DEL contenedor le permite determinar el nivel de consistencia que se aplica a un contenedor en particular.
Solicitud
Solicitar encabezado HTTP | Descripción |
---|---|
Token X-Auth |
Especifica el token de autenticación Swift de la cuenta que se va a utilizar para la solicitud. |
x-ntap-sg-consistency |
Especifica el tipo de solicitud, donde |
Host |
El nombre de host al que se dirige la solicitud. |
Ejemplo de solicitud
GET /v1/28544923908243208806/Swift container X-Auth-Token: SGRD_3a877009a2d24cb1801587bfa9050f29 x-ntap-sg-consistency: true Host: test.com
Respuesta
Encabezado HTTP de respuesta | Descripción |
---|---|
Fecha |
La fecha y la hora de la respuesta. |
Conexión |
Si la conexión con el servidor está abierta o cerrada. |
X-Trans-ID |
Identificador de transacción único para la solicitud. |
Longitud de contenido |
La longitud del cuerpo de respuesta. |
x-ntap-sg-consistency |
El nivel de control de consistencia que se aplica al contenedor. Se admiten los siguientes valores: Todos: Todos los nodos reciben los datos inmediatamente o la solicitud falla. Strong-global: Garantiza la coherencia de lectura tras escritura para todas las solicitudes de clientes en todos los sitios. Strong-site: Garantiza la coherencia de lectura después de escritura para todas las solicitudes de cliente dentro de un sitio. Read-after-new-write: (Predeterminado) proporciona consistencia de lectura después de escritura para nuevos objetos y consistencia eventual para actualizaciones de objetos. Ofrece garantías de alta disponibilidad y protección de datos. Recomendado para la mayoría de los casos. Disponible: Proporciona consistencia eventual tanto para nuevos objetos como para actualizaciones de objetos. Para los cubos S3, utilice solo según sea necesario (por ejemplo, para un depósito que contiene valores de registro que rara vez se leen, o para operaciones HEAD u GET en claves que no existen). No se admite para bloques de FabricPool S3. |
Ejemplo de respuesta
HTTP/1.1 204 No Content Date: Sat, 29 Nov 2015 01:02:18 GMT Connection: CLOSE X-Trans-Id: 1936575373 Content-Length: 0 x-ntap-sg-consistency: strong-site
PONGA la solicitud de consistencia del contenedor
La solicitud DE PUT Container permite especificar el nivel de coherencia que se aplicará a las operaciones realizadas en un contenedor. De forma predeterminada, se crean nuevos contenedores utilizando el nivel de coherencia «entre una y otra escritura».
Solicitud
Solicitar encabezado HTTP | Descripción |
---|---|
Token X-Auth |
El token de autenticación Swift de la cuenta que se va a utilizar para la solicitud. |
x-ntap-sg-consistency |
El nivel de control de coherencia que se va a aplicar a las operaciones en el contenedor. Se admiten los siguientes valores: Todos: Todos los nodos reciben los datos inmediatamente o la solicitud falla. Strong-global: Garantiza la coherencia de lectura tras escritura para todas las solicitudes de clientes en todos los sitios. Strong-site: Garantiza la coherencia de lectura después de escritura para todas las solicitudes de cliente dentro de un sitio. Read-after-new-write: (Predeterminado) proporciona consistencia de lectura después de escritura para nuevos objetos y consistencia eventual para actualizaciones de objetos. Ofrece garantías de alta disponibilidad y protección de datos. Recomendado para la mayoría de los casos. Disponible: Proporciona consistencia eventual tanto para nuevos objetos como para actualizaciones de objetos. Para los cubos S3, utilice solo según sea necesario (por ejemplo, para un depósito que contiene valores de registro que rara vez se leen, o para operaciones HEAD u GET en claves que no existen). No se admite para bloques de FabricPool S3. |
|
El nombre de host al que se dirige la solicitud. |
Cómo interactúan los controles de consistencia y las reglas de ILM para afectar a la protección de datos
Ambas opciones "control de la coherencia" Y la regla de ILM afectan a la forma en que se protegen los objetos. Estos ajustes pueden interactuar.
Por ejemplo, el control de consistencia utilizado cuando se almacena un objeto afecta la ubicación inicial de los metadatos del objeto, mientras que el "comportamiento de ingesta" Seleccionada para la regla de ILM afecta la ubicación inicial de las copias del objeto. Dado que StorageGRID requiere acceso tanto a los metadatos de un objeto como a sus datos para cumplir con las solicitudes de los clientes, seleccionar los niveles de protección correspondientes para el nivel de coherencia y el comportamiento de ingesta puede proporcionar una mejor protección de datos inicial y respuestas más predecibles del sistema.
Ejemplo de cómo pueden interactuar el control de consistencia y la regla de ILM
Suponga que tiene una cuadrícula de dos sitios con la siguiente regla de ILM y la siguiente configuración de nivel de coherencia:
-
Norma ILM: Cree dos copias de objetos, una en el sitio local y otra en un sitio remoto. Se ha seleccionado el comportamiento de procesamiento estricto.
-
Nivel de coherencia: "Strong-global" (los metadatos de objetos se distribuyen inmediatamente a todos los sitios).
Cuando un cliente almacena un objeto en el grid, StorageGRID realiza copias de objetos y distribuye los metadatos en ambos sitios antes de devolver el éxito al cliente.
El objeto está completamente protegido contra la pérdida en el momento del mensaje de procesamiento correcto. Por ejemplo, si el sitio local se pierde poco después del procesamiento, seguirán existiendo copias de los datos del objeto y los metadatos del objeto en el sitio remoto. El objeto se puede recuperar completamente.
Si en su lugar usa la misma regla de ILM y el nivel de consistencia de «otrong-site», es posible que el cliente reciba un mensaje de éxito después de replicar los datos del objeto en el sitio remoto, pero antes de que los metadatos del objeto se distribuyan allí. En este caso, el nivel de protección de los metadatos de objetos no coincide con el nivel de protección de los datos de objetos. Si el sitio local se pierde poco después del procesamiento, se pierden los metadatos del objeto. No se puede recuperar el objeto.
La interrelación entre los niveles de coherencia y las reglas del ILM puede ser compleja. Póngase en contacto con NetApp si necesita ayuda.
Ejemplo de solicitud
PUT /v1/28544923908243208806/_Swift container_ X-Auth-Token: SGRD_3a877009a2d24cb1801587bfa9050f29 x-ntap-sg-consistency: strong-site Host: test.com
Respuesta
Encabezado HTTP de respuesta | Descripción |
---|---|
|
La fecha y la hora de la respuesta. |
|
Si la conexión con el servidor está abierta o cerrada. |
|
Identificador de transacción único para la solicitud. |
|
La longitud del cuerpo de respuesta. |
Ejemplo de respuesta
HTTP/1.1 204 No Content Date: Sat, 29 Nov 2015 01:02:18 GMT Connection: CLOSE X-Trans-Id: 1936575373 Content-Length: 0