12
votes

Obtenir une exception - "La valeur de la propriété est plus grande que celle autorisée par le service de la table", quelle est la taille maximale d'une rangée dans la table de stockage Azure

Obtention d'exception "La valeur de la propriété est plus grande que celle autorisée par le service de la table" tout en essayant d'insérer un enregistrement dans le stockage de la table Azure.

Follwing est ma structure de table, String PartitionKey, string Rowkey, ID de chaîne, String Site, Nom de la chaîne, Syte [] Contenu,
DateTime public créétime

Et j'essaie d'économiser 83755 Bytes Array (82 Ko) dans le champ de contenu et d'autres champs sont max de 35 caractères.

Quelqu'un peut-il s'il vous plaît dites-moi quelle est la taille maximale d'une rangée pour une table de stockage Azure?

Voici l'URL que j'ai mentionné .. Là, il a mentionné la ligne peut avoir 1 Mo max. Mais le mien ne dépasse pas 100 Ko.

http://blogs.msdn.com/b/jnak/archive/2010/01/06/walkthrough-windows-AZURE-TABLE-STORAGE-NOV-2009-AND-LATER.ASPX

merci,

gopinath


0 commentaires

3 Réponses :


15
votes

Oui, chaque ligne peut avoir jusqu'à 1 Mo. Toutefois, chaque propriété Octe Array ou propriété de cordes est limitée à 64k. Voir Cette référence MSDN pour des spécificités sur chaque type de données.


3 commentaires

Merci David Makogon. Ensuite, je vais créer un stockage de blob, mettre mon contenu là-bas et stocker la référence dans ma table de stockage. Y a-t-il un autre moyen de contourner ce problème?


Je pense que c'est la bonne idée, car les blobs peuvent être significativement plus grands (200 Go pour bloquer Blobs, 1 To pour les blobs de la page), ainsi que le stockage de blob et de table ont le même coût de stockage. Vous pouvez mettre vos références sur le stockage de table ou SQL Azure (ce dernier si vous avez besoin de capacités de requête supplémentaires au-delà des offres de stockage de table).


James, c'est l'approche que j'ai prise. J'ai ajouté la logique pour vérifier la taille du texte, donc je ne le placez que dans une blob quand il est trop grand. De cette façon, vous réduisez votre nombre de transactions et la vitesse de récupération de données lorsque cela est possible.



5
votes

Je recommande de consulter LOKAD.CLOUD pour Azure framework (open source). Il existe un code testé de la production pour sérialiser les grandes entités dans le stockage de la table avec 960KB limite (scission de propriété et gestion est traitée par le cadre)

Voici l'utilisation des échantillons de Fatentititions wiki xxx


0 commentaires