Compartir a través de


com.microsoft.azure.storage.table

Clases

CloudTable

Representa una tabla de Microsoft Azure Table service.

CloudTableClient

Proporciona un cliente de servicio para acceder a Microsoft Azure Table service.

La CloudTableClient clase encapsula el URI base para el punto de conexión de Table service y las credenciales para acceder a la cuenta de almacenamiento, y proporciona métodos para crear, eliminar, enumerar y consultar tablas, así como métodos para ejecutar operaciones y consultas en entidades de tabla. Estos métodos invocan las operaciones de la API rest del servicio de almacenamiento para realizar las solicitudes y obtener los resultados que se devuelven.

Un punto de conexión de Table service es el URI base para los recursos de Table service, incluido el nombre DNS de la cuenta de almacenamiento:

Para obtener más información, vea el tema de MSDN Addressing Table Service Resources.

Las credenciales pueden ser una combinación del nombre de la cuenta de almacenamiento y una clave, o una firma de acceso compartido. Para obtener más información, consulte el tema de MSDN Autenticación del acceso a la cuenta de almacenamiento.

DynamicTableEntity

Un tipo TableEntity que permite a los autores de llamada acceder directamente a la asignación de propiedades de la entidad. Esta clase se TableServiceEntity extiende para eliminar el uso de reflexión para la serialización y deserialización.

EntityProperty

Clase que representa un único valor de propiedad con tipo en una entidad de tabla. almacena EntityProperty el tipo de datos como .EdmType El valor, que puede ser para los tipos de objeto, pero no para los tipos primitivos, se serializa y almacena como .

EntityProperty proporciona constructores sobrecargados y sobrecargas del método para los tipos de valor admitidos. Cada constructor o método sobrecargado establece y EdmType serializa el valor adecuadamente en función del tipo de parámetro.

Use uno de los métodos Type para deserializar como EntityProperty el tipo de Java adecuado. El método iniciará o ParseExceptionIllegalArgumentException si EntityProperty no se puede deserializar como el tipo de Java.

QueryTableOperation

Clase que se TableOperation extiende para implementar una consulta para recuperar una sola entidad de tabla. Para ejecutar una QueryTableOperation instancia, llame al método en una CloudTableClient instancia de . Esta operación se puede ejecutar directamente o como parte de .TableBatchOperation QueryTableOperation Si devuelve un resultado de entidad, se almacena en el correspondiente TableResult devuelto por el método .

SharedAccessTablePolicy

Representa una directiva de acceso compartido, que especifica la hora de inicio, la hora de expiración y los permisos de una firma de acceso compartido.

TableBatchOperation

Clase que representa una operación por lotes. Una operación por lotes es una colección de operaciones de tabla que la API de REST del servicio de almacenamiento ejecuta como una única operación atómica mediante la invocación de una transacción de grupo de entidades.

Una operación por lotes puede contener hasta un máximo de 100 operaciones de tabla individuales, cuyas entidades correspondientes deben usar la misma clave de partición. Un lote que contiene una operación de recuperación no puede incluir ninguna otra operación. Tenga en cuenta que la carga total máxima de una operación por lotes es de 4 MB.

TableEncryptionPolicy

Representa una directiva de cifrado de tabla que se usa para realizar el cifrado y descifrado de sobres de entidades de tabla de Azure.

TableOperation

Clase que representa una sola operación de tabla.

Use los métodos de fábrica estáticos para construir TableOperation instancias de operaciones en tablas que insertan, actualizan, combinan, eliminan, reemplazan o recuperan entidades de tabla. Para ejecutar una TableOperation instancia, llame al método en una CloudTableClient instancia de . Se TableOperation puede ejecutar directamente o como parte de .TableBatchOperation Si devuelve un TableOperation resultado de entidad, se almacena en el correspondiente TableResult devuelto por el método .

TablePermissions

Representa los permisos de una tabla.

TableQuery<T>

Clase que representa una consulta en una tabla especificada. Una TableQuery<T> instancia agrega los parámetros de consulta que se van a usar cuando se ejecuta la consulta. Se debe llamar a uno de los métodos o de CloudTableClient para ejecutar la consulta. Los parámetros se codifican y se pasan al servidor cuando se ejecuta la consulta de tabla.

Para crear una consulta de tabla con sintaxis fluida, el from(final Class<T> clazzType) método de generador estático y los where(final String filter)métodos mutadores , select(final String[] columns)y take(final Integer take) devuelven una referencia al objeto que se puede encadenar a una sola expresión. Use el from(Class) método de generador de clases estáticas para crear una instancia que se ejecute en la tabla con nombre con entidades del tipo de implementación especificado TableEntity . Use el where(final String filter) método para especificar una expresión de filtro para las entidades devueltas. Use el select(final String[] columns) método para especificar las propiedades de entidad de tabla que se van a devolver. Use el take(final Integer take) método para limitar el número de entidades devueltas por la consulta. Tenga en cuenta que nada impide llamar a estos métodos más de una vez en , por lo que los valores guardados en serán el último encontrado en orden de ejecución.

Por ejemplo, podría construir una consulta de tabla con sintaxis fluida:

En este ejemplo se crea una consulta en la tabla "Products" para todas las entidades en las que el valor PartitionKey es "ProductsMNO" y el valor RowKey es mayor o igual que "Napkin" y solicita las 25 primeras entidades coincidentes, seleccionando solo las propiedades comunes y la propiedad denominada "InventoryCount" y las devuelve como DynamicTableEntity objetos .

Las expresiones de filtro para su uso con el where(final String filter) método o setFilterString(final String filterString) el método se pueden crear mediante la sintaxis fluida con los métodos y combineFilters(String filterA, String operator, String filterB) métodos sobrecargadosgenerateFilterCondition(String propertyName, String operation, final boolean value), mediante los operadores de comparación definidos en QueryComparisons y los operadores lógicos definidos en Operators. Tenga en cuenta que el primer operando de una comparación de filtros debe ser un nombre de propiedad y el segundo operando debe evaluarse como una constante. Los valores de la propiedad PartitionKey y RowKey son tipos con fines de comparación.

Los valores que se pueden usar en las consultas de tabla se explican con más detalle en el tema de MSDN Consulta de tablas y entidades, pero tenga en cuenta que los caracteres de espacio dentro de los valores no necesitan estar codificados con dirección URL, ya que esto se hará cuando se ejecute la consulta.

Los TableQuery#TableQuery(Class) métodos de generador estático y TableQuery#from(Class) constructor requieren un tipo de clase que implementa TableEntity y contiene un constructor nulo. Si la consulta se ejecutará mediante , EntityResolver<T>el autor de la llamada puede especificar TableServiceEntity como el tipo de clase .

TableRequestOptions

Representa un conjunto de opciones de tiempo de espera, formato de carga y directiva de reintento que se pueden especificar para una solicitud de operación de tabla.

TableResult

Clase que representa el resultado de una operación de tabla. La TableResult clase encapsula la respuesta HTTP y los resultados de las entidades de tabla devueltas por la operación de API de REST del servicio de almacenamiento denominada para un determinado TableOperation.

TableServiceEntity

La TableServiceEntity clase representa el tipo de objeto base de una entidad de tabla en el servicio Storage. TableServiceEntity proporciona una implementación base para la TableEntity interfaz que proporciona y métodos que serializan y deserializan de forma predeterminada todas las propiedades a través de la reflexión. Una clase de entidad de tabla puede extender esta clase e invalidar los métodos y para proporcionar lógica de serialización personalizada o más eficaz.

El uso de la reflexión permite serializar y deserializar las subclases de TableServiceEntity sin tener que implementar el código de serialización. Cuando se encuentra un método captador y un método establecedor para un nombre de propiedad y un tipo de datos determinado, se invoca automáticamente el método adecuado para serializar o deserializar los datos. Para aprovechar el código de serialización automática, las clases de entidad de tabla deben proporcionar métodos captadores y establecedores para cada propiedad de la entidad de tabla correspondiente de Microsoft Azure Table Storage. El código de reflexión busca métodos captadores y establecedores en pares del formulario.

y

donde PropertyName es un nombre de propiedad para la entidad de tabla y el tipo es un tipo de Java compatible con el tipo de datos EDM de la propiedad. Consulte la tabla siguiente para obtener un mapa de los tipos de propiedad a sus equivalentes de Java. La StoreAs anotación se puede aplicar con un atributo para especificar un nombre de propiedad para la reflexión en métodos captadores y establecedores que no siguen la convención de nombre de propiedad. Los nombres de método y el atributo de las anotaciones distinguen mayúsculas de minúsculas para buscar coincidencias con los nombres de StoreAs propiedad con reflexión. Use la Ignore anotación para evitar que la reflexión use métodos para la serialización y deserialización automáticas. Tenga en cuenta que los nombres "PartitionKey", "RowKey", "Timestamp" y "Etag" están reservados y se omitirán si se establecen con la StoreAs anotación en una subclase.

En la tabla siguiente se muestran los tipos de datos de propiedad admitidos en el almacenamiento de Microsoft Azure y los tipos de Java correspondientes cuando se deserializan.

Tipos de datos de propiedad admitidos en Microsoft Azure Storage

Consulte el tema de MSDN Descripción del modelo de datos de Table Service para obtener información general sobre tablas, entidades y propiedades como se usa en el servicio Microsoft Azure Storage.

Para obtener información general sobre los nombres y tipos de datos primitivos de EDM disponibles, consulte el

Sección Tipos de datos primitivos de la información general del protocolo OData.

TableServiceException

Excepción que se produce cuando una operación del servicio Table Storage no se completa correctamente.

TableQuery.Operators

Clase estática que asigna identificadores para filtrar operadores de expresión.

TableQuery.QueryComparisons

Clase estática que asigna identificadores para filtrar operadores de comparación de propiedades.

Interfaces

Encrypt

Representa un atributo personalizado que se puede usar para indicar si se debe cifrar una propiedad de entidad. Use esta anotación para especificar si se deben cifrar los datos almacenados por un método establecedor o descifrar los datos recuperados por un método getter en una clase que implementa TableEntity.

EntityResolver<T>

Interfaz para realizar la proyección del lado cliente en una entidad recuperada. Una EntityResolver<T> instancia debe implementar un método que proyecta los datos de entidad representados por los parámetros pasados como una nueva instancia del tipo especificado por el parámetro type.

Esta interfaz es útil para convertir directamente de datos de entidad de tabla a un tipo de objeto de cliente sin necesidad de un tipo de clase de entidad de tabla independiente que deserializa cada propiedad individualmente. Por ejemplo, un cliente puede realizar una proyección del lado cliente de una entidad Customer devolviendo simplemente el para la propiedad CustomerName de cada entidad. El resultado de esta proyección será una colección de s que contiene cada nombre de cliente.

Ignore

Anotación establecida en un método para evitar su uso en serialización o deserialización de una propiedad mediante reflexión. Aplique la anotación a los métodos de una clase que implementa TableEntity para forzar que se omitan durante la serialización y deserialización basada en reflexión. Consulte la documentación para TableServiceEntity obtener más información sobre el uso de la serialización y deserialización basada en reflexión.

StoreAs

Una anotación usada para invalidar el nombre de una propiedad se serializa y deserializa con el uso de reflexión. Utilice esta anotación para especificar el nombre de propiedad que se va a asociar a los datos almacenados por un método establecedor o recuperados por un método captador en una clase que implementa TableEntity que usa la serialización y deserialización basada en reflexión. Tenga en cuenta que los nombres "PartitionKey", "RowKey", "Timestamp" y "Etag" están reservados y se omitirán si se establecen con la anotación.

Ejemplo:

En este ejemplo se muestra cómo los métodos que obtendrían y establecen una propiedad de entidad denominada ObjectPropertyName en el caso predeterminado se pueden anotar para obtener y establecer una propiedad de entidad denominada EntityPropertyName. Consulte la documentación para TableServiceEntity obtener más información sobre el uso de la serialización y deserialización basada en reflexión.

TableEntity

Interfaz necesaria para los tipos de entidad de tabla. La TableEntity interfaz declara métodos getter y establecedor para las propiedades de entidad comunes, y métodos para serialización y deserialización de todas las propiedades de entidad mediante un mapa de propiedades. Cree clases que implementen TableEntity para personalizar el almacenamiento de propiedades, la recuperación, la serialización y la deserialización, y para proporcionar lógica personalizada adicional para una entidad de tabla.

La biblioteca cliente de Storage incluye dos implementaciones de TableEntity que proporcionan acceso a propiedades simples y serialización:

DynamicTableEntityTableEntity implementa y proporciona un mapa de propiedades simple para almacenar y recuperar propiedades. Use para DynamicTableEntity un acceso sencillo a las propiedades de entidad cuando solo se devuelva un subconjunto de propiedades (por ejemplo, mediante una cláusula select en una consulta) o cuando la consulta pueda devolver varios tipos de entidad con propiedades diferentes. También puede utilizar este tipo para realizar de forma masiva actualizaciones de tabla de entidades heterogéneas sin perder información de la propiedad.

TableServiceEntity es una implementación de que usa el comportamiento de TableEntity serialización y deserialización basado en reflexión en sus métodos y . TableServiceEntityLas clases derivadas de con métodos que siguen una convención para los tipos y la nomenclatura se serializan y deserializan automáticamente.

Cualquier clase que implemente TableEntity puede aprovechar el comportamiento automático de serialización y deserialización basada en reflexión en TableServiceEntity invocando los métodos estáticos en y en . La clase debe proporcionar métodos que sigan la convención de nomenclatura y tipo que se va a serializar y deserializar automáticamente. Cuando se encuentra un método captador y un método establecedor para un nombre de propiedad y un tipo de datos determinado, se invoca automáticamente el método adecuado para serializar o deserializar los datos. El código de reflexión busca métodos captadores y establecedores en pares del formulario.

y

donde PropertyName es un nombre de propiedad para la entidad de tabla y el tipo es un tipo de Java compatible con el tipo de datos EDM de la propiedad. Consulte la tabla de la descripción de la clase para TableServiceEntity obtener una asignación de tipos de propiedad a sus equivalentes de Java. La StoreAs anotación se puede aplicar con un atributo para especificar un nombre de propiedad para la reflexión en métodos captadores y establecedores que no siguen la convención de nombre de propiedad. Los nombres de método y el atributo de las anotaciones distinguen mayúsculas de minúsculas para buscar coincidencias con los nombres de StoreAs propiedad con reflexión. Use la Ignore anotación para evitar que la reflexión use métodos para la serialización y deserialización automáticas. Tenga en cuenta que los nombres "PartitionKey", "RowKey", "Timestamp" y "Etag" están reservados y se omitirán si se establecen con la StoreAs anotación en una subclase que usa los métodos de reflexión.

TableRequestOptions.EncryptionResolver

Interfaz cuya función se usa para obtener el valor que indica si una propiedad debe cifrarse o no la clave de partición, la clave de fila y el nombre de la propiedad.

TableRequestOptions.PropertyResolver

Interfaz cuya función se usa para obtener para EdmType una propiedad de entidad dada la clave de partición, la fila, la clave y el nombre de propiedad, si se implementa la interfaz.

Enumeraciones

EdmType

Enumeración utilizada para representar los tipos primitivos del modelo de datos de entidad (EDM) en Open Data Protocol (OData). El EDM es el modelo de datos abstracto subyacente que usan los servicios de OData. La EdmType enumeración incluye un parse(final String value) método para convertir nombres de tipo de datos EDM al tipo de enumeración y invalida el toString() método para generar un nombre de tipo de datos EDM.

Para obtener más información sobre OData, consulte el sitio web de Open Data Protocol .

Para obtener información general sobre los nombres y tipos de datos primitivos de EDM disponibles, consulte la sección Tipos de datos primitivos de la información general del protocolo OData.

El sistema de tipos abstractos que se usa para definir los tipos primitivos admitidos por OData se define en detalle en [MC-CSDL] (sección 2.2.1).

SharedAccessTablePermissions

Especifica el conjunto de permisos posibles para una directiva de tabla de acceso compartido.

TablePayloadFormat

Describe los formatos de carga que se admiten para las tablas.