Condiciones de tarea de almacenamiento
Una tarea de almacenamiento contiene un conjunto de condiciones y operaciones. En este artículo se describe el formato JSON de una condición. Comprender ese formato es importante si planea crear una tarea de almacenamiento mediante una herramienta distinta de Azure Portal (por ejemplo, Azure PowerShell o la CLI de Azure). En este artículo también se enumeran las propiedades y operadores que puede usar para componer las cláusulas de una condición.
Este artículo se centra en las condiciones. Para obtener más información sobre las operaciones, consulte Operaciones de tareas de almacenamiento.
Importante
Las acciones de Azure Storage se encuentran actualmente en versión preliminar y están disponibles en estas regiones. Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.
Formato de condición
Una condición de una colección de una o varias cláusulas. Cada cláusula contiene una propiedad, un valor y un operador. Cuando se ejecuta la tarea de almacenamiento, usa el operador para comparar una propiedad con un valor para determinar si el objeto de destino cumple una cláusula. En una cláusula, el operador siempre aparece primero seguido de la propiedad y luego el valor. En la siguiente imagen se muestra cómo se coloca cada elemento en la expresión.
La siguiente cláusula solo permite operaciones en documentos de Microsoft Word. Esta cláusula tiene como destino todos los documentos que terminan con la extensión de archivo .docx
. Por lo tanto, el operador es endsWith
, la propiedad es Name
y el valor es .docx
.
{
"condition": "[[[endsWith(Name, '.docx')]]"
}
Para obtener una lista completa de los nombres de operador y propiedad, consulte la sección Operadores admitidos y Propiedades admitidas de este artículo.
Varias cláusulas de una condición
Una condición puede contener varias cláusulas separadas por una coma junto con la cadena and
o or
. La cadena and
tiene como destino los objetos que cumplen los criterios de todas las cláusulas de la condición, mientras or
que los objetos que cumplen el criterio en cualquiera de las cláusulas de la condición. En la siguiente imagen se muestra la posición de la cadena and
y or
junto con dos cláusulas.
El siguiente JSON muestra una condición que contiene dos cláusulas. Dado que la cadena and
se usa en esta expresión, ambas cláusulas deben evaluarse como true
antes de realizar una operación en el objeto.
{
"condition": "[[and(endsWith(Name, '.docx'), equals(Tags.Value[readyForLegalHold], 'Yes'))]]"
}
Grupos de condiciones
Las cláusulas agrupadas funcionan como una sola unidad independiente del resto de las cláusulas. Agrupar cláusulas es similar a colocar paréntesis alrededor de una ecuación matemática o una expresión lógica. La cadena and
o or
para la primera cláusula del grupo se aplica a todo el grupo.
En la imagen siguiente se muestran dos cláusulas agrupadas.
La siguiente condición solo permite las operaciones en documentos de Microsoft Word donde la etiqueta readyForLegalHold
del documento está establecida en un valor de Yes
. Las operaciones también se realizan en objetos que tienen más de 100 bytes aunque las otras dos condiciones no sean verdaderas.
{
"condition": "[[[or(and(endsWith(Name, '.docx'), equals(Tags.Value[readyForLegalHold], 'Yes')), greater(Content-Length, '100'))]]"
}
Vista de código en Azure Portal
El editor visual disponible en Azure portal, puede generar el JSON de una condición para usted. Puede definir sus condiciones utilizando el editor y luego obtener la expresión JSON abriendo la pestaña Código. Este enfoque puede ser útil cuando se crean conjuntos complicados de condiciones, ya que las expresiones JSON pueden llegar a ser grandes, poco manejables y difíciles de crear a mano. En la imagen siguiente se muestra la pestaña Código en el editor visual.
Para obtener más información sobre el editor visual, consulte Definición de condiciones y operaciones de almacenamiento.
Propiedades admitidas
En la siguiente tabla se muestran las propiedades que puede usar para componer cada cláusula de una condición. Una cláusula puede contener propiedades de cadena, booleanas, numéricas y de fecha y hora.
Cadena | Fecha y hora3 | Numeric | Booleano |
---|---|---|---|
AccessTier1 | AccessTierChangeTime | Content-Length | Eliminado |
Metadata.Value | Creation-Time | TagCount | IsCurrentVersion |
Nombre | DeletedTime | ||
BlobType2 | LastAccessTime | ||
Container.Metadata.Value[Name] | Last-Modified | ||
Container.Name | |||
Container.Metadata.Value[Name] | |||
Container.Name | |||
Tags.Value[Name] | |||
VersionId |
1 Los valores permitidos son Hot
, Cool
o Archive
.
2 Los valores permitidos son BlockBlob
, PageBlob
o AppendBlob
3 Puede fijarse en una hora determinada o en un valor de metadatos obtenido dinámicamente de los objetos. Consulte Referencia de un valor de metadatos de objeto.
Operadores admitidos
En la siguiente tabla se muestran los operadores que puede usar en una cláusula para evaluar el valor de cada tipo de propiedad.
Cadena | Fecha y hora | Numeric | Booleano |
---|---|---|---|
contains | equals | equals | equals |
empty | greater | greater | not |
equals | greaterOrEquals | greaterOrEquals | |
endsWith | less | less | |
length | lessOrEquals | lessOrEquals | |
startsWith | addToTime | ||
Coincidencias |