Bestand maken
Met Create File
de bewerking wordt een nieuw bestand gemaakt of een bestand vervangen. Wanneer u aanroept Create File
, initialiseert u alleen het bestand. Als u inhoud aan een bestand wilt toevoegen, roept u de bewerking aan Put Range
.
Protocol beschikbaarheid
Bestandsshareprotocol ingeschakeld | Beschikbaar |
---|---|
SMB | |
NFS |
Aanvraag
U kunt als volgt een Create File
aanvraag maken. U wordt aangeraden HTTPS te gebruiken.
Methode | Aanvraag-URI | HTTP-versie |
---|---|---|
PUT |
https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile |
HTTP/1.1 |
Vervang de padonderdelen die worden weergegeven in de aanvraag-URI door uw eigen, zoals beschreven in de volgende tabel:
Padonderdeel | Beschrijving |
---|---|
myaccount |
De naam van uw opslagaccount. |
myshare |
De naam van uw bestandsshare. |
mydirectorypath |
Optioneel. Het pad naar de map waarin het bestand moet worden gemaakt. Als u het pad naar de map weglaat, wordt het bestand gemaakt in de opgegeven share. Als de map is opgegeven, moet deze al in de share bestaan voordat u het bestand kunt maken. |
myfile |
De naam van het bestand dat u wilt maken. |
Zie Naam en verwijzingsshares, mappen, bestanden en metagegevens voor meer informatie over beperkingen voor padnamen.
URI-parameters
U kunt de volgende aanvullende parameters opgeven voor de aanvraag-URI:
Parameter | Beschrijving |
---|---|
timeout |
Optioneel. De timeout parameter wordt uitgedrukt in seconden. Zie Time-outs instellen voor bestandsservicebewerkingen voor meer informatie. |
Aanvraagheaders
De vereiste en optionele aanvraagheaders worden beschreven in de volgende tabel:
Aanvraagheader | Beschrijving |
---|---|
Authorization |
Vereist. Hiermee geeft u het autorisatieschema, de accountnaam en de handtekening op. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie. |
Date of x-ms-date |
Vereist. Hiermee geeft u de UTC-tijd (Coordinated Universal Time) voor de aanvraag op. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie. |
x-ms-version |
Vereist voor alle geautoriseerde aanvragen. Hiermee geeft u de versie van de bewerking te gebruiken voor deze aanvraag. Zie Versiebeheer voor de Azure Storage-services voor meer informatie. |
Content-Length |
Optioneel. Moet nul zijn indien aanwezig. |
x-ms-content-length: byte value |
Vereist. Deze header geeft de maximale grootte voor het bestand op, maximaal 4 tebibytes (TiB). |
Content-Type of x-ms-content-type |
Optioneel. Het MIME-inhoudstype van het bestand. Het standaardtype is application/octet-stream . |
Content-Encoding of x-ms-content-encoding |
Optioneel. Hiermee geeft u op welke inhoudscoderingen zijn toegepast op het bestand. Deze waarde wordt geretourneerd naar de client wanneer de bewerking Bestand ophalen wordt uitgevoerd op de bestandsbron en u kunt deze gebruiken om bestandsinhoud te decoderen. |
Content-Language of x-ms-content-language |
Optioneel. Hiermee geeft u de natuurlijke talen op die door deze resource worden gebruikt. |
Cache-Control of x-ms-cache-control |
Optioneel. Azure Files slaat deze waarde op, maar gebruikt of wijzigt deze niet. |
x-ms-content-md5 |
Optioneel. Hiermee stelt u de MD5-hash van het bestand in. |
x-ms-content-disposition |
Optioneel. Hiermee stelt u de koptekst van het Content-Disposition bestand in. |
x-ms-type: file |
Vereist. Stel deze header in op file . |
x-ms-meta-name:value |
Optioneel. Naam-waardeparen die als metagegevens aan het bestand zijn gekoppeld. Namen van metagegevens moeten voldoen aan de naamgevingsregels voor C#-id's. Opmerking: bestandsmetagegevens die zijn opgegeven via Azure Files zijn niet toegankelijk vanaf een SMB-client (Server Message Block). |
x-ms-file-permission: { inherit ¦ <SDDL> } |
In versie 2019-02-02 tot en met 2021-04-10 is deze header vereist als x-ms-file-permission-key deze niet is opgegeven. Vanaf versie 2021-06-08 zijn beide headers optioneel. Deze machtiging is de beveiligingsdescriptor voor het bestand dat is opgegeven in de Security Descriptor Definition Language (SDDL). U kunt deze header gebruiken als de machtigingsgrootte 8 kibibytes (KiB) of minder is. Anders kunt u gebruiken x-ms-file-permission-key . Als u de header opgeeft, moet deze een eigenaar, groep en discretionaire toegangsbeheerlijst (DACL) hebben. U kunt een waarde van inherit doorgeven om over te nemen van de bovenliggende map. |
x-ms-file-permission-key: <PermissionKey> |
In versie 2019-02-02 tot en met 2021-04-10 is deze header vereist als x-ms-file-permission deze niet is opgegeven. Vanaf versie 2021-06-08 zijn beide headers optioneel. Als geen van beide headers is opgegeven, wordt de standaardwaarde van inherit gebruikt voor de x-ms-file-permission header.U kunt de sleutel maken door de API aan te Create Permission roepen. |
x-ms-file-attributes |
Vereist: versie 2019-02-02 tot en met 2021-04-10. Optioneel: versie 2021-06-08 en hoger. Deze header bevat de bestandssysteemkenmerken die voor het bestand moeten worden ingesteld. Zie de lijst met beschikbare kenmerken voor meer informatie. De standaardwaarde is None . |
x-ms-file-creation-time: { now ¦ <DateTime> } |
Vereist: versie 2019-02-02 tot en met 2021-04-10. Optioneel: versie 2021-06-08 en hoger. De eigenschap Coordinated Universal Time (UTC) voor het maken van het bestand. Een waarde van now kan worden gebruikt om het tijdstip van de aanvraag aan te geven. De standaardwaarde is now . |
x-ms-file-last-write-time: { now ¦ <DateTime> } |
Vereist: versie 2019-02-02 tot en met 2021-04-10. Optioneel: versie 2021-06-08 en hoger. De laatste schrijfeigenschap Utc (Coordinated Universal Time) voor het bestand. U kunt een waarde van now gebruiken om de tijd van de aanvraag aan te geven. De standaardwaarde is now . |
x-ms-lease-id: <ID> |
Vereist als het bestand een actieve lease heeft. Beschikbaar voor versie 2019-02-02 en hoger. |
x-ms-client-request-id |
Optioneel. Biedt een door de client gegenereerde, ondoorzichtige waarde met een limiet van 1 kibibyte (KiB) die wordt vastgelegd in de logboeken wanneer logboekregistratie is geconfigureerd. We raden u ten zeerste aan deze header te gebruiken om activiteiten aan de clientzijde te correleren met aanvragen die de server ontvangt. Zie Azure Files bewaken voor meer informatie. |
x-ms-file-change-time: { now ¦ <DateTime> } |
Optioneel. Versie 2021-06-08 en hoger. De utc-wijzigingstijdeigenschap (Coordinated Universal Time) voor het bestand in de ISO 8601-indeling. U kunt een waarde van now gebruiken om de tijd van de aanvraag aan te geven. De standaardwaarde is now . |
x-ms-file-request-intent |
Vereist als Authorization de header een OAuth-token opgeeft. Acceptabele waarde is backup . Deze header geeft aan dat de Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action of Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action moet worden verleend als deze zijn opgenomen in het RBAC-beleid dat is toegewezen aan de identiteit die is geautoriseerd met behulp van de Authorization header. Beschikbaar voor versie 2022-11-02 en hoger. |
x-ms-allow-trailing-dot: { <Boolean> } |
Optioneel. Versie 2022-11-02 en hoger. De Booleaanse waarde geeft aan of een volgpunt in de aanvraag-URL moet worden ingekort of niet. Zie Shares, mappen, bestanden en metagegevens een naam geven en hiernaar verwijzen voor meer informatie. |
Aanvraagbody
Geen.
Voorbeeldaanvraag
Request Syntax:
PUT https://myaccount.file.core.windows.net/myshare/myfile HTTP/1.1
Request Headers:
x-ms-version: 2020-02-10
x-ms-date: Mon, 27 Jan 2014 22:41:55 GMT
Content-Type: text/plain; charset=UTF-8
x-ms-content-length: 1024
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=
Antwoord
Het antwoord bevat een HTTP-statuscode en een set antwoordheaders.
Statuscode
Een geslaagde bewerking retourneert statuscode 201 (gemaakt).
Zie Status- en foutcodes voor meer informatie over statuscodes.
Antwoordheaders
Het antwoord voor deze bewerking bevat de headers die in de volgende tabel worden beschreven. Het antwoord kan ook extra standaard-HTTP-headers bevatten. Alle standaardheaders voldoen aan de HTTP/1.1-protocolspecificatie.
Antwoordheader | Beschrijving |
---|---|
ETag |
De ETag bevat een waarde die de versie van het bestand vertegenwoordigt. De waarde staat tussen aanhalingstekens. |
Last-Modified |
Retourneert de datum en tijd waarop het bestand voor het laatst is gewijzigd. De datumnotatie volgt RFC 1123. Zie Datum-/tijdwaarden weergeven in kopteksten voor meer informatie. Elke bewerking die de map of de eigenschappen ervan wijzigt, wordt de laatste wijzigingstijd bijgewerkt. Bewerkingen op bestanden hebben geen invloed op het tijdstip van de laatste wijziging van de map. |
x-ms-request-id |
Uniek identificeert de aanvraag die is gedaan en kan worden gebruikt voor het oplossen van problemen met de aanvraag. Zie Problemen met API-bewerkingen oplossen voor meer informatie |
x-ms-version |
Geeft de Azure Files versie aan die wordt gebruikt om de aanvraag uit te voeren. |
Date |
Een UTC-datum/tijd-waarde die wordt gegenereerd door de service, die de tijd aangeeft waarop het antwoord is gestart. |
x-ms-request-server-encrypted: true/false |
Versie 2017-04-17 en hoger. De waarde van deze header wordt ingesteld op true als u de inhoud van de aanvraag hebt versleuteld met behulp van het opgegeven algoritme. Als de versleuteling niet lukt, is false de waarde . |
x-ms-file-permission-key |
De sleutel van de machtiging van het bestand. |
x-ms-file-attributes |
De bestandssysteemkenmerken voor het bestand. Zie de lijst met beschikbare kenmerken voor meer informatie. |
x-ms-file-creation-time |
De UTC-datum/tijd-waarde die de eigenschap aanmaaktijd voor het bestand vertegenwoordigt. |
x-ms-file-last-write-time |
De UTC-datum/tijd-waarde die de laatste schrijftijdeigenschap voor het bestand vertegenwoordigt. |
x-ms-file-change-time |
De UTC-datum/-tijdwaarde die de wijzigingstijdeigenschap voor het bestand vertegenwoordigt. |
x-ms-file-file-id |
De bestands-id van het bestand. |
x-ms-file-parent-id |
De bovenliggende bestands-id van het bestand. |
x-ms-client-request-id |
Wordt gebruikt voor het oplossen van problemen met aanvragen en de bijbehorende antwoorden. De waarde van deze header is gelijk aan de waarde van de x-ms-client-request-id header als deze aanwezig is in de aanvraag en de waarde niet meer dan 1024 zichtbare ASCII-tekens bevat. Als de x-ms-client-request-id header niet aanwezig is in de aanvraag, is deze niet aanwezig in het antwoord. |
Hoofdtekst van de reactie
Geen.
Voorbeeldantwoord
Response Status:
HTTP/1.1 201 Created
Response Headers:
Transfer-Encoding: chunked
Date: Mon, 27 Jan 2014 23:00:12 GMT
ETag: "0x8CB14C3E29B7E82"
Last-Modified: Mon, 27 Jan 2014 23:00:06 GMT
x-ms-version: 2014-02-14
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0
Autorisatie
Alleen de accounteigenaar kan deze bewerking aanroepen.
Bestandssysteemkenmerken
Kenmerk | Win32-bestandskenmerk | Definitie |
---|---|---|
ReadOnly | FILE_ATTRIBUTE_READONLY | Een bestand met het kenmerk Alleen-lezen. Toepassingen kunnen het bestand lezen, maar ze kunnen er niet naar schrijven of verwijderen. |
Verborgen | FILE_ATTRIBUTE_HIDDEN | Het bestand is verborgen. Het is niet opgenomen in een gewone directory-vermelding. |
Systeem | FILE_ATTRIBUTE_SYSTEM | Een bestand waarvan het besturingssysteem een deel of uitsluitend gebruikt. |
Geen | FILE_ATTRIBUTE_NORMAL | Een bestand waarvoor geen andere kenmerken zijn ingesteld. Dit kenmerk is alleen geldig wanneer deze alleen wordt gebruikt. |
Archiveren | FILE_ATTRIBUTE_ARCHIVE | Een bestand dat een archiefbestand is. Toepassingen gebruiken dit kenmerk gewoonlijk om bestanden te markeren voor back-up of verwijdering. |
Tijdelijk | FILE_ATTRIBUTE_TEMPORARY | Een bestand dat wordt gebruikt voor tijdelijke opslag. |
Offline | FILE_ATTRIBUTE_OFFLINE | De gegevens van een bestand zijn niet onmiddellijk beschikbaar. Dit bestandssysteemkenmerk wordt voornamelijk gepresenteerd om compatibiliteit met Windows te bieden. Azure Files biedt geen ondersteuning voor offlineopslagopties. |
NotContentIndexed | FILE_ATTRIBUTE_NOT_CONTENT_INDEXED | Het bestand mag niet worden geïndexeerd door de service voor inhoudsindexering. |
NoScrubData | FILE_ATTRIBUTE_NO_SCRUB_DATA | De gebruikersgegevensstroom die niet mag worden gelezen door de scanner voor gegevensintegriteit op de achtergrond. Dit bestandssysteemkenmerk wordt voornamelijk gepresenteerd om compatibiliteit met Windows te bieden. |
Opmerkingen
Als u een nieuw bestand wilt maken, initialiseert u het eerst door het aan te roepen Create File
en de maximale grootte op te geven, tot 4 TiB. Wanneer u deze bewerking uitvoert, neemt u geen inhoud op in de hoofdtekst van de aanvraag. Nadat u het bestand hebt gemaakt, roept Put Range
u aan om inhoud aan het bestand toe te voegen of te wijzigen.
U kunt de grootte van het bestand wijzigen door aan te roepen Set File Properties
.
Als de share of bovenliggende map niet bestaat, mislukt de bewerking met statuscode 412 (voorwaarde is mislukt).
Notitie
De bestandseigenschappen cache-control
, content-type
, content-md5
, content-encoding
en content-language
zijn gescheiden van de bestandssysteemeigenschappen die beschikbaar zijn voor SMB-clients. SMB-clients kunnen deze eigenschapswaarden niet lezen, schrijven of wijzigen.
Als het bestaande bestand een actieve lease heeft, moet de client een geldige lease-id opgeven voor de aanvraag om het bestand te maken. Als de client geen lease-id opgeeft of een ongeldige lease-id opgeeft, retourneert Azure Files statuscode 412 (voorwaarde mislukt). Als de client een lease-id opgeeft, maar het bestand geen actieve lease heeft, retourneert Azure Files ook statuscode 412 (voorwaarde mislukt) in dit exemplaar. Als de client een lease-id opgeeft voor een bestand dat nog niet bestaat, retourneert Azure Files statuscode 412 (voorwaarde mislukt) voor aanvragen die zijn gedaan op basis van versie 2019-02-02 en hoger.
Als een bestaand bestand met een actieve lease wordt overschreven door een Create File
bewerking, blijft de lease behouden in het bijgewerkte bestand totdat het wordt vrijgegeven.
Create File
wordt niet ondersteund op een momentopname van een share. Dit is een alleen-lezenkopie van een share. Een poging om deze bewerking uit te voeren op een momentopname van een share mislukt met statuscode 400 (InvalidQueryParameterValue).