Tartomány elhelyezése
A Put Range
művelet bájttartományt ír egy fájlba.
Protokoll rendelkezésre állása
Engedélyezett fájlmegosztási protokoll | Elérhető |
---|---|
SMB | |
NFS |
Kérés
A Put Range
kérelem a következőképpen hozható létre. Javasoljuk, hogy HTTPS-t használjon.
Metódus | Kérés URI-ja | HTTP-verzió |
---|---|---|
PUT | 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ő | Description |
---|---|
myaccount |
A tárfiók neve. |
myshare |
A fájlmegosztás neve. |
mydirectorypath |
Választható. A szülőkönyvtár elérési útja. |
myfile |
A fájl neve. |
Az elérésiút-elnevezési korlátozásokról további információt a Név és referenciamegosztások, könyvtárak, fájlok és metaadatok című témakörben talál.
URI-paraméterek
A kérelem URI-ja a következő további paramétereket határozhatja meg.
Paraméter | Leírás |
---|---|
timeout |
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érésfejlécek
A szükséges és nem kötelező kérésfejléceket az alábbi táblázatban ismertetjük:
Kérelem fejléce | Leírás |
---|---|
Authorization |
Kötelező. Megadja az engedélyezési sémát, a fióknevet és az aláírást. További információ: Kérések engedélyezése az Azure Storage-ba. |
Date vagy x-ms-date |
Kötelező. Megadja a kérés egyezményes világidő (UTC) formátumban kifejezett időpontját. További információ: Kérések engedélyezése az Azure Storage-ba. |
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. További információ: Az Azure Storage-szolgáltatások verziószámozása. |
Range vagy x-ms-range |
x-ms-range Vagy Range szükség van gombra.Meghatározza 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ója hatá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 is megnőhet. A Fájlszolgáltatás csak egyetlen bájttartományt fogad el a és x-ms-range a Range fejlécekhez, a bájttartományt pedig a következő formátumban kell megadni: bytes=startByte-endByte .Ha mindkettő Range és x-ms-range meg van adva, a szolgáltatás a értékét x-ms-range használja. További információ: Fájlszolgáltatás-műveletek tartományfejlécének megadása. |
Content-Length |
Kötelező. A kérelem törzsében továbbított bájtok számát adja meg. Ha a x-ms-write fejléc értéke clear , a fejléc értékét a következőre kell állítani: 0 . |
Content-MD5 |
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. Ha a Content-MD5 fejléc meg van adva, Azure Files összehasonlítja a kapott 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 értéke clear . Ha szerepel a kérésben, a Fájlszolgáltatás a 400-ás állapotkódot adja vissza (hibás kérés). |
x-ms-write: { update ¦ clear } |
Kötelező. A következő lehetőségek egyikét kell megadnia:
|
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. |
x-ms-client-request-id |
Választható. Ügyfél által generált, átlátszatlan értéket biztosít egy 1 kib-os (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ó: Monitorozási Azure Files. |
x-ms-file-last-write-time: { now ¦ preserve } |
Választható. 2021-06-08-es és újabb verzió. A következő lehetőségek egyikét adhatja meg:
|
x-ms-file-request-intent |
Kötelező, ha Authorization a fejléc OAuth-jogkivonatot ad meg. 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 szerepelnek a fejléc használatával Authorization 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> } |
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 legyen-e levágva vagy sem. További információ: Megosztások, könyvtárak, fájlok és metaadatok elnevezése és hivatkozása. |
A kérés 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=
Reagálás
A válasz tartalmaz egy HTTP-állapotkódot és egy válaszfejléceket.
Állapotkód
A sikeres művelet a 201-ben létrehozott á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 a következő fejléceket 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.
Válaszfejléc | Description |
---|---|
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é kerül. |
Last-Modified |
A könyvtá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 ábrázolása fejlécekben. Minden olyan művelet, amely módosítja a megosztást, illetve annak tulajdonságait vagy metaadatait, az utolsó módosítás időpontját frissíti. 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 |
Ez a fejléc lesz visszaadva, 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ához használható. További információ: API-műveletek hibaelhárítása. |
x-ms-version |
Azt a fájlszolgáltatás-verziót jelöli, 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 akkor true van beállítva, ha a kérelem tartalma sikeresen titkosítva van a megadott algoritmussal. Ellenkező esetben az érték a következőre false van állítva: . |
x-ms-client-request-id |
Ez a fejléc a kérések és a kapcsolódó válaszok hibaelhárítására használható. A fejléc é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 nem jelenik meg 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 . |
Választörzs
Nincsenek.
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
Engedélyezé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 való hívás Put Range
a 404-ben (nem található) állapotkódot adja vissza.
Új fájl létrehozásához hívja meg a Fájl létrehozása parancsot. 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 10 percnél tovább tart MiB-nként, az időkorlát túllépi az időkorlátot.
Ha a fájl aktív bérletet ad meg, az ügyfélnek érvényes bérletazonosítót kell megadnia a tartomány írására irányuló kérelemben.
Tartományfrissítési műveletek
A beállítással történő Update
hívás Put Range
helyben írást hajt végre a megadott fájlon. A megadott tartomány bármely tartalma felülíródik a frissítéssel. A frissítési művelethez Put Range
elkü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 (a kérelem entitás túl nagy) állapotkódot adja vissza.
Tartománytörlési műveletek
A beállítással történő Clear
hívás Put Range
felszabadítja a tárterületet, amíg a megadott tartomány 512 bájttal van igazítva. 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álaszban. Ha a megadott tartomány nem 512 bájttal van igazítva, a művelet nullákat ír a tartomány elejére vagy végére, amelyek nem 512 bájttal vannak igazítva, és felszabadítja az 512 bájthoz igazított tartomány többi részét.
A nem törölt tartományok a Listatartományok válaszban lesznek visszaadva. Példaként tekintse meg a "Minta nem elaltolt tiszta tartomány" című szakaszt, amely a következő.
Fájlbérlet
Meghívhatja a bérletfájlt , 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ány-zárolásai
Az SMB protokoll lehetővé teszi a bájttartomány-zárolások használatát a fájlok régióihoz való olvasási és írási hozzáférés kezeléséhez. Ez azt jelenti, hogy Put Range
nem sikerül, ha egy SMB-ügyfél olyan zárolással rendelkezik, amely átfedésben van a Put Range
művelet által a használatával x-ms-range
megadott tartománnyal. További információ: Fájlzárolások kezelése.
SMB-ügyfél címtárváltozási értesítései
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. Észleli, ha egy fájl vagy könyvtár hozzáadása, módosítása vagy törlése, valamint a fájl mérete, attribútumai vagy biztonsági leírói megváltoznak. 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 a Azure Files REST API-val. A más SMB-ügyfelek által okozott módosítások azonban propagálják az értesítéseket.
Minta el nem felszámolt tiszta tartomány
Tegyük fel, hogy létrejön egy fájl a Fájl létrehozása paranccsal, és egyetlen tartományt ír a következővel Put Range
:
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
A listatartományok művelet fájlon való végrehajtása 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>
Most tegyük fel, hogy a rendszer egy nem elalgorított üres tartománytartomány-műveletet hajt végre:
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 fájl további Listatartományok művelete 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 elaltatott területre írták.
Put Range
nem támogatott megosztási pillanatképeken, ami egy megosztás írásvédett példánya. A művelet megosztási pillanatképen való végrehajtására tett kísérlet 400-as (InvalidQueryParameterValue) hibával meghiúsul.