Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Esporta (0) Stampa
Espandi tutto

Informazioni sul modello di dati del servizio tabelle

Aggiornamento: aprile 2015

Il servizio tabelle offre un'archiviazione strutturata sotto forma di tabelle. Nelle sezioni seguenti viene illustrato il modello di dati del servizio tabelle.

Un account di archiviazione è un'entità univoca globale all'interno del sistema di archiviazione. L'account di archiviazione è lo spazio dei nomi padre per il servizio tabelle e la base per l'autenticazione. È possibile creare un numero qualsiasi di tabelle in un determinato account di archiviazione, purché ogni tabella sia denominata in modo univoco.

L'account di archiviazione deve essere sempre specificato nell'URI di richiesta. L'URI di base per accedere al servizio tabelle è il seguente:

https://myaccount.table.core.windows.net

Nelle tabelle i dati sono archiviati come raccolte di entità. Le entità sono simili alle righe. Un'entità ha una chiave primaria e un set di proprietà. Una proprietà è una coppia di nome e valore tipizzato, simile a una colonna.

Con il servizio tabelle non viene imposto alcuno schema per le tabelle, pertanto due entità nella stessa tabella possono avere set di proprietà diversi. Gli sviluppatori possono scegliere di applicare uno schema sul lato client. Una tabella può contenere un numero infinito di entità.

I nomi delle tabelle devono essere conformi alle regole seguenti:

  • I nomi delle tabelle devono essere univoci in un account.

  • I nomi delle tabelle devono contenere solo caratteri alfanumerici.

  • I nomi delle tabelle non possono iniziare con un carattere numerico.

  • Ai nomi delle tabelle non si applica la distinzione tra maiuscole e minuscole.

  • I nomi delle tabelle devono avere una lunghezza compresa tra 3 e 63 caratteri.

  • I nomi delle tabelle sono riservati, incluso "tabelle". Se si tenta di creare una tabella con un nome di tabella riservato, viene restituito il codice di errore 404 (Richiesta non valida).

Queste regole sono descritte dall'espressione regolare "^[A-Za-z][A-Za-z0-9]{2,62}$".

I nomi di tabella mantengono la distinzione tra maiuscole e minuscole con cui sono stati creati, ma quando vengono utilizzati tale distinzione è irrilevante.

I nomi di proprietà sono stringhe con distinzione tra maiuscole e minuscole con lunghezza massima di 255 caratteri. I nomi di proprietà devono essere conformi alle regole di denominazione per gli identificatori C#.

noteNota
Alcuni identificatori C# non sono validi secondo la specifica XML. Questi identificatori non possono essere utilizzati nei nomi di proprietà, poiché questi ultimi vengono inviati tramite un payload XML in una richiesta nel servizio tabelle.

ImportantImportante
I nomi di proprietà vengono passati al servizio tabelle in un URL. Alcuni caratteri devono essere codificati in percentuale per essere visualizzati nell'URL, tramite UTF-8 (scelta consigliata) o Multibyte Character Set. Questa codifica viene eseguita automaticamente quando si utilizzano le librerie di Azure .NET o si crea un oggetto Uri che include un nome di proprietà. Tuttavia, alcuni caratteri specifici non sono validi nei percorsi URL anche se codificati. Questi caratteri non possono essere visualizzati nei nomi di proprietà. Gli elementi di codice come \uE000, validi nei nomi di file NTFS, non sono caratteri Unicode validi, pertanto non possono essere utilizzati. Inoltre, anche alcuni caratteri ASCII o Unicode, come i caratteri di controllo (da 0x00 a 0x1F, \u0081 e così via), non sono consentiti. Per le regole che controllano le stringhe Unicode in HTTP/1.1, vedere:

noteNota
A partire dalla versione 2009-04-14, il servizio tabelle non supporta più l'inserimento del carattere trattino (-) nei nomi di proprietà.

Un'entità può contenere fino a 255 proprietà, incluse 3 proprietà di sistema descritte nella sezione seguente. Pertanto, l'utente può includere fino a 252 proprietà personalizzate, oltre alle 3 proprietà di sistema. La dimensione combinata di tutti i dati nelle proprietà di un'entità non può superare 1 MB.

Un'entità dispone sempre delle proprietà di sistema seguenti:

  • Proprietà PartitionKey

  • Proprietà RowKey

  • Proprietà Timestamp

Queste proprietà di sistema sono incluse automaticamente per ogni entità di una tabella. I nomi di queste proprietà sono riservati e non possono essere modificati. Lo sviluppatore è responsabile dell'inserimento e dell'aggiornamento dei valori di PartitionKey e RowKey. Il server gestisce il valore di Timestamp, che non può essere modificato.

I caratteri seguenti non sono consentiti nei valori delle proprietà PartitionKey e RowKey :

  • Carattere barra (/)

  • Carattere barra rovesciata (\)

  • Simbolo del cancelletto (#)

  • Punto interrogativo (?)

  • Caratteri di controllo da U+0000 a U+001F, inclusi:

    • Il carattere di tabulazione orizzontale (\t)

    • Il carattere di avanzamento riga (\n)

    • Il carattere di ritorno a capo (\r)

  • Caratteri di controllo da U+007F a U+009F

Le tabelle sono partizionate per supportare il bilanciamento del carico tra i nodi di archiviazione. Le entità di una tabella sono organizzate tramite le partizioni. Una partizione è un intervallo consecutivo di entità che hanno lo stesso valore di chiave di partizione. La chiave di partizione è un identificatore univoco per la partizione di una determinata tabella, specificato dalla proprietà PartitionKey. La chiave di partizione costituisce la prima parte della chiave primaria di un'entità. La chiave di partizione può essere un valore di stringa con dimensioni massime di 1 KB.

È necessario includere la proprietà PartitionKey in ogni operazione di inserimento, aggiornamento ed eliminazione.

La seconda parte della chiave primaria è la chiave di riga, specificata dalla proprietà RowKey. La chiave di riga è un identificatore univoco di un'entità all'interno di una partizione specificata. Insieme, PartitionKey e RowKey identificano in modo univoco ogni entità in una tabella.

La chiave di riga è un valore di stringa con dimensioni massime di 1 KB.

È necessario includere la proprietà RowKey in ogni operazione di inserimento, aggiornamento ed eliminazione.

La proprietà Timestamp è un valore DateTime gestito sul lato server per registrare l'ora dell'ultima modifica di un'entità. Il servizio tabelle utilizza la proprietà Timestamp internamente per fornire concorrenza ottimistica. Il valore Timestamp è un valore a incremento progressivo costante, pertanto ogni volta che l'entità viene modificata, il valore Timestamp per tale entità aumenta. È consigliabile non impostare questa proprietà in operazioni di inserimento o aggiornamento (il valore viene ignorato).

Il servizio tabelle supporta un subset di tipi di dati definito dalla specifica del protocollo OData. Nella tabella seguente sono indicati i tipi di proprietà supportati per il servizio tabelle:

 

Tipo di dati OData Tipo di Common Language Runtime Dettagli

Edm.Binary

byte[]

Matrice di byte di dimensioni massime pari a 64 KB.

Edm.Boolean

bool

Valore booleano.

Edm.DateTime

DateTime

Valore a 64 bit espresso come ora UTC (Coordinated Universal Time). L'intervallo DateTime supportato inizia a mezzanotte (12:00) del 1° gennaio 1601 d.C. (C.E.), UTC. L'intervallo termina il 31 dicembre 9999.

Edm.Double

double

Valore a virgola mobile a 64 bit.

Edm.Guid

Guid

Identificatore univoco globale a 128 bit.

Edm.Int32

Int32 oppure int

Integer a 32 bit.

Edm.Int64

Int64 oppure long

Integer a 64 bit.

Edm.String

String

Valore con codifica UTF-16. I valori di stringa possono avere dimensioni massime di 64 KB.

Per impostazione predefinita, una proprietà viene creata come tipo String, a meno che non si specifichi un tipo diverso. Per tipizzare in modo esplicito una proprietà, specificare il relativo tipo di dati tramite il tipo di dati OData appropriato per un'operazione Aggiornamento di entità o Insert Entity. Per altre informazioni, vedere Inserimento e aggiornamento di entità.

Per esempi che illustrano come filtrare i vari tipi di proprietà in un URI di richiesta di query, vedere Query di tabelle ed entità.

Vedere anche

Mostra:
© 2015 Microsoft