Erstellen der Datei
Mit dem Befehl Create File
wird eine neue Datei erstellt oder eine alte Datei ersetzt. Wenn Sie aufrufen Create File
, initialisieren Sie nur die Datei. Um einer Datei Inhalte hinzuzufügen, rufen Sie den Vorgang auf Put Range
.
Protokollverfügbarkeit
Aktiviertes Dateifreigabeprotokoll | Verfügbar |
---|---|
SMB | |
NFS |
Anforderung
Sie können eine Create File
Anforderung erstellen, indem Sie die folgenden Schritte ausführen. Es wird empfohlen, HTTPS zu verwenden.
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
PUT |
https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile |
HTTP/1.1 |
Ersetzen Sie die Pfadkomponenten, die im Anforderungs-URI angezeigt werden, durch Ihren eigenen, wie in der folgenden Tabelle beschrieben:
Pfadkomponente | BESCHREIBUNG |
---|---|
myaccount |
Der Name Ihres Speicherkontos. |
myshare |
Der Name der Dateifreigabe. |
mydirectorypath |
Optional. Der Pfad zu dem Verzeichnis, in dem die Datei erstellt werden soll. Wenn der Verzeichnispfad fehlt, wird die Datei innerhalb der angegebenen Freigabe erstellt. Wenn das Verzeichnis angegeben ist, muss es bereits innerhalb der Freigabe vorhanden sein, bevor Sie die Datei erstellen können. |
myfile |
Der Name der zu erstellenden Datei. |
Informationen zu Pfadbenennungseinschränkungen finden Sie unter Namens- und Verweisfreigaben, Verzeichnisse, Dateien und Metadaten.
URI-Parameter
Sie können im Anforderungs-URI die folgenden zusätzlichen Parameter angeben:
Parameter | BESCHREIBUNG |
---|---|
timeout |
Optional. Der timeout -Parameter wird in Sekunden angegeben. Weitere Informationen finden Sie unter Festlegen von Timeouts für Dateidienstvorgänge. |
Anforderungsheader
Die erforderlichen und optionalen Anforderungsheader werden in der folgenden Tabelle beschrieben:
Anforderungsheader | BESCHREIBUNG |
---|---|
Authorization |
Erforderlich. Gibt das Autorisierungsschema, den Kontonamen und die Signatur an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage. |
Date oder x-ms-date |
Erforderlich. Gibt die Uhrzeit der Anforderung in koordinierter Weltzeit (UTC) an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage. |
x-ms-version |
Erforderlich für alle autorisierten Anforderungen. Gibt die Version des für die Anforderung zu verwendenden Vorgangs an. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure-Speicherdienste. |
Content-Length |
Optional. Muss 0 (null) sein, falls es vorhanden ist. |
x-ms-content-length: byte value |
Erforderlich. Dieser Header gibt die maximale Größe für die Datei an, bis zu 4 Tebibytes (TiB). |
Content-Type oder x-ms-content-type |
Optional. Der MIME-Inhaltstyp der Datei. Der Standardtyp ist application/octet-stream . |
Content-Encoding oder x-ms-content-encoding |
Optional. Gibt an, welche Inhaltscodierungen auf die Datei angewendet wurden. Dieser Wert wird an den Client zurückgegeben, wenn der Vorgang Datei abrufen für die Dateiressource ausgeführt wird, und Sie können ihn zum Decodieren von Dateiinhalten verwenden. |
Content-Language oder x-ms-content-language |
Optional. Gibt die natürlichen Sprachen an, die von dieser Ressource verwendet werden. |
Cache-Control oder x-ms-cache-control |
Optional. Azure Files speichert diesen Wert, verwendet oder ändert ihn jedoch nicht. |
x-ms-content-md5 |
Optional. Legt den MD5-Hash der Datei fest. |
x-ms-content-disposition |
Optional. Legt den Header der Datei fest Content-Disposition . |
x-ms-type: file |
Erforderlich. Legen Sie diesen Header auf file fest. |
x-ms-meta-name:value |
Optional. Name-Wert-Paare, die der Datei als Metadaten zugeordnet sind. Metadatennamen müssen den Benennungsregeln für C#-Bezeichner entsprechen. Hinweis: Auf Dateimetadaten, die über Azure Files angegeben werden, kann von einem SMB-Client (Server Message Block) nicht zugegriffen werden. |
x-ms-file-permission: { inherit ¦ <SDDL> } |
In Version 2019-02-02 bis 2021-04-10 ist dieser Header erforderlich, wenn x-ms-file-permission-key nicht angegeben ist. Ab Version 2021-06-08 sind beide Header optional. Diese Berechtigung ist der Sicherheitsdeskriptor für die Datei, die in der Security Descriptor Definition Language (SDDL) angegeben ist. Sie können diesen Header verwenden, wenn die Berechtigungsgröße 8 Kibibytes (KiB) oder weniger beträgt. Andernfalls können Sie verwenden x-ms-file-permission-key . Wenn Sie den Header angeben, muss er über einen Besitzer, eine Gruppe und eine diskretionäre Zugriffssteuerungsliste (DACL) verfügen. Sie können einen Wert von inherit übergeben, um vom übergeordneten Verzeichnis zu erben. |
x-ms-file-permission-key: <PermissionKey> |
In Version 2019-02-02 bis 2021-04-10 ist dieser Header erforderlich, wenn x-ms-file-permission nicht angegeben ist. Ab Version 2021-06-08 sind beide Header optional. Wenn keiner der Header angegeben ist, wird der Standardwert von inherit für den x-ms-file-permission Header verwendet.Sie können den Schlüssel erstellen, indem Sie die Create Permission API aufrufen. |
x-ms-file-attributes |
Erforderlich: Version 2019-02-02 bis 2021-04-10. Optional: Version 2021-06-08 und höher. Dieser Header enthält die Dateisystemattribute, die für die Datei festgelegt werden sollen. Weitere Informationen finden Sie in der Liste der verfügbaren Attribute. Standardwert: None . |
x-ms-file-creation-time: { now ¦ <DateTime> } |
Erforderlich: Version 2019-02-02 bis 2021-04-10. Optional: Version 2021-06-08 und höher. Die UTC-Eigenschaft (Coordinated Universal Time) für die Datei. Der Wert kann now verwendet werden, um die Uhrzeit der Anforderung anzugeben. Standardwert: now . |
x-ms-file-last-write-time: { now ¦ <DateTime> } |
Erforderlich: Version 2019-02-02 bis 2021-04-10. Optional: Version 2021-06-08 und höher. Die UTC-Eigenschaft (Coordinated Universal Time) beim letzten Schreibvorgang für die Datei. Sie können den Wert von now verwenden, um die Uhrzeit der Anforderung anzugeben. Standardwert: now . |
x-ms-lease-id: <ID> |
Erforderlich, wenn die Datei über eine aktive Lease verfügt. Verfügbar für Version 2019-02-02 und höher. |
x-ms-client-request-id |
Optional. Stellt einen vom Client generierten, undurchsichtigen Wert mit einem Zeichenlimit von 1 Kibibyte (KiB) bereit, der in den Protokollen aufgezeichnet wird, wenn die Protokollierung konfiguriert ist. Es wird dringend empfohlen, diesen Header zu verwenden, um clientseitige Aktivitäten mit Anforderungen zu korrelieren, die der Server empfängt. Weitere Informationen finden Sie unter Überwachen Azure Files. |
x-ms-file-change-time: { now ¦ <DateTime> } |
Optional. Version 2021-06-08 und höher. Die UTC-Eigenschaft (Coordinated Universal Time) ändert die Zeit für die Datei im ISO 8601-Format. Sie können den Wert von now verwenden, um die Uhrzeit der Anforderung anzugeben. Standardwert: now . |
x-ms-file-request-intent |
Erforderlich, wenn Authorization der Header ein OAuth-Token angibt. Zulässiger Wert ist backup . Dieser Header gibt an, dass oder Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action gewährt werden soll, wenn sie in der RBAC-Richtlinie enthalten sind, die der Identität zugewiesen ist, die mithilfe des Authorization Headers autorisiert ist. Verfügbar für Version 2022-11-02 und höher. |
x-ms-allow-trailing-dot: { <Boolean> } |
Optional. Version 2022-11-02 und höher. Der boolesche Wert gibt an, ob ein nachgestellter Punkt in der Anforderungs-URL gekürzt werden soll. Weitere Informationen finden Sie unter Benennen und Verweisen auf Freigaben, Verzeichnisse, Dateien und Metadaten. |
Anforderungstext
Keine.
Beispiel für eine Anforderung
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=
Antwort
Die Antwort enthält den HTTP-Statuscode und einen Satz von Antwortheadern.
Statuscode
Bei einem erfolgreichen Vorgang wird der Statuscode 201 (Erstellt) zurückgegeben.
Informationen zu status Codes finden Sie unter Status- und Fehlercodes.
Antwortheader
Die Antwort für diesen Vorgang enthält die Header, die in der folgenden Tabelle beschrieben werden. Die Antwort kann außerdem weitere HTTP-Standardheader enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.
Antwortheader | BESCHREIBUNG |
---|---|
ETag |
Das ETag enthält einen Wert, der die Version der Datei darstellt. Der Wert wird in Anführungszeichen eingeschlossen. |
Last-Modified |
Gibt das Datum und die Uhrzeit der letzten Änderung der Datei zurück. Das Datumsformat entspricht RFC 1123. Weitere Informationen finden Sie unter Darstellen von Datums-/Uhrzeitwerten in Headern. Bei jedem Vorgang, durch den das Verzeichnis, seine Eigenschaften oder seine Metadaten geändert werden, wird der Zeitpunkt der letzten Änderung aktualisiert. Vorgänge für Dateien wirken sich nicht auf den Zeitpunkt der letzten Änderung des Verzeichnisses aus. |
x-ms-request-id |
Identifiziert die durchgeführte Anforderung eindeutig und kann für die Problembehandlung der Anforderung verwendet werden. Weitere Informationen finden Sie unter Problembehandlung für API-Vorgänge. |
x-ms-version |
Gibt die Azure Files Version an, die zum Ausführen der Anforderung verwendet wird. |
Date |
Ein UTC-Datums-/Uhrzeitwert, der vom Dienst generiert wird, der den Zeitpunkt angibt, zu dem die Antwort initiiert wurde. |
x-ms-request-server-encrypted: true/false |
Version 2017-04-17 und höher. Der Wert dieses Headers wird auf true festgelegt, wenn Sie den Inhalt der Anforderung mithilfe des angegebenen Algorithmus erfolgreich verschlüsselt haben. Wenn die Verschlüsselung nicht erfolgreich ist, ist false der Wert . |
x-ms-file-permission-key |
Der Schlüssel der Berechtigung der Datei. |
x-ms-file-attributes |
Die Dateisystemattribute für die Datei. Weitere Informationen finden Sie in der Liste der verfügbaren Attribute. |
x-ms-file-creation-time |
Der UTC-Wert für Datum/Uhrzeit, der die Erstellungszeit-Eigenschaft für die Datei darstellt. |
x-ms-file-last-write-time |
Der UTC-Wert für Datum/Uhrzeit, der die Eigenschaft zum letzten Schreibvorgang für die Datei darstellt. |
x-ms-file-change-time |
Das UTC-Datum/Uhrzeit dieses Werts, der die Änderungszeiteigenschaft für die Datei darstellt. |
x-ms-file-file-id |
Die Datei-ID der Datei. |
x-ms-file-parent-id |
Die ID der übergeordneten Datei. |
x-ms-client-request-id |
Wird für die Problembehandlung von Anforderungen und deren entsprechenden Antworten verwendet. Der Wert dieses Headers ist gleich dem Wert des x-ms-client-request-id Headers, wenn er in der Anforderung vorhanden ist und der Wert nicht mehr als 1.024 sichtbare ASCII-Zeichen enthält. Wenn der x-ms-client-request-id Header in der Anforderung nicht vorhanden ist, ist er in der Antwort nicht vorhanden. |
Antworttext
Keine.
Beispiel für eine Antwort
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
Authorization
Dieser Vorgang kann nur vom Kontobesitzer aufgerufen werden.
Dateisystemattribute
attribute | Win32-Dateiattribute | Definition |
---|---|---|
ReadOnly | FILE_ATTRIBUTE_READONLY | Eine datei, die schreibgeschützt ist. Anwendungen können die Datei lesen, aber nicht in sie schreiben oder löschen. |
Ausgeblendet | FILE_ATTRIBUTE_HIDDEN | Die Datei ist ausgeblendet. Es ist nicht in einer gewöhnlichen Verzeichnisliste enthalten. |
System | FILE_ATTRIBUTE_SYSTEM | Eine Datei, von der das Betriebssystem einen Teil oder ausschließlich verwendet. |
Keine | FILE_ATTRIBUTE_NORMAL | Eine Datei, für die keine anderen Attribute festgelegt sind. Dieses Attribut ist nur gültig, wenn es allein verwendet wird. |
Archivieren | FILE_ATTRIBUTE_ARCHIVE | Eine Datei, bei der es sich um eine Archivdatei handelt. Normalerweise verwenden Anwendungen dieses Attribut, um Dateien für die Sicherung oder Entfernung zu markieren. |
Temporäre Prozeduren | FILE_ATTRIBUTE_TEMPORARY | Eine Datei, die für den temporären Speicher verwendet wird. |
Offline | FILE_ATTRIBUTE_OFFLINE | Die Daten einer Datei sind nicht sofort verfügbar. Dieses Dateisystemattribute wird in erster Linie angezeigt, um die Kompatibilität mit Windows zu gewährleisten. Azure Files unterstützt es nicht mit Offlinespeicheroptionen. |
NotContentIndexed | FILE_ATTRIBUTE_NOT_CONTENT_INDEXED | Die Datei soll nicht vom Inhaltsindizierungsdienst indiziert werden. |
NoScrubData | FILE_ATTRIBUTE_NO_SCRUB_DATA | Der Benutzerdatenstrom, der nicht vom Hintergrunddatenintegritätsscanner gelesen werden soll. Dieses Dateisystemattribute wird in erster Linie angezeigt, um die Kompatibilität mit Windows zu gewährleisten. |
Bemerkungen
Um eine neue Datei zu erstellen, initialisieren Sie sie zuerst, indem Sie die maximale Größe von bis zu 4 TiB aufrufen Create File
und angeben. Wenn Sie diesen Vorgang ausführen, schließen Sie keinen Inhalt in den Anforderungstext ein. Nachdem Sie die Datei erstellt haben, rufen Sie Put Range
auf, um der Datei Inhalte hinzuzufügen oder sie zu ändern.
Sie können die Größe der Datei ändern, indem Sie Set File Properties
aufrufen.
Wenn die Freigabe oder das übergeordnete Verzeichnis nicht vorhanden ist, schlägt der Vorgang mit status Code 412 (Vorbedingung fehlgeschlagen) fehl.
Hinweis
Die Dateieigenschaften cache-control
, content-type
, content-md5
, content-encoding
und content-language
sind getrennt von den Dateisystemeigenschaften, die für SMB-Clients verfügbar sind. SMB-Clients können diese Eigenschaftswerte nicht lesen, schreiben oder ändern.
Wenn die vorhandene Datei über eine aktive Lease verfügt, muss der Client eine gültige Lease-ID für die Anforderung angeben, um die Datei zu erstellen. Wenn der Client entweder keine Lease-ID oder eine ungültige Lease-ID angibt, gibt Azure Files status Code 412 (Vorbedingung fehlgeschlagen) zurück. Wenn der Client eine Lease-ID angibt, die Datei aber keine aktive Lease aufweist, gibt Azure Files auch in diesem instance status Code 412 (Vorbedingungsfehler) zurück. Wenn der Client eine Lease-ID für eine Datei angibt, die noch nicht vorhanden ist, gibt Azure Files status Code 412 (Vorbedingung fehlgeschlagen) für Anforderungen zurück, die für Die Version 2019-02-02 und höher gestellt werden.
Wenn eine vorhandene Datei mit einer aktiven Lease durch einen Create File
Vorgang überschrieben wird, bleibt die Lease in der aktualisierten Datei erhalten, bis sie freigegeben wird.
Create File
wird nicht für eine Freigabe Momentaufnahme unterstützt, bei der es sich um eine schreibgeschützte Kopie einer Freigabe handelt. Ein Versuch, diesen Vorgang für eine Freigabe Momentaufnahme auszuführen, schlägt mit status Code 400 (InvalidQueryParameterValue) fehl.