Exporter (0) Imprimer
Développer tout

Get Block List

Mis à jour: février 2014

L'opération Get Block List extrait la liste des blocs qui ont été téléchargés dans le cadre d'un objet blob de blocs.

Deux listes de blocs sont tenues à jour pour un objet blob :

  • Liste de blocs validés : la liste des blocs qui ont été validés correctement pour un objet blob donné avec Put Block List.

  • Liste de blocs non validés : la liste des blocs qui ont été téléchargés pour un objet blob avec Put Block, mais qui n'ont pas encore été validés. Ces blocs sont stockés dans Windows Azure et associés à un objet blob, mais ils ne font pas partie de cet objet blob.

Vous pouvez appeler Get Block List pour retourner la liste des blocs validés, la liste des blocs non validés ou les deux listes. Vous pouvez également appeler cette opération pour extraire la liste des blocs validés pour un instantané.

La demande Get Block List peut être construite comme indiqué ci-dessous. HTTPS est recommandé. Remplacez moncompte par le nom de votre compte de stockage :

 

  URI de demande de méthode GET Version HTTP

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist&snapshot=<DateTime>

HTTP/1.1

Lorsque vous élaborez une demande pour le service de stockage émulé, spécifiez le nom d'hôte de l'émulateur et le port de service BLOB sous la forme 127.0.0.1:10000, suivi du nom de compte de stockage émulé :

 

  URI de demande de méthode GET Version HTTP

http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=blocklist

HTTP/1.1

Pour plus d'informations, consultez Utilisation de l'émulateur de stockage Azure pour le développement et le test.

Les paramètres supplémentaires suivants peuvent être spécifiés dans l'URI de la demande.

 

Paramètre d'URI Description

snapshot

Ce paramètre est facultatif. Le paramètre d'instantané est une valeur DateTime opaque qui, lorsqu'elle est présente, spécifie la liste d'objets blob à récupérer. Pour plus d'informations sur l'utilisation des instantanés d'objet blob, consultez Création d'un instantané d'objet BLOB.

blocklisttype

Indique quelle liste retourner : liste des blocs validés, liste des blocs non validés ou ces deux listes. Les valeurs valides sont committed, uncommitted ou all. Si ce paramètre est omis, Get Block List retourne la liste des blocs validés.

timeout

Ce paramètre est facultatif. Le paramètre timeout est exprimé en secondes. Pour plus d'informations, consultez Définition de délais d'expiration pour les opérations du service BLOB.

Le tableau suivant décrit les en-têtes de demande obligatoires ou facultatifs.

 

En-tête de demande Description

Authorization

Obligatoire. Spécifie le schéma d'authentification, le nom du compte et la signature. Pour plus d'informations, consultez Authentification pour les services de stockage Azure.

Date - ou - x-ms-date

Obligatoire. Spécifie le temps universel coordonné (UTC) pour la demande. Pour plus d'informations, consultez Authentification pour les services de stockage Azure.

x-ms-version

Obligatoire pour toutes les demandes authentifiées, facultatif pour les demandes anonymes. Spécifie la version de l'opération à utiliser pour cette demande. Pour plus d'informations, consultez Contrôle de version pour les services de stockage Azure.

x-ms-lease-id:<ID>

Ce paramètre est facultatif. Si cet en-tête est spécifié, l'opération sera exécutée uniquement si les deux conditions suivantes sont remplies :

  • Le bail de l'objet blob est actuellement actif.

  • L'ID de bail spécifié dans la demande correspond à celui de l'objet blob.

Si cet en-tête est spécifié et que ces deux conditions ne sont pas remplies, la demande échoue et l'opération échoue avec le code d'état 412 (Échec de la précondition).

x-ms-client-request-id

Ce paramètre est facultatif. Fournit une valeur opaque générée par le client avec une limite de caractère de 1 Ko qui est enregistrée dans les journaux d'analyse quand la journalisation de l'analyse de stockage est activée. L'utilisation de cet en-tête est recommandée pour la corrélation des activités côté client avec les requêtes reçues par le serveur. Pour plus d'informations, consultez À propos de la journalisation Storage Analytics et Journalisation du stockage Windows Azure : utilisation des journaux pour suivre les demandes de stockage.

L'exemple d'URI de demande suivant retourne la liste des blocs validés pour un objet blob nommé MOV1.avi :

GET http://myaccount.blob.core.windows.net/movies/MOV1.avi?comp=blocklist&blocklisttype=committed HTTP/1.1

L'exemple d'URI de demande suivant retourne les listes de blocs validés et non validés :

GET http://myaccount.blob.core.windows.net/movies/MOV1.avi?comp=blocklist&blocklisttype=all HTTP/1.1

L'exemple d'URI de demande suivant retourne la liste des blocs validés pour un instantané. Notez qu'un instantané se compose uniquement de blocs validés, il n'y a donc aucun bloc non validé associé.

GET http://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist&snapshot=2009-09-30T20%3a11%3a15.2735974Z

La réponse comprend un code d'état HTTP, un ensemble d'en-têtes de réponse et un corps de réponse contenant la liste des blocs.

Une opération ayant réussi retourne le code d'état 200 (OK).

Pour plus d'informations sur les codes d'état, consultez Codes d'état et codes d'erreur.

La réponse de l'opération inclut les en-têtes suivants. La réponse peut aussi inclure des en-têtes HTTP standard supplémentaires. Tous les en-têtes standard sont conformes à la spécification du protocole HTTP/1.1.

 

En-tête de réponse Description

Last-Modified

Date et heure de la dernière modification apportée à l'objet blob. La date doit respecter le format RFC 1123. Pour plus d'informations, consultez Représentation des valeurs Date/Heure dans les en-têtes. Cet en-tête est retourné uniquement si l'objet blob a des blocs validés.

Une opération qui modifie l'objet blob, y compris les mises à jour des métadonnées ou des propriétés de l'objet blob, change l'heure de la dernière modification de l'objet blob.

ETag

ETag pour l'objet blob. Cet en-tête est retourné uniquement si l'objet blob a des blocs validés.

Content-Type

Le type de contenu MIME de l'objet blob. La valeur par défaut est application/xml.

x-ms-blob-content-length

La taille de l'objet blob en octets.

x-ms-request-id

Cet en-tête identifie de façon unique la demande qui a été effectuée et peut être utilisé pour résoudre les problèmes de la demande. Pour plus d'informations, consultez Dépannage des opérations de l'API.

x-ms-version

Indique la version du service BLOB utilisée pour exécuter la demande. Cet en-tête est retourné pour les demandes effectuées avec la version du 19.09.09 ou ultérieure.

Cet en-tête est également retourné pour les demandes anonymes sans version spécifiée si le conteneur était marqué pour un accès public à l'aide de la version du 19/09/2009 du service BLOB. Notez que seule la liste des blocs validés peut être retournée via une demande anonyme.

Date

Une valeur de date/heure UTC générée par le service qui indique le moment auquel la réponse a été initiée.

Cette opération prend également en charge l'utilisation d'en-têtes conditionnels pour obtenir la liste noire uniquement si une condition est remplie. Pour plus d'informations, consultez Spécification des en-têtes conditionnels pour les opérations du service BLOB.

Le format du corps de la réponse pour une demande qui retourne uniquement les blocs validés se présente comme suit :

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
    <Block>
      <Name>base64-encoded-block-id</Name>
      <Size>size-in-bytes</Size>
    </Block>
  <CommittedBlocks>
</BlockList>

Le format du corps de la réponse pour une demande qui retourne les blocs validés et non validés se présente comme suit :


<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
     <Block>
        <Name>base64-encoded-block-id</Name>
        <Size>size-in-bytes</Size>
     </Block>
  </CommittedBlocks>
  <UncommittedBlocks>
    <Block>
      <Name>base64-encoded-block-id</Name>
      <Size>size-in-bytes</Size>
    </Block>
  </UncommittedBlocks>
 </BlockList>

Dans l'exemple suivant, le paramètre blocklisttype a été défini à committed, afin que seuls les blocs validés de l'objet blob soient retournés dans la réponse.

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Sun, 25 Sep 2011 00:33:19 GMT

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
    <Block>
      <Name>BlockId001</Name>
      <Size>4194304</Size>
    </Block>
    <Block>
      <Name>BlockId002</Name>
      <Size>4194304</Size>
    </Block>
  </CommittedBlocks>
</BlockList>

Dans cet exemple, le paramètre blocklisttype a été défini à all, et les blocs validés et non validés de l'objet blob sont retournés dans la réponse.

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Sun, 25 Sep 2011 00:35:56 GMT

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
    <Block>
      <Name>BlockId001</Name>
      <Size>4194304</Size>
    </Block>
    <Block>
      <Name>BlockId002</Name>
      <Size>4194304</Size>
    </Block>
  </CommittedBlocks>
  <UncommittedBlocks>
    <Block>
      <Name>BlockId003</Name>
      <Size>4194304</Size>
    </Block>
    <Block>
      <Name>BlockId004</Name>
      <Size>1024000</Size>
    </Block>
  </UncommittedBlocks>
</BlockList>

Dans cet exemple, le paramètre blocklisttype a été défini à all, mais l'objet blob n'a pas encore été validé, donc l'élément CommittedBlocks est vide.

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Wed, 14 Sep 2011 00:40:22 GMT

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks />
  <UncommittedBlocks>
    <Block>
      <Name>BlockId001</Name>
      <Size>1024</Size>
    </Block>
    <Block>
      <Name>BlockId002</Name>
      <Size>1024</Size>
    </Block>
    <Block>
      <Name>BlockId003</Name>
      <Size>1024</Size>
    </Block>
    <Block>
      <Name>BlockId004</Name>
      <Size>1024</Size>
    </Block>
  </UncommittedBlocks>
</BlockList>

Si la liste de contrôle d'accès du conteneur est définie pour autoriser un accès anonyme, un client peut appeler Get Block List ; cependant, seuls les blocs validés sont accessibles publiquement. L'accès à la liste des blocs non validés est limité au propriétaire du compte et à toute personne qui utilise une signature d'accès partagé qui dispose d'autorisations pour lire cet objet blob ou son conteneur.

Appelez Get Block List pour retourner la liste des blocs qui ont été validés pour un objet blob de blocs, la liste des blocs qui n'ont pas encore été validés ou les deux listes. Utilisez le paramètre blocklisttype pour indiquer la liste des blocs à retourner.

La liste des blocs validés est retournée dans l'ordre dans lequel ils ont été validés par l'opération Put Block List. Aucun bloc ne peut être présent plusieurs fois dans la liste des blocs validés.

Vous pouvez utiliser la liste des blocs non validés pour déterminer les blocs manquants de l'objet blob, dans le cas où des appels à Put Block ou Put Block List ont échoué. La liste des blocs non validés est retournée en commençant par le bloc téléchargé le plus récent jusqu'au plus ancien. Si un ID de bloc a été téléchargé plusieurs fois, seul le bloc le plus récent s'affiche dans la liste.

Notez que quand un objet blob n'a pas encore été validé, l'appel de Get Block List avec blocklisttype=all retourne les blocs non validés, et l'élément CommittedBlocks est vide.

Get Block List s'applique uniquement aux objets blob de blocs. L'appel de Get Block List sur un objet blob de pages produit un code d'état 400 (Demande incorrecte).

Afficher:
© 2014 Microsoft