Lease Blob
L’opération Lease Blob
crée et gère un verrou sur un objet blob pour les opérations d’écriture et de suppression. La durée du verrou peut être de 15 à 60 secondes, ou peut être infinie. Dans les versions antérieures au 12/02/2012, la durée du verrouillage est de 60 secondes.
Important
Depuis la version du 12/02/2012, certains comportements de l'opération Lease Blob
diffèrent des versions antérieures. Par exemple, dans les versions précédentes, vous pouviez renouveler un bail après l’avoir libéré. À compter de la version 2012-02-12, cette demande de bail échoue, mais les appels qui utilisent des versions antérieures de Lease Blob
réussissent toujours. Pour obtenir la liste des modifications apportées au comportement de cette opération, consultez la section « Remarques » plus loin dans cet article.
Vous pouvez appeler l’opération Lease Blob
dans l’un des modes suivants :
Acquire
, pour demander un nouveau bail.Renew
, pour renouveler un bail existant.Change
, pour modifier l'ID d'un bail existant.Release
, pour libérer le bail s’il n’est plus nécessaire, afin qu’un autre client puisse immédiatement acquérir un bail contre l’objet blob.Break
, pour mettre fin au bail, mais s’assurer qu’un autre client ne peut pas acquérir un nouveau bail tant que la période de bail actuelle n’a pas expiré.
Requête
Vous pouvez construire la Lease Blob
requête comme suit. HTTPS est recommandé. Remplacez myaccount par le nom de votre compte de stockage.
URI de demande de méthode PUT | Version HTTP |
---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=lease |
HTTP/1.1 |
URI de service de stockage émulé
Lorsque vous effectuez une demande auprès du service de stockage émulé, spécifiez le nom d’hôte de l’émulateur et Stockage Blob Azure port comme 127.0.0.1:10000
, suivi du nom du compte de stockage émulé.
URI de demande de méthode PUT | Version HTTP |
---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=lease |
HTTP/1.0 HTTP/1.1 |
Pour plus d’informations, consultez Utiliser l’émulateur Azurite pour le développement local de Stockage Azure.
Paramètres URI
Vous pouvez spécifier le paramètre supplémentaire suivant sur l’URI de demande.
Paramètre | Description |
---|---|
timeout |
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 de stockage Blob. |
En-têtes de requête
Le tableau suivant décrit les en-têtes de demande obligatoires ou facultatifs.
En-tête de requête | Description |
---|---|
Authorization |
Obligatoire. Spécifie le schéma d’autorisation, le nom du compte et la signature. Pour plus d’informations, consultez Autoriser les requêtes auprès du Stockage Azure. |
Date ou x-ms-date |
Obligatoire. Spécifie la date/heure en temps universel coordonné (UTC) pour la requête. Pour plus d’informations, consultez Autoriser les requêtes auprès du Stockage Azure. |
x-ms-version |
facultatif. Spécifie la version de l'opération à utiliser pour cette demande. Pour plus d'informations, consultez la page Contrôle de version pour les services de Stockage Microsoft Azure. |
x-ms-lease-id: <ID> |
Obligatoire pour renouveler, modifier ou libérer le bail. Vous pouvez spécifier la valeur de dans n’importe quel format de x-ms-lease-id chaîne GUID valide. Pour obtenir la liste des formats valides , consultez Constructeur guid (String ). |
x-ms-lease-action: <acquire ¦ renew ¦ change ¦ release ¦ break> |
acquire : demande un nouveau bail. Si l’objet blob n’a pas de bail actif, Stockage Blob crée un bail sur l’objet blob et retourne un nouvel ID de bail. Si l’objet blob a un bail actif, vous pouvez uniquement demander un nouveau bail à l’aide de l’ID de bail actif. Vous pouvez toutefois spécifier un nouveau x-ms-lease-duration , y compris négatif (-1) pour un bail qui n’expire jamais.renew : renouvelle le bail. Vous pouvez renouveler le bail si l’ID de bail spécifié dans la demande correspond à celui associé à l’objet blob. Notez que le bail peut être renouvelé même s’il a expiré, tant que l’objet blob n’a pas été modifié ou loué à nouveau depuis l’expiration de ce bail. Lorsque vous renouvelez un bail, la durée de bail est réinitialisée.change : Version 2012-02-12 et ultérieures. Modifie l'ID du bail d'un bail actif. Un change doit inclure l’ID de bail actuel dans x-ms-lease-id , et un nouvel ID de bail dans x-ms-proposed-lease-id .release : libère le bail. Vous pouvez libérer le bail si l’ID de bail spécifié dans la demande correspond à celui associé à l’objet blob. La libération du bail permet à un autre client d’acquérir immédiatement le bail pour l’objet blob, dès que la mise en production est terminée.break : résilie le bail, si l'objet blob a un bail actif. Une fois qu’un bail est rompu, il ne peut pas être renouvelé. Toute requête autorisée peut arrêter le bail ; la demande ne spécifie pas obligatoirement un ID de bail correspondant. Lorsqu’un bail est rompu, la période d’interruption de bail est autorisée à s’écouler, pendant laquelle break et release sont les seules opérations de bail que vous pouvez effectuer sur l’objet blob. Lorsqu'un bail est correctement résilié, la réponse indique l'intervalle en secondes avant qu'un nouveau bail puisse être acquis.Un bail rompu peut également être libéré, auquel cas un autre client peut immédiatement acquérir le bail sur l’objet blob. |
x-ms-lease-break-period: N |
facultatif. Version 2012-02-12 et ultérieures. Pour une opération break , il s'agit de la durée proposée en secondes pendant laquelle le bail doit continuer avant qu'il soit résilié, entre 0 et 60 secondes. Cette période d’arrêt n’est utilisée que si elle est plus courte que le temps restant sur le bail. Si elle est plus longue, la durée restante du bail est utilisée. Un nouveau bail ne sera pas disponible avant l’expiration de la période de pause, mais le bail peut être conservé plus longtemps que la période d’interruption. Si cet en-tête n’apparaît pas avec une break opération, un bail à durée fixe s’interrompt une fois la période de bail restante écoulée et un bail infini s’interrompt immédiatement. |
x-ms-lease-duration: -1 ¦ n seconds |
Version 2012-02-12 et ultérieures. Autorisé et requis uniquement sur une acquire opération. Spécifie la durée de bail, en secondes, ou moins un (- 1) pour un bail qui n'expire jamais. Un bail qui n'est pas infini peut durer entre 15 et 60 secondes. La durée d’un bail ne peut pas être modifiée à l’aide de renew ou change . |
x-ms-proposed-lease-id: <ID> |
Version 2012-02-12 et ultérieures. Facultatif pour acquire et obligatoire pour change . ID de bail proposé, dans un format de chaîne GUID. Stockage Blob retourne 400 (Invalid request) si l’ID de bail proposé n’est pas au format correct. Pour obtenir la liste des formats valides , consultez Constructeur guid (String ). |
Origin |
facultatif. Spécifie l'origine à partir de laquelle la demande est émise. La présence de cet en-tête entraîne des en-têtes de partage de ressources cross-origine (CORS) dans la réponse. Pour plus d’informations, consultez Prise en charge CORS pour les services de stockage . |
x-ms-client-request-id |
facultatif. Fournit une valeur opaque générée par le client avec une limite de caractères de 1 kibioctet (Kio) enregistrée dans les journaux lors de la configuration de la journalisation. Nous vous recommandons vivement d’utiliser cet en-tête pour mettre en corrélation les activités côté client avec les demandes reçues par le serveur. Pour plus d’informations, consultez Surveiller Stockage Blob Azure. |
Cette opération prend également en charge l’utilisation d’en-têtes conditionnels pour exécuter l’opération, uniquement si une condition spécifiée est remplie. Pour plus d’informations, consultez Spécification d’en-têtes conditionnels pour les opérations de stockage Blob.
Corps de la demande
Aucun.
Exemple de requête
L'exemple de demande suivant montre comment acquérir un bail :
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=lease HTTP/1.1
Request Headers:
x-ms-version: 2015-02-21
x-ms-lease-action: acquire
x-ms-lease-duration: -1
x-ms-proposed-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5
x-ms-date: <date>
Authorization: SharedKey testaccount1:esSKMOYdK4o+nGTuTyeOLBI+xqnqi6aBmiW4XI699+o=
response
La réponse inclut un code d'état HTTP et un ensemble d'en-têtes de réponse.
Code d’état
Les codes d'état de réussite retournés pour les opérations de bail sont les suivants :
Acquire
: une opération ayant réussi retourne le code d'état 201 (Créée).Renew
: une opération ayant réussi retourne le code d'état 200 (OK).Change
: une opération ayant réussi retourne le code d'état 200 (OK).Release
: une opération ayant réussi retourne le code d'état 200 (OK).Break
: une opération ayant réussi retourne le code d'état 202 (Acceptée).
Pour plus d’informations sur les codes status, consultez État et codes d’erreur.
En-têtes de réponse
La réponse de l'opération inclut les en-têtes suivants. La réponse peut également 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.
Syntaxe | Description |
---|---|
ETag |
Contient une valeur que vous pouvez utiliser pour effectuer des opérations conditionnelles. Pour plus d’informations, consultez Spécification d’en-têtes conditionnels pour les opérations de stockage Blob . Cet en-tête est retourné pour les demandes effectuées sur les versions 2013-08-15 et ultérieures, et la ETag valeur est entre guillemets.L’opération Lease Blob ne modifie pas cette propriété. |
Last-Modified |
Date et heure de la dernière modification apportée à l'objet blob. Pour plus d’informations, consultez Représentation de valeurs date-heure dans les en-têtes. Toute opération d'écriture dans l'objet blob (notamment les mises à jour des métadonnées ou des propriétés de l'objet blob), modifie l'heure de la dernière modification de l'objet blob. L’opération Lease Blob ne modifie pas cette propriété. |
x-ms-lease-id: <id> |
Lorsque vous demandez un bail, Stockage Blob retourne un ID de bail unique. Pendant que le bail est actif, vous devez inclure l'ID de bail avec les demandes d'écriture dans l'objet blob, ou de renouvellement, de modification ou de libération du bail. Une opération de renouvellement réussie retourne également l'ID du bail pour le bail actif. |
x-ms-lease-time: seconds |
Durée approximative restante de la période du bail, en secondes. Cet en-tête est retourné uniquement pour une demande réussie de résiliation du bail. Si l’arrêt est immédiat, 0 est retourné. |
x-ms-request-id |
Cet en-tête identifie de manière unique la demande qui a été effectuée et peut être utilisé pour la résolution des problèmes de la demande. Pour plus d’informations, consultez Résolution des problèmes liés aux opérations d’API. |
x-ms-version |
Indique la version du stockage Blob utilisée pour exécuter la demande. Cet en-tête est renvoyé pour les demandes effectuées avec la version 2009-09-19 ou une version ultérieure. |
Date |
Valeur de date/heure UTC qui indique l’heure à laquelle la réponse a été lancée. Le service génère cette valeur. |
Access-Control-Allow-Origin |
Retourné si la requête inclut un Origin en-tête et que CORS est activé avec une règle correspondante. Cet en-tête retourne la valeur de l'en-tête de demande d'origine en cas de correspondance. |
Access-Control-Expose-Headers |
Retourné si la requête inclut un Origin en-tête et que CORS est activé avec une règle correspondante. Retourne la liste des en-têtes de réponse qui doivent être exposés au client ou à l'émetteur de la demande. |
Access-Control-Allow-Credentials |
Retourné si la demande inclut un Origin en-tête et que CORS est activé avec une règle correspondante qui n’autorise pas toutes les origines. Cet en-tête a la valeur true . |
x-ms-client-request-id |
Vous pouvez utiliser cet en-tête pour résoudre les demandes et les réponses correspondantes. La valeur de cet en-tête est égale à la valeur de l’en-tête x-ms-client-request-id , s’il est présent dans la demande. La valeur est au maximum de 1 024 caractères ASCII visibles. Si l’en-tête x-ms-client-request-id n’est pas présent dans la demande, il ne sera pas présent dans la réponse. |
Response body
Aucun.
Exemple de réponse
Voici un exemple de réponse pour une demande d'acquisition de bail :
Response Status:
HTTP/1.1 201 Created
Response Headers:
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: cc6b209a-b593-4be1-a38a-dde7c106f402
x-ms-version: 2015-02-21
x-ms-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5
Date: <date>
Autorisation
Une autorisation est requise lors de l’appel d’une opération d’accès aux données dans Stockage Azure. Vous pouvez autoriser l’opération Lease Blob
comme décrit ci-dessous.
Important
Microsoft recommande d’utiliser Microsoft Entra ID avec des identités managées pour autoriser les demandes à Stockage Azure. Microsoft Entra ID offre une sécurité et une facilité d’utilisation supérieures par rapport à l’autorisation de clé partagée.
Stockage Azure prend en charge l’utilisation de Microsoft Entra ID pour autoriser les demandes de données blob. Avec Microsoft Entra ID, vous pouvez utiliser le contrôle d’accès en fonction du rôle Azure (Azure RBAC) pour accorder des autorisations à un principal de sécurité. Le principal de sécurité peut être un utilisateur, un groupe, un principal de service d’application ou une identité managée Azure. Le principal de sécurité est authentifié par Microsoft Entra ID pour retourner un jeton OAuth 2.0. Le jeton peut ensuite être utilisé pour autoriser une requête auprès du service BLOB.
Pour en savoir plus sur l’autorisation à l’aide de Microsoft Entra ID, consultez Autoriser l’accès aux objets blob à l’aide de Microsoft Entra ID.
Autorisations
Vous trouverez ci-dessous l’action RBAC nécessaire pour qu’un utilisateur, un groupe, une identité managée ou un principal de service Microsoft Entra appelle l’opérationLease Blob
, ainsi que le rôle RBAC Azure intégré le moins privilégié qui inclut cette action :
- Action RBAC Azure :Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
- Rôle intégré le moins privilégié :Contributeur aux données blob de stockage
Pour en savoir plus sur l’attribution de rôles à l’aide d’Azure RBAC, consultez Attribuer un rôle Azure pour l’accès aux données d’objets blob.
Remarques
Un bail sur un objet blob fournit un accès exclusif en écriture et en suppression à l'objet blob. Pour écrire dans un objet blob avec un bail actif, un client doit inclure l'ID de bail actif à la demande d'écriture. Le bail est accordé pour la durée spécifiée lors de l’acquisition du bail. Cette durée peut être comprise entre 15 et 60 secondes, ou une durée infinie.
Lorsqu'un client acquiert un bail, un ID de bail est retourné. Stockage Blob génère un ID de bail si celui-ci n’est pas spécifié dans la demande d’acquisition. Le client peut utiliser cet ID de bail pour renouveler le bail, modifier son ID de bail ou libérer le bail.
Quand un bail est actif, l'ID de bail doit être inclus dans la demande pour les opérations suivantes :
Copier l’objet blob (ID de bail nécessaire pour l’objet blob de destination)
Si l’ID de bail n’est pas inclus, ces opérations échouent sur un objet blob loué, avec 412 – Precondition failed
.
Les opérations suivantes réussissent sur un objet blob loué, sans inclure l’ID de bail :
Copier l’objet blob (aucun ID de bail nécessaire pour l’objet blob source.)
Objet blob de bail (API REST) (AUCUN ID de bail nécessaire pour
x-ms-lease-action: break
.)
Il n’est pas nécessaire d’inclure l’ID de bail pour GET
les opérations sur un objet blob qui a un bail actif. Toutefois, toutes les GET
opérations prennent en charge un paramètre de bail conditionnel, où l’opération ne se poursuit que si l’ID de bail inclus dans la demande est valide.
Toutes les opérations de conteneur sont autorisées sur un conteneur qui comprend des blobs avec un bail actif, notamment Delete Container. Par conséquent, un conteneur peut être supprimé même si les objets blob qu’il contient ont des baux actifs. Utilisez l’opération Lease Container pour contrôler les droits de suppression d’un conteneur.
États du bail
Le diagramme suivant montre les cinq états d'un bail, et les commandes ou les événements qui peuvent entraîner des modifications d'état du bail.
Un bail peut se trouver dans l’un de ces états, selon que le bail est verrouillé ou déverrouillé, et si le bail est renouvelable dans cet état. Les actions de bail indiquées dans le diagramme précédent entraînent des transitions d’état.
Renouvellement status | Bail verrouillé | Bail déverrouillé |
---|---|---|
Bail renouvelable | Loué | Expiré |
Bail non renouvelable | Rupture | Résilié, disponible |
Available
: Le bail est déverrouillé et peut être acquis. Action autorisée :acquire
.Leased
: le bail est verrouillé. Actions autorisées :acquire
(ID de bail identique uniquement),renew
,change
,release
, etbreak
.Expired
: la durée du bail a expiré. Actions autorisées :acquire
,renew
,release
, etbreak
.Breaking
: Le bail a été rompu, mais le bail continuera d’être verrouillé jusqu’à l’expiration de la période d’interruption. Actions autorisées :release
etbreak
.Broken
: Le bail a été rompu et la période d’arrêt a expiré. Actions autorisées :acquire
,release
etbreak
.
Une fois qu’un bail a expiré, l’ID de bail est conservé par Stockage Blob jusqu’à ce que l’objet blob soit modifié ou loué à nouveau. Un client peut tenter de renouveler ou de libérer le bail à l’aide de son ID de bail expiré. Si l’opération réussit, cela signifie que l’objet blob n’a pas été modifié depuis la dernière validité de l’ID de bail.
Si le client tente de renouveler ou de libérer un bail avec son ID de bail précédent et que la demande échoue, l’objet blob a été modifié ou loué à nouveau depuis la dernière fois que le bail du client a été actif. Le client doit ensuite acquérir un nouveau bail sur l'objet blob.
Si un bail expire au lieu d’être explicitement libéré, un client peut avoir besoin d’attendre jusqu’à une minute avant qu’un nouveau bail puisse être acquis pour l’objet blob. Toutefois, le client peut renouveler immédiatement le bail avec son ID de bail, si l’objet blob n’a pas été modifié.
Notez qu’un bail ne peut pas être accordé pour un instantané d’objet blob, car les instantanés sont en lecture seule. La demande d'un bail sur un instantané entraîne un code d'état 400 (Demande incorrecte).
La propriété de l’objet Last-Modified-Time
blob n’est pas mise à jour par des appels à Lease Blob
.
Les tableaux ci-dessous montrent les résultats des actions sur les objets blob avec des baux dans différents états. Les lettres (A), (B) et (C) représentent les ID de bail, et (X) représentent un ID de bail généré par Stockage Blob.
Résultats des tentatives d'utilisation dans des objets blob par état du bail
Action | Disponible | Loué (A) | En cours de résiliation (A) | Résilié (A) | Expiré (A) |
---|---|---|---|---|---|
Écrire avec (A) | Échecs (412) | Loué (A), l'écriture a réussi | En cours de résiliation (A), l'écriture a réussi | Échecs (412) | Échecs (412) |
Écrire avec (B) | Échecs (412) | Échec (409) | Échecs (412) | Échecs (412) | Échecs (412) |
Écriture, aucun bail spécifié | Disponible, l'écriture a réussi | Échecs (412) | Échecs (412) | Disponible, l'écriture a réussi | Disponible, l'écriture a réussi |
Lecture avec (A) | Échecs (412) | Loué (A), la lecture a réussi | En cours de résiliation (A), la lecture a réussi | Échecs (412) | Échecs (412) |
Lire avec (B) | Échecs (412) | Échec (409) | Échec (409) | Échecs (412) | Échecs (412) |
Lecture, aucun bail spécifié | Disponible, la lecture a réussi | Loué (A), la lecture a réussi | En cours de résiliation (A), la lecture a réussi | Résilié (A), la lecture a réussi | Expiré (A), la lecture a réussi |
Résultats des opérations de bail sur des objets blob par état de bail
Action | Disponible | Loué (A) | En cours de résiliation (A) | Résilié (A) | Expiré (A) |
---|---|---|---|---|---|
Acquire , aucun ID de bail proposé |
Loué (X) | Échec (409) | Échec (409) | Loué (X) | Loué (X) |
Acquire (A) |
Loué (A) | Loué (A), nouvelle durée | Échec (409) | Loué (A) | Loué (A) |
Acquire (B) |
Loué (B) | Échec (409) | Échec (409) | Loué (B) | Loué (B) |
Break , période=0 |
Échec (409) | Résilié (A) | Résilié (A) | Résilié (A) | Résilié (A) |
Break , période>0 |
Échec (409) | En cours de résiliation (A) | En cours de résiliation (A) | Résilié (A) | Résilié (A) |
Change , (A) à (B) |
Échec (409) | Loué (B) | Échec (409) | Échec (409) | Échec (409) |
Change , (B) à (A) |
Échec (409) | Loué (A) | Échec (409) | Échec (409) | Échec (409) |
Change , (B) à (C) |
Échec (409) | Échec (409) | Échec (409) | Échec (409) | Échec (409) |
Renew (A) |
Échec (409) | Loué (A), réinitialisation de l'horloge d'expiration | Échec (409) | Échec (409) | Baild(A), si l’objet blob n’a pas été modifié. Échec (409) si l'objet blob a été modifié. |
Renew (B) |
Échec (409) | Échec (409) | Échec (409) | Échec (409) | Échec (409) |
Release (A) |
Échec (409) | Disponible | Disponible | Disponible | Disponible |
Release (B) |
Échec (409) | Échec (409) | Échec (409) | Échec (409) | Échec (409) |
Durée expire | Disponible | Expiré (A) | Résilié (A) | Résilié (A) | Expiré (A) |
Modifications apportées à l’objet blob de bail introduites dans la version 2012-02-12
La liste suivante spécifie les changements de Lease Blob
comportement introduits dans la version 2012-02-12.
Un appel à pour
Lease Blob
acquérir un bail doit maintenant inclure un en-tête durée du bail. Si vous essayez d’acquérir un bail sans spécifier de durée de bail, le service retourne400 Bad Request – Missing required header
.Vous ne pouvez plus renouveler un bail après l'avoir libéré. Si vous essayez de le faire, le service retourne
409 Conflict – The lease ID specified did not match the lease ID for the blob
. Les applications qui ont appelé release, puis ont appelé renouveler, doivent maintenant enregistrer leETag
à partir de l’appel de mise en production. Ensuite, les applications doivent appeler acquire, avec unIf-Match
en-tête conditionnel, pour acquérir le bail uniquement lorsque l’objet blob est inchangé.Vous ne pouvez plus résilier un bail après l'avoir libéré. Si vous essayez de le faire, le service retourne
409 Conflict – There is currently no lease on the blob
.Vous pouvez désormais résilier un bail en cours de résiliation ou résilié, ce qui rend les opérations de résiliation idempotentes. Dans les versions précédentes, vous obteniez le message d'échec
409 Conflict – The lease has already been broken and cannot be broken again
. Cette modification vous permet de raccourcir la durée d'une résiliation. Si vous interrompez un bail qui est à l’état de rupture et que vous incluez une durée plus courte que la période d’arrêt restante, votre durée plus courte est utilisée.
Facturation
Les demandes de tarification peuvent provenir de clients qui utilisent des API Stockage Blob, soit directement via l’API REST Stockage Blob, soit à partir d’une bibliothèque cliente stockage Azure. Ces demandes cumulent des frais par transaction. Le type de transaction affecte la façon dont le compte est facturé. Par exemple, les transactions de lecture sont comptabilisées dans une catégorie de facturation différente de celle des transactions en écriture. Le tableau suivant montre la catégorie de facturation pour Lease Blob
les demandes en fonction du type de compte de stockage :
Opération | Type de compte de stockage | Catégorie de facturation |
---|---|---|
Objet blob de bail (acquérir, libérer, renouveler) | Objet blob de blocs Premium Usage général v2 Standard |
Autres opérations |
Objet blob de bail (acquérir, libérer, renouveler) | Usage général v1 standard | Lire les opérations |
Objet blob de bail (interruption, modification) | Objet blob de blocs Premium Usage général v2 Standard |
Autres opérations |
Objet blob de bail (interruption, modification) | Usage général v1 standard | Opérations d’écriture |
Voir aussi
new-blob-lease-features-infinite-leases-smaller-lease-times-and-more.aspx)
Autoriser les demandes à Stockage Azure
Codes d’état et d’erreur
Codes d’erreur Stockage Blob
Lease Container