Megosztás a következőn keresztül:


Tartomány elhelyezése

A Put Range művelet bájttartományt ír egy fájlba. Ezt a műveletet a 2025-05-05-ös és újabb verzió támogatja az engedélyezett NFS protokollal rendelkező fájlmegosztások esetében.

Protokoll rendelkezésre állása

Engedélyezett fájlmegosztási protokoll Beszerezhető
SMB Igen
NFS Igen

Kérés

A Put Range kérés a következőképpen jön létre. Javasoljuk, hogy HTTPS-t használjon.

Módszer URI kérése HTTP-verzió
HELYEZ https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?comp=range HTTP/1.1

Cserélje le a kérelem URI-jában látható elérésiút-összetevőket a sajátjára az alábbiak szerint:

Elérésiút-összetevő Leírás
myaccount A tárfiók neve.
myshare A fájlmegosztás neve.
mydirectorypath Szabadon választható. A szülőkönyvtár elérési útja.
myfile A fájl neve.

Az útvonalelnevezési korlátozásokról további információt a Név- és hivatkozásmegosztások, könyvtárak, fájlok és metaadatokcímű témakörben talál.

URI-paraméterek

A kérelem URI-ján a következő további paraméterek adhatók meg.

Paraméter Leírás
timeout Szabadon választható. A timeout paraméter másodpercben van kifejezve. További információ: Időtúllépések beállítása fájlszolgáltatás-műveletekhez.

Kérelemfejlécek

A szükséges és nem kötelező kérelemfejléceket az alábbi táblázatok ismertetik:

Gyakori kérésfejlécek

Kérelem fejléce Leírás
Authorization Szükséges. Megadja az engedélyezési sémát, a fióknevet és az aláírást. További információ: Kérelmek engedélyezése az Azure Storage-.
Date vagy x-ms-date Szükséges. A kérelem koordinált egyetemes idejét (UTC) adja meg. További információ: Kérelmek engedélyezése az Azure Storage-.
x-ms-version Minden engedélyezett kéréshez szükséges. A kérelemhez használni kívánt művelet verzióját adja meg. Ezt a műveletet a 2025-05-05-ös és újabb verzió támogatja az engedélyezett NFS protokollal rendelkező fájlmegosztások esetében.

További információ: Az Azure Storage-szolgáltatások verziószámozása.
Range vagy x-ms-range Szükség van Range vagy x-ms-range.

Megadja az írandó bájtok tartományát. A tartomány kezdetét és végét is meg kell adni. Ezt a fejlécet a HTTP/1.1 protokoll specifikációjahatározza meg.

Frissítési művelet esetén a tartomány legfeljebb 4 MiB méretű lehet. Egyértelmű művelet esetén a tartomány a fájl teljes méretének értékétől függhet.

A Fájlszolgáltatás csak egyetlen bájttartományt fogad el a Range és x-ms-range fejlécekhez, és a bájttartományt a következő formátumban kell megadni: bytes=startByte-endByte.

Ha Range és x-ms-range is meg van adva, a szolgáltatás a x-ms-rangeértékét használja. További információ: Fájlszolgáltatás-műveletek tartományfejlécének megadása.
Content-Length Szükséges. A kérelem törzsében továbbított bájtok számát adja meg. Ha a x-ms-write fejléc clearértékre van állítva, a fejléc értékét 0értékre kell állítani.
Content-MD5 Szabadon választható. A tartalom MD5 kivonata. Ez a kivonat az adatok sértetlenségének ellenőrzésére szolgál az átvitel során. A Content-MD5 fejléc megadásakor az Azure Files összehasonlítja a megérkezett tartalom kivonatát az elküldött fejlécértékkel. Ha a két kivonat nem egyezik, a művelet 400-es hibakóddal (hibás kérelem) meghiúsul.

A Content-MD5 fejléc nem engedélyezett, ha a x-ms-write fejléc clearvan beállítva. Ha a kérés tartalmazza, a Fájlszolgáltatás a 400-ás állapotkódot adja vissza (hibás kérés).
x-ms-write: { update ¦ clear } Szükséges. A következő lehetőségek egyikét kell megadnia:
  • update: A kérelem törzse által megadott bájtokat írja a megadott tartományba. A Range és Content-Length fejléceknek egyeznie kell a frissítés végrehajtásához.
  • clear: Törli a megadott tartományt, és felszabadítja a tárterületet az adott tartomány számára. Tartomány törléséhez állítsa a Content-Length fejlécet 0értékre, és állítsa a Range fejlécet egy olyan értékre, amely jelzi a tartomány törlését, akár a maximális fájlméretig.
x-ms-lease-id:<ID> Akkor szükséges, ha a fájl aktív bérletet kapott. A 2019-02-02-es és újabb verzióhoz érhető el.

Ez a fejléc figyelmen kívül lesz hagyva, ha a fájl engedélyezve van egy NFS protokollal rendelkező fájlmegosztáson, amely nem támogatja a fájlbérleteket.
x-ms-client-request-id Szabadon választható. Ügyfél által generált, átlátszatlan értéket biztosít egy 1 kibibyte (KiB) karakterkorláttal, amelyet a naplózás konfigurálásakor rögzít a naplókban. Javasoljuk, hogy ezt a fejlécet használva korrelálja az ügyféloldali tevékenységeket a kiszolgáló által kapott kérésekkel. További információ: Monitor Azure Files.
x-ms-file-last-write-time: { now ¦ preserve } Szabadon választható. 2021-06-08-es és újabb verzió. A következő lehetőségek egyikét adhatja meg:
  • now: Alapértelmezett érték. Frissíti az utolsó írási időbélyeget a kérés időpontjára.
  • preserve: A meglévő utolsó írási időbélyeg változatlan marad.
x-ms-file-request-intent Kötelező, ha Authorization fejléc OAuth-jogkivonatot ad meg. Az elfogadható érték backup. Ez a fejléc azt határozza meg, hogy a Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action vagy Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action meg kell adni, ha azok szerepelnek a Authorization fejléc használatával engedélyezett identitáshoz rendelt RBAC-szabályzatban. A 2022-11-02-es és újabb verziókhoz érhető el.
x-ms-allow-trailing-dot: { <Boolean> } Szabadon választható. 2022-11-02-es és újabb verzió. A logikai érték azt határozza meg, hogy a kérelem URL-címében található záró pont levágható-e vagy sem.

Ez a fejléc figyelmen kívül lesz hagyva, ha a cél olyan fájlmegosztáson található, amelyen engedélyezve van az NFS protokoll, amely alapértelmezés szerint támogatja a záró pont használatát.

További információ: Megosztások, könyvtárak, fájlok és metaadatok elnevezése és hivatkozása.

Csak SMB-kérésfejlécek

Egyik sem.

Csak NFS-kérelemfejlécek

Egyik sem.

Kérelem törzse

A feltöltendő tartományt képviselő adatok.

Mintakérés: Bájttartomány frissítése

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1  
  
Request Headers:  
x-ms-write: update  
x-ms-date: Mon, 27 Jan 2014 22:15:50 GMT  
x-ms-version: 2014-02-14  
x-ms-range: bytes=0-65535  
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=  
Content-Length: 65536  

Mintakérés: Bájttartomány törlése

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1  
  
Request Headers:  
Range: bytes=1024-2048  
x-ms-write: clear  
x-ms-date: Mon, 27 Jan 2014 23:37:35 GMT  
x-ms-version: 2014-02-14  
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=  

Válasz

A válasz tartalmaz egy HTTP-állapotkódot és válaszfejléceket.

Állapotkód

A sikeres művelet a 201-ben (létrehozva) állapotkódot adja vissza. További információ az állapotkódokról: Állapot- és hibakódok.

Válaszfejlécek

A műveletre adott válasz az alábbi táblázatok fejléceit tartalmazza. A válasz további szabványos HTTP-fejléceket is tartalmazhat. Minden szabványos fejléc megfelel a HTTP/1.1 protokoll specifikációjának .

Gyakori válaszfejlécek

Válaszfejléc Leírás
ETag Az ETag egy olyan értéket tartalmaz, amely a fájl verzióját jelöli. Az érték idézőjelek közé van zárva.
Last-Modified A címtár utolsó módosításának dátumát és időpontját adja vissza. A dátumformátum az RFC 1123-at követi. További információ: Dátum/idő értékek megjelenítése fejlécekben. Minden olyan művelet, amely módosítja a megosztást, illetve annak tulajdonságait vagy metaadatait, frissíti az utolsó módosítás időpontját. A fájlokon végzett műveletek nem befolyásolják a megosztás utolsó módosításának időpontját.
Content-MD5 Ezt a fejlécet a rendszer visszaadja, hogy az ügyfél ellenőrizni tudja az üzenettartalom integritását. Ennek a fejlécnek az értékét a Fájlszolgáltatás számítja ki. Ez nem feltétlenül ugyanaz, mint a kérelemfejlécekben megadott érték.
x-ms-request-id Egyedileg azonosítja a végrehajtott kérést, és a kérés hibaelhárítására is használható. További információ: API-műveletek hibaelhárítása.
x-ms-version A fájlszolgáltatás azon verzióját jelzi, amelyet a kérés végrehajtásához használtak.
Date A szolgáltatás által létrehozott UTC dátum/idő érték, amely a válasz indításának időpontját jelzi.
x-ms-request-server-encrypted: { true ¦ false } 2017-04-17-es és újabb verzió. Ennek a fejlécnek az értéke true, ha a kérés tartalma sikeresen titkosítva van a megadott algoritmussal. Ellenkező esetben az érték falseértékre van állítva.
x-ms-client-request-id Ez a fejléc a kérések és a megfelelő válaszok hibaelhárítására használható. Ennek az élőfejnek az értéke megegyezik a x-ms-client-request-id fejléc értékével, ha az szerepel a kérelemben, és az érték legfeljebb 1024 látható ASCII-karaktert tartalmaz. Ha a x-ms-client-request-id fejléc nem szerepel a kérelemben, akkor az nem szerepel a válaszban.
x-ms-file-last-write-time 2021-06-08-es és újabb verzió. A fájl utolsó írási ideje ISO 8601 formátumban. Példa: 2017-05-10T17:52:33.9551861Z.

Csak SMB-válaszfejlécek

Egyik sem.

Csak NFS-válaszfejlécek

Egyik sem.

Válasz törzse

Egyik sem.

Mintaválasz

Response Status:  
HTTP/1.1 201 Created  

Response Headers:  
Transfer-Encoding: chunked  
Content-MD5: sQqNsWTgdUEFt6mb5y4/5Q==  
Date:Mon, 27 Jan 2014 22:33:35 GMT  
ETag: "0x8CB171BA9E94B0B"  
Last-Modified: Mon, 27 Jan 2014 12:13:31 GMT  
x-ms-version: 2014-02-14  
Content-Length: 0  
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0  

Felhatalmazás

Ezt a műveletet csak a fióktulajdonos hívhatja meg.

Megjegyzések

A Put Range művelet bájttartományt ír egy fájlba. Ez a művelet csak meglévő fájlon hívható meg. Nem hívható meg új fájl létrehozásához. A jelenleg nem létező fájlnévvel rendelkező Put Range hívása a 404-ben (nem található) állapotkódot adja vissza.

Új fájl létrehozásához hívja meg Fájl létrehozása. A fájlok mérete legfeljebb 4 TiB lehet.

A Put Range művelet végrehajtása MiB-enként 10 percet vesz igénybe. Ha a művelet átlagosan több mint 10 percet vesz igénybe MiB-nként, az időkorlát túllépi az időkorlátot.

Ha a fájlnak aktív bérlete van, az ügyfélnek érvényes bérletazonosítót kell megadnia a tartomány írására vonatkozó kérelemben.

tartományfrissítési műveletek

A Put Range meghívása a Update beállítással helyben történő írást végez a megadott fájlon. A megadott tartományban lévő összes tartalom felülíródik a frissítéssel. A frissítési művelethez Put Range küldött tartományok mérete legfeljebb 4 MiB lehet. Ha egy 4 MiB-nél nagyobb tartományt próbál feltölteni, a szolgáltatás a 413-at adja vissza (az entitás túl nagy kérése).

Tartomány törlése műveletek

A Put Range hívása a Clear beállítással felszabadítja a tárterületet, amíg a megadott tartomány 512 bájtos. A törölt tartományok már nem lesznek nyomon követve a fájl részeként, és nem jelennek meg a listatartomány válaszában. Ha a megadott tartomány nem 512 bájtos igazítású, a művelet nullákat ír a nem 512 bájtos igazítású tartomány elejére vagy végére, és felszabadítja az 512 bájtos igazítású tartomány többi részét.

A nem törölt tartományok a Listatartományok válaszban jelennek meg. Példaként tekintse meg a "Minta nem elaltatott tiszta tartomány" című szakaszt, amely a következő.

fájlbérleti

Meghívhatja bérletfájl, hogy korlátlan ideig kizárólagos írási zárolást kapjon a fájlhoz más írásokkal szemben.

SMB-ügyfél bájttartománya zárolja

Az SMB protokoll lehetővé teszi, hogy a bájttartomány-zárolások kezelni tudják a fájlok régióihoz való olvasási és írási hozzáférést. Ez azt jelenti, hogy egy engedélyezett SMB protokollal rendelkező fájlmegosztáson található fájlon lévő Put Range meghiúsul, ha egy SMB-ügyfél olyan zárolással rendelkezik, amely átfedésben van a Put Range művelet által a x-ms-rangehasználatával megadott tartománnyal. További információ: Fájlzárak kezelése.

NFS-ügyfél bájttartománya zárolja

Az NFS protokoll POSIX bájttartomány-zárolásai tanácsadási jellegűek, ezért az engedélyezett NFS protokollal rendelkező fájlmegosztáson található fájl Put Range akkor sem fog meghiúsulni, ha egy NFS-ügyfél ütköző bájttartomány-zárolást tárol.

SMB-ügyfélkönyvtár változásértesítéseit

Az SMB protokoll támogatja a FindFirstChangeNotification API-függvényt, amely lehetővé teszi az alkalmazások számára, hogy észleljék a fájlrendszer változásait. Képes észlelni egy fájl vagy könyvtár hozzáadásának, módosításának vagy törlésének, valamint a fájl méretének, attribútumainak vagy biztonsági leíróinak változását. Az API-t használó SMB-ügyfelek nem kapnak értesítést, ha fájl- vagy könyvtármódosítás történik az Azure Files REST API-val. A többi SMB-ügyfél által okozott módosítások azonban propagálja az értesítéseket.

Minta nem elagrált tiszta tartomány

Tegyük fel, hogy létrejön egy fájl Fájl létrehozása, és egyetlen tartományt ír a Put Range, az alábbiak szerint:

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1  

Request Headers:  
x-ms-write: updte  
x-ms-date: Mon, 27 Jan 2014 22:15:50 GMT  
x-ms-version: 2014-02-14  
x-ms-range: bytes=0-65536  
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=  
Content-Length: 65536  

Ha listatartományokat műveletet hajt végre a fájlon, a következő választörzset adja vissza:

<?xml version="1.0" ecoding="utf-8"?>  
<Ranges>  
<Range>  
<Start>0</Start>  
<End>65536</End>  
</Range>  
</Ranges>  

Tegyük fel, hogy egy nem elosztott üres tartomány bájttartomány-művelete van végrehajtva:

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1  

Request Headers:  
Range: bytes=768-2304  
x-ms-write: clear  
x-ms-date: Mon, 27 Jan 2014 23:37:35 GMT  
x-ms-version: 2014-02-14  
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=  

A következő listatartományok művelet a következő választörzset adja vissza:

<?xml version="1.0" encoding="utf-8"?>  
<Ranges>  
<Range>  
<Start>0</Start>  
<End>1024</End>  
</Range>  
<Range>  
<Start>2048</Start>  
<End>65535</End>  
</Range>  
</Ranges>  

Vegye figyelembe, hogy a nullákat a 768–1024 és a 2048–2304 közötti, el nem fel nem adott helyre írták.

Put Range nem támogatott a megosztás pillanatképe, amely egy megosztás írásvédett másolata. A megosztási pillanatképen végrehajtott művelet végrehajtása 400-zal (InvalidQueryParameterValue) meghiúsul.

Lásd még:

Műveletek fájlokon