URL'den Aralık Koy

İşlem, Put Range From URL içeriğin url'den okunduğu bir dosyanın parçası olarak işlenecek yeni bir aralık oluşturur. Bu API, 2019-02-02 sürümünden itibaren kullanılabilir.

Protokol kullanılabilirliği

Etkin dosya paylaşımı protokolü Kullanılabilir
SMB Evet
NFS No

İstek

İstek Put Range From URL aşağıdaki gibi oluşturulabilir. HTTPS kullanmanızı öneririz. myaccount değerini depolama hesabınızın adıyla değiştirin:

Yöntem İstek URI'si HTTP sürümü
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1

URI parametreleri

Parametre Açıklama
timeout İsteğe bağlı. timeout parametresi saniye cinsinden ifade edilir. Daha fazla bilgi için bkz. Azure Dosyalar işlemleri için zaman aşımlarını ayarlama.

İstek üst bilgileri

Gerekli ve isteğe bağlı istek üst bilgileri aşağıdaki tabloda açıklanmıştır:

İstek üst bilgisi Açıklama
Authorization Gereklidir. Yetkilendirme düzenini, hesap adını ve imzayı belirtir. Daha fazla bilgi için bkz. Azure Depolama isteklerini yetkilendirme .
Date veya x-ms-date Gereklidir. İstek için Eşgüdümlü Evrensel Saat (UTC) biçimini belirtir. Daha fazla bilgi için bkz. Azure Depolama isteklerini yetkilendirme.
x-ms-version Tüm yetkili istekler için gereklidir. Bu istek için kullanılacak işlemin sürümünü belirtir. Daha fazla bilgi için bkz. Azure Depolama hizmetleri için sürüm oluşturma. için Put Range From URLsürüm 2019-02-02 veya üzeri olmalıdır.
x-ms-copy-source:name Gereklidir. Kaynak dosyanın URL'sini belirtir. Değer, bir dosyayı belirten en fazla 2 KiB uzunluğunda bir URL olabilir. Değer, istek URI'sinde göründüğü gibi URL ile kodlanmış olmalıdır. Kaynak dosyanın ortak olması veya paylaşılan erişim imzası aracılığıyla yetkilendirilmiş olması gerekir. Kaynak dosya ortaksa, işlemi gerçekleştirmek için yetkilendirme gerekmez. Aşağıda kaynak nesne URL'lerinin bazı örnekleri verilmiştir:
  • https://myaccount.file.core.windows.net/myshare/mydir/myfile
  • https://myaccount.file.core.windows.net/myshare/mydir/myfile?<sastoken>
x-ms-copy-source-authorization: <scheme> <signature> İsteğe bağlı. Kopyalama kaynağı için yetkilendirme düzenini ve imzayı belirtir. Daha fazla bilgi için bkz. Azure Depolama isteklerini yetkilendirme.
Azure Active Directory için yalnızca şema taşıyıcı desteklenir.
Bu üst bilgi 2020-10-02 ve sonraki sürümlerde desteklenir.
x-ms-write: { update } Gereklidir. Yalnızca updatebelirtmelisiniz. ile çağrılırsa clearistek başarısız olur. değeri, update istek gövdesi tarafından belirtilen baytları belirtilen aralıklara yazar.
Range veya x-ms-range Gereklidir. Range veya x-ms-range gereklidir.

Yazılacak bayt aralığını belirtir. Aralığın hem başlangıcı hem de sonu belirtilmelidir. Bu üst bilgi HTTP/1.1 protokol belirtimi tarafından tanımlanır.

Güncelleştirme işlemi için aralığın boyutu en fazla 4 MiB olabilir.

Azure Dosyalar ve x-ms-range üst bilgileri için Range yalnızca tek bir bayt aralığı kabul eder ve bayt aralığı şu biçimde belirtilmelidir: bytes=startByte-endByte.

hem x-ms-range hem de Range belirtilirse, hizmet değerini x-ms-rangekullanır. Daha fazla bilgi için bkz. Azure Dosyalar işlemleri için aralık üst bilgisini belirtme.
x-ms-source-range Gereklidir. Kaynaktan okunacak bayt aralığını belirtir. Aralığın hem başlangıcı hem de sonu belirtilmelidir.

Azure Dosyalar ve x-ms-range üst bilgileri için Range yalnızca tek bir bayt aralığı kabul eder ve bayt aralığı şu biçimde belirtilmelidir: bytes=startByte-endByte.

Kaynak aralığın boyutu en fazla 4 MiB olabilir. Kaynak aralığı boyutu 4 MiB'yi aşarsa, Azure Dosyalar durum kodu 413 (İstek Varlığı Çok Büyük) döndürür. Kaynak aralık boyutu aralık (hedef aralık) boyutuyla eşleşmiyorsa, hizmet 400 (Hatalı İstek) durum kodunu döndürür.
Content-Length Gereklidir. İstek gövdesinde iletilen bayt sayısını belirtir. Bu üst bilginin değeri olarak 0ayarlanmalıdır. Uzunluk olmadığında 0, işlem 400 (Hatalı İstek) durum koduyla başarısız olur.
x-ms-client-request-id İsteğe bağlı. Günlüğe kaydetme yapılandırıldığında günlüklere kaydedilen 1 kibibaytlık (KiB) karakter sınırıyla istemci tarafından oluşturulan, opak bir değer sağlar. İstemci tarafı etkinlikleriyle sunucunun aldığı istekler arasında bağıntı sağlamak için bu üst bilgiyi kullanmanızı kesinlikle öneririz. Daha fazla bilgi için bkz. İzleme Azure Dosyalar.
x-ms-source-content-crc64 İsteğe bağlı. URI'den belirtilen aralığın CRC64 karması. Bu karma, verilerin URI'den taşınması sırasında aralığın bütünlüğünü doğrulamak için kullanılır. Bu üst bilgi belirtildiğinde, Azure Dosyalar kopyalama kaynağından gelen içeriğin karması ile bu üst bilgi değerini karşılaştırır.

Not: Bu CRC64 karması dosyayla birlikte depolanmaz.

İki karma eşleşmezse işlem 400 (Hatalı İstek) hata koduyla başarısız olur.
x-ms-source-if-match-crc64 İsteğe bağlı. CRC64 sağlama toplamı değeri. İşlemi gerçekleştirmek için yalnızca kaynaktan okunan belirli aralığın sağlama toplamı sağlanan sağlama toplamıyla eşleşiyorsa bu üst bilgiyi belirtin.

Belirtilen koşul karşılanmazsa Azure Dosyalar 412 (Önkoşul Başarısız) durum kodunu döndürür.
x-ms-source-if-none-match-crc64 İsteğe bağlı. CRC64 sağlama toplamı değeri. yalnızca kaynaktan okunan belirli aralığın sağlama toplamı sağlanan sağlama toplamından farklıysa işlemi gerçekleştirmek için bu üst bilgiyi belirtin.

Belirtilen koşul karşılanmazsa Azure Dosyalar 412 (Önkoşul Başarısız) durum kodunu döndürür.
x-ms-lease-id:<ID> Dosyanın etkin bir kirası varsa gereklidir. Etkin kiralaması olan bir dosyada bu işlemi gerçekleştirmek için bu üst bilgi için geçerli kira kimliğini belirtin.
x-ms-client-request-id İsteğe bağlı. Azure Depolama Analizi günlüğü etkinleştirildiğinde analiz günlüklerine kaydedilen, 1 kibibayt (KiB) karakter sınırına sahip istemci tarafından oluşturulan, opak bir değer sağlar. İstemci tarafı etkinlikleriyle sunucu tarafından alınan istekler arasında bağıntı kurarken bu üst bilgiyi kullanmanızı kesinlikle öneririz. Daha fazla bilgi için bkz. Blob Depolamayı İzleme.
x-ms-file-last-write-time: { now ¦ preserve } İsteğe bağlı. Sürüm 2021-06-08 ve üzeri. Aşağıdaki seçeneklerden birini belirtebilirsiniz:
  • now: Varsayılan değer. son yazma zamanı zaman damgasını isteğin zamanına Güncelleştirmeler.
  • preserve: Mevcut son yazma zaman damgasını değiştirmeden tutar.
x-ms-file-request-intent Üst bilgi bir OAuth belirteci belirtiyorsa Authorization gereklidir. Kabul edilebilir değer: backup. Bu üst bilgi, üst bilgi kullanılarak yetkilendirilmiş kimliğe atanan RBAC ilkesine dahil edildiyse veya Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action izni verilmesi Authorization gerektiğini belirtirMicrosoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action. Sürüm 2022-11-02 ve üzeri için kullanılabilir.
x-ms-allow-trailing-dot: { <Boolean> } İsteğe bağlı. Sürüm 2022-11-02 ve üzeri. Boole değeri, istek URL'sinde sondaki bir noktanın kırpılıp kırpılmaması gerektiğini belirtir. Daha fazla bilgi için bkz . Paylaşımları, dizinleri, dosyaları ve meta verileri adlandırma ve buna başvurma.
x-ms-source-allow-trailing-dot: { <Boolean> } İsteğe bağlı. Sürüm 2022-11-02 ve üzeri. Boole değeri, kaynak URL'de sondaki bir noktanın kırpılıp kırpılmaması gerektiğini belirtir. Bu üst bilgi yalnızca kopyalama kaynağı bir Azure Dosyası ise belirtilmelidir. Bu üst bilgi başka bir kopyalama kaynağı türü için desteklenmez. Daha fazla bilgi için bkz . Paylaşımları, dizinleri, dosyaları ve meta verileri adlandırma ve buna başvurma.

İstek gövdesi

İstek gövdesi yok.

Örnek istek

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare/mydir/myfile?comp=range HTTP/1.1  
  
Request Headers:  
x-ms-page-write: update  
x-ms-copy-source: http://myaccount2.file.core.windows.net/myshare2/mydirectory2/myfile2?sv=2018-11-09&sp=r&sr=s&se=2018-08-22T09%3A59%3A28.2185790Z&sig=Qn6QEET3Gn%2FhCEVcXuwG7ssatIYiYRM5pNIy4Q3N0cQ%3D 
x-ms-date: Fri, 22 Aug 2018 01:15:50 GMT  
x-ms-version: 2019-02-02 
x-ms-range: bytes=100-1023  
x-ms-source-range: bytes=200-1123  
x-ms-source-content-crc64: 3bedb8b3730fc205 
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=  
Content-Length: 0 

Yanıt

Yanıt bir HTTP durum kodu ve bir dizi yanıt üst bilgisi içerir.

Durum kodu

Başarılı bir işlem 201 (Oluşturuldu) durum kodunu döndürür.

Durum kodları hakkında daha fazla bilgi için bkz. Durum ve hata kodları.

Yanıt üst bilgileri

Bu işlemin yanıtı aşağıdaki üst bilgileri içerir. Yanıt ek standart HTTP üst bilgileri de içerebilir. Tüm standart üst bilgiler HTTP/1.1 protokol belirtimine uygundur.

Yanıt üst bilgisi Description
ETag İşlemleri koşullu olarak gerçekleştirmek için kullanabileceğiniz bir değer içerir. Değer tırnak içine alınır.
Last-Modified Dosyanın son değiştirildiği tarih ve saat. Tarih biçimi RFC 1123'e göredir. Daha fazla bilgi için bkz. Üst bilgilerde Tarih/Saat Değerlerinin Gösterimi.

Dosyanın meta verilerine veya özelliklerine yönelik güncelleştirmeler de dahil olmak üzere dosyadaki herhangi bir yazma işlemi, dosyanın son değiştirme zamanını değiştirir. 
x-ms-request-id Yapılan isteği benzersiz olarak tanımlar ve istekle ilgili sorunları gidermek için bunu kullanabilirsiniz. Daha fazla bilgi için bkz . API işlemleriyle ilgili sorunları giderme.
x-ms-version İsteği yürütmek için kullanılan FileREST API sürümünü gösterir.
Date Hizmet tarafından oluşturulan ve yanıtın başlatıldığı saati gösteren UTC tarih/saat değeri.
x-ms-content-crc64 İstemcinin ileti içeriği bütünlüğünü denetleyebilmesi için döndürüldü. Bu üst bilginin değeri Azure Dosyalar tarafından hesaplanır. İstek üst bilgilerinde belirtilen değerle aynı olmayabilir.
x-ms-client-request-id İsteklerde ve karşılık gelen yanıtlarda sorun gidermek için kullanılabilir. Bu üst bilginin değeri, istekte varsa ve değer 1.024'ten fazla görünür ASCII karakteri içermiyorsa üst bilginin değerine x-ms-client-request-id eşittir. İstekte x-ms-client-request-id üst bilgi yoksa yanıtta bulunmaz.
x-ms-file-last-write-time Sürüm 2021-06-08 ve üzeri. Dosyanın iso 8601 biçimindeki son yazma zamanı (örneğin, 2017-05-10T17:52:33.9551861Z).

Örnek yanıt

Response Status:  
HTTP/1.1 201 Created  

Response Headers:
Date: Sun, 22 Aug 2020 01:33:35 GMT  
ETag: "0x8CB171BA9E94B0B"  
Last-Modified: Wed, 22 Aug 2020 01:13:31 GMT  
x-ms-version: 2019-02-02
x-ms-content-crc64: 3bedb8b3730fc205 
Content-Length: 0  
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0  

Yetkilendirme

Bu işlem hesap sahibi ve paylaşılan erişim imzasına sahip olan ve bu dosyaya veya Azure dosya paylaşımına yazma izinleri olan herkes tarafından çağrılabilir.

Açıklamalar

işlemi Put Range From URL bir dosyaya bir veri aralığı yazar. API hedefte mevcut olmayan bir dosyada çağrılırsa, API HTTP durum kodu 404 (Bulunamadı) döndürür.

Sürüm 2020-10-02 ve sonraki sürümlerde, kopyalama işleminin kaynağı için Azure Active Directory yetkilendirmesi desteklenir.

Yeni bir dosya oluşturmak için çağrısında bulun.Create File

Put Range From URL işlemi, yalnızca belirtilen aralık dosyaya yazıldıysa başarılı 201 'i (Oluşturuldu) döndürür.

Dosya okuma işlemi
Put Range From URL kaynaktan veri ve meta verileri, öznitelikleri ve ACL'leri okumak için kullanır Get File .

Dosya güncelleştirme işlemi
"Güncelleştir" seçeneğiyle çağrılması Put Range From URL , belirtilen dosyada yerinde yazma işlemi gerçekleştirir. Belirtilen dosyadaki tüm içeriğin üzerine güncelleştirmeyle birlikte yazılır.  

Güncelleştirme işleminin işlemdeki Put Range From URL aralık boyutu 4 MiB'a kadar olabilir. 4 MiB'den büyük bir aralığı karşıya yüklemeye çalışırsanız, Azure Dosyalar 413 durum kodunu (RequestEntityTooLarge) döndürür.