Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
İşlem Put Block From URL , içeriğin bir URL'den okunduğu bir blobun parçası olarak işlenecek yeni bir blok oluşturur. Bu API, 2018-03-28 sürümünden itibaren kullanılabilir.
İstek
Put Block From URL isteğini aşağıdaki gibi oluşturabilirsiniz. HTTPS kullanmanızı öneririz.
myaccount değerini depolama hesabınızın adıyla değiştirin:
| PUT yöntemi istek URI'si | HTTP sürümü |
|---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=block&blockid=id |
HTTP/1.1 (İngilizce) |
Öykünmüş depolama hizmeti isteği
Öykünülmüş depolama hizmetine karşı bir istekte bulunurken, öykünücü ana bilgisayar adını ve Blob hizmeti bağlantı noktasını şu şekilde 127.0.0.1:10000belirtin ve ardından öykünülmüş depolama hesabı adını belirtin:
| PUT yöntemi istek URI'si | HTTP sürümü |
|---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=block&blockid=id |
HTTP/1.1 (İngilizce) |
Daha fazla bilgi için bkz. Yerel Azure Depolama geliştirmesi için Azurite öykünücüsü kullanma.
URI parametreleri
| Parametre | Açıklama |
|---|---|
blockid |
Gerekli. Bloğu tanımlayan geçerli bir Base64 dize değeri. Kodlamadan önce, dizenin boyutu 64 bayttan küçük veya buna eşit olmalıdır. Belirtilen blob için, parametre için blockid belirtilen değerin uzunluğu her blok için aynı boyutta olmalıdır.Not: Base64 dizesi URL ile kodlanmış olmalıdır. |
timeout |
Opsiyonel.
timeout parametresi saniye cinsinden ifade edilir. Daha fazla bilgi için bkz. Blob hizmeti işlemleri için zaman aşımlarını ayarlama. |
İstek başlıkları
Gerekli ve isteğe bağlı istek üst bilgileri aşağıdaki tabloda açıklanmıştır:
| İstek başlığı | Açıklama |
|---|---|
Authorization |
Gerekli. Yetkilendirme düzenini, hesap adını ve imzayı belirtir. Daha fazla bilgi için bkz. azure depolamaistekleri yetkilendirme |
Date veya x-ms-date |
Gerekli. İstek için Eşgüdümlü Evrensel Saati (UTC) belirtir. Daha fazla bilgi için bkz. azure depolamaistekleri 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 Block From URLsürümün 2018-03-28 veya üzeri olması gerekir. |
Content-Length |
Gerekli. İstek gövdesinde iletilen bayt sayısını belirtir. Bu başlığın değeri 0 olarak ayarlanmalıdır. Uzunluk 0 olmadığında, işlem 400 (Hatalı İstek) durum koduyla başarısız olur. |
x-ms-copy-source:name |
Gerekli. Kaynak blobun URL'sini belirtir. Değer, bir blob belirten en fazla 2 kibibayt (KiB) uzunluğunda bir URL olabilir. Değer, bir istek URI'sinde göründüğü gibi URL ile kodlanmış olmalıdır. Kaynak blobun genel olması veya paylaşılan erişim imzası aracılığıyla yetkilendirilmiş olması gerekir. Kaynak blob herkese açıksa, işlemi gerçekleştirmek için yetkilendirme gerekmez. Kaynak nesne URL'lerine bazı örnekler aşağıda verilmiştir: - https://myaccount.blob.core.windows.net/mycontainer/myblob- https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>- https://myaccount.blob.core.windows.net/mycontainer/myblob?versionid=<DateTime> |
x-ms-copy-source-authorization: <scheme> <signature> |
Opsiyonel. Kopyalama kaynağı için yetkilendirme düzenini ve imzayı belirtir. Daha fazla bilgi için bkz. azure depolamaistekleri yetkilendirme Not: Microsoft Entra için yalnızca bir taşıyıcı şeması desteklenir. Not: Kaynak nesneniz genel olarak erişilebilir durumdaysa veya kaynak nesneniz bir depolama hesabındaysa ve geçirilmekte x-ms-copy-source:nameolan bir SAS belirteci kullanıyorsanız, bu üst bilgi gerekli değildir.Bu başlık 2020-10-02 ve sonraki sürümlerde desteklenir. |
x-ms-source-range |
Opsiyonel. Belirtilen aralıktaki kaynak URL'de yalnızca blobun baytlarını karşıya yükler. Bu üst bilgi belirtilmezse, kaynak blob içeriğinin tamamı tek bir blok olarak karşıya yüklenir. Daha fazla bilgi için bkz: Blob hizmeti işlemleri için aralık başlığını belirtme. |
x-ms-source-content-md5 |
Opsiyonel. URI'den blok içeriğinin MD5 karması. Bu karma, verilerin URI'den taşınması sırasında bloğun bütünlüğünü doğrulamak için kullanılır. Bu üst bilgi belirtildiğinde, depolama hizmeti kopya kaynağından gelen içeriğin karmasını bu üst bilgi değeriyle karşılaştırır. Not: Bu MD5 karması blob ile depolanmaz. İki karma eşleşmezse, işlem 400 (Hatalı İstek) hata koduyla başarısız olur. |
x-ms-source-content-crc64 |
Opsiyonel. URI'den blok içeriğinin CRC64 karması. Bu karma, verilerin URI'den taşınması sırasında bloğun bütünlüğünü doğrulamak için kullanılır. Bu üst bilgi belirtildiğinde, depolama hizmeti kopya kaynağından gelen içeriğin karmasını bu üst bilgi değeriyle karşılaştırır. Not: Bu CRC64 karması blob ile depolanmaz. İki karma eşleşmezse, işlem 400 (Hatalı İstek) hata koduyla başarısız olur. Hem ve x-ms-source-content-md5x-ms-source-content-crc64 üst bilgileri varsa, istek 400 (Hatalı İstek) ile başarısız olur.Bu üst bilgi 2019-02-02 ve sonraki sürümlerde desteklenir. |
x-ms-encryption-scope |
Opsiyonel. Kaynak içeriği şifrelemek için kullanılacak şifreleme kapsamını belirtir. Bu üst bilgi 2019-02-02 ve sonraki sürümlerde desteklenir. |
x-ms-lease-id:<ID> |
Blob etkin bir kiraya sahipse gereklidir. Etkin kirası olan bir blob üzerinde bu işlemi gerçekleştirmek için bu üst bilgi için geçerli kira kimliğini belirtin. |
x-ms-client-request-id |
Opsiyonel. Günlüğe kaydetme yapılandırıldığında günlüklere kaydedilen 1 kibibayt (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. azure blob depolama izleme. |
x-ms-file-request-intent |
Üst bilgi bir Azure dosya URL'siyse ve x-ms-copy-source üst bilgi bir OAuth belirteci belirtiyorsa x-ms-copy-source-authorization gereklidir. Kabul edilebilir değer backup. Bu üst bilgi, Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action veya Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action, x-ms-copy-source-authorization üst bilgisi kullanılarak yetkilendirilmiş kimliğe atanan RBAC ilkesine eklenmişse verilmesi gerektiğini belirtir. 2025-07-05 ve sonraki sürümler için kullanılabilir. |
İstek üst bilgileri (müşteri tarafından sağlanan şifreleme anahtarları)
2019-02-02 sürümünden itibaren, bir blobu müşteri tarafından sağlanan bir anahtarla şifreleme isteğinde aşağıdaki üst bilgiler belirtilebilir. Müşteri tarafından sağlanan bir anahtarla (ve karşılık gelen üst bilgi kümesiyle) şifreleme isteğe bağlıdır.
| İstek başlığı | Açıklama |
|---|---|
x-ms-encryption-key |
Gerekli. Base64 kodlu AES-256 şifreleme anahtarı. |
x-ms-encryption-key-sha256 |
Gerekli. Şifreleme anahtarının Base64 ile kodlanmış SHA256 karması. |
x-ms-encryption-algorithm: AES256 |
Gerekli. Şifreleme için kullanılacak algoritmayı belirtir. Bu başlığın değeri AES256 olmalıdır. |
İstek içeriği
Yok.
Numune isteği
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=block&blockid=AAAAAA%3D%3D HTTP/1.1
Request Headers:
x-ms-version: 2018-03-28
x-ms-date: Sat, 31 Mar 2018 14:37:35 GMT
Authorization: SharedKey myaccount:J4ma1VuFnlJ7yfk/Gu1GxzbfdJloYmBPWlfhZ/xn7GI=
Content-Length: 0
x-ms-copy-source: https://myaccount.blob.core.windows.net/mycontainer/myblob
x-ms-source-range: bytes=0-499
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 başlıkları
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
Örnek yanıt
Response Status:
HTTP/1.1 201 Created
Response Headers:
Transfer-Encoding: chunked
x-ms-content-crc64: 77uWZTolTHU
Date: Sat, 31 Mar 2018 23:47:09 GMT
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
İzin
Azure Depolama'da herhangi bir veri erişim işlemi çağrılırken yetkilendirme gereklidir. aşağıda açıklandığı gibi Put Block From URL işlemini yetkileyebilirsiniz.
Önemli
Microsoft, Azure Depolama'ya yönelik istekleri yetkilendirmek için Yönetilen kimliklerle Microsoft Entra Id kullanılmasını önerir. Microsoft Entra ID, Paylaşılan Anahtar yetkilendirmesine kıyasla üstün güvenlik ve kullanım kolaylığı sağlar.
- Microsoft Entra Id (önerilen)
-
paylaşılan erişim imzaları (SAS)
-
paylaşılan anahtar
Azure Depolama, blob verilerine yönelik istekleri yetkilendirmek için Microsoft Entra Id kullanılmasını destekler. Microsoft Entra Id ile azure rol tabanlı erişim denetimini (Azure RBAC) kullanarak bir güvenlik sorumlusuna izin vekleyebilirsiniz. Güvenlik sorumlusu bir kullanıcı, grup, uygulama hizmet sorumlusu veya Azure yönetilen kimliği olabilir. OAuth 2.0 belirtecini döndürmek için güvenlik sorumlusunun kimliği Microsoft Entra Id tarafından doğrulanır. Daha sonra belirteç, Blob hizmetine karşı bir isteği yetkilendirmek için kullanılabilir.
Microsoft Entra Id kullanarak yetkilendirme hakkında daha fazla bilgi edinmek için bkz.Microsoft Entra Id kullanarak bloblara erişimi yetkilendirme
İzinler
Aşağıda bir Microsoft Entra kullanıcısı, grubu, yönetilen kimliği veya hizmet sorumlusunun Put Block From URL işlemini çağırması için gereken RBAC eylemi ve bu eylemi içeren en az ayrıcalıklı yerleşik Azure RBAC rolü verilmiştir:
- Azure RBAC eylemini
: Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write En az ayrıcalıklı yerleşik rol: depolama blobu veri katkıda bulunanı
Azure RBAC kullanarak rol atama hakkında daha fazla bilgi edinmek için bkz. Blob verilerine erişim için Azure rolü atama.
Açıklamalar
Put Block From URL Gelecekte bir blok blobuna dahil edilmek üzere bir bloğu karşıya yükler. Bir blok blobu en fazla 50.000 blok içerebilir. Her blok farklı bir boyutta olabilir. ile Put Block From URL yüklenen bir blok için maksimum boyut 100 mebibayttır (MiB). Daha büyük bloklar (4.000 MiB'ye kadar) yüklemek için bkz.
2020-10-02 ve sonraki sürümlerde, kopyalama işleminin kaynağı için Microsoft Entra yetkilendirmesi desteklenir.
Bir blob aynı anda en fazla 100.000 işlenmemiş bloğa sahip olabilir. Bu üst sınır aşılırsa, hizmet 409 (RequestEntityTooLargeBlockCountExceedsLimit) durum kodunu döndürür.
Aşağıdaki tabloda, hizmet sürümüne göre izin verilen en büyük blok ve blob boyutları açıklanmaktadır:
| Hizmet sürümü | Maksimum blok boyutu (üzerinden)Put Block From URL |
En büyük blob boyutu (aracılığıyla Put Block List) |
Tek yazma işlemiyle en fazla blob boyutu (aracılığıyla Put Blob From URL) |
|---|---|---|---|
| Sürüm 2020-04-08 ve üzeri | 4.000 MiB | Yaklaşık 190,7 tebibayt (TiB) (4.000 MiB × 50.000 blok) | 5.000 MiB |
| 2020-04-08'den önceki sürümler | 100 MiB | Yaklaşık 4,75 TiB (100 MiB × 50.000 blok) | 256 Milyon |
Bir blok kümesini karşıya yükledikten sonra, Blok Listesi Koy işlemini çağırarak bu kümeden sunucuda blob oluşturabilir veya güncelleştirebilirsiniz. Kümedeki her blok, bu blob içinde benzersiz olan bir blok kimliğiyle tanımlanır. Blok kimliklerinin kapsamı belirli bir blob olarak belirlenir, bu nedenle farklı bloblar aynı kimliklere sahip bloklara sahip olabilir.
Henüz var olmayan bir blobu çağırırsanız Put Block From URL , içerik uzunluğu 0 olan yeni bir blok blobu oluşturulur. Seçenek belirtilirse List Blobs bu blob işlem tarafından include=uncommittedblobs numaralandırılır. Karşıya yüklediğiniz blok veya bloklar, siz yeni blobu çağırana Put Block List kadar işlenmez. Bu şekilde oluşturulan bir blob bir hafta boyunca sunucuda tutulur. Bu süre içinde bloba daha fazla blok eklemediyseniz veya blok işlemediyseniz, blob çöp olarak toplanır.
İşlemle Put Block From URL başarıyla karşıya yüklenen bir blok, ile Put Block Listişlenene kadar blobun bir parçası haline gelmez. Yeni veya güncelleştirilmiş blobu işlemek için çağrılmadan önce Put Block List , Blob Al'a yapılan tüm çağrılar, kaydedilmemiş bloğun eklenmesi olmadan blob içeriğini döndürür.
Henüz işlenmemiş başka bir blokla aynı blok kimliğine sahip bir blok yüklerseniz, bu kimliğe sahip son yüklenen blok bir sonraki başarılı Put Block List işlemde işlenir.
Çağrıldıktan sonra Put Block List , blok listesinde belirtilen tüm işlenmemiş bloklar yeni blobun bir parçası olarak işlenir. Blob için engelleme listesinde belirtilmeyen işlenmemiş bloklar çöp olarak toplanır ve Blob Depolama'dan kaldırılır. Son başarılı Put Block From URL işlemi izleyen bir hafta içinde aynı bloba veya Put Block List blob üzerinde başarılı bir çağrı Put Block From URL yoksa, işlenmemiş bloklar da çöp olarak toplanır.
Blob üzerinde Blob Koy çağrılırsa, işlenmemiş bloklar çöp olarak toplanır.
Blobun etkin bir kirası varsa, istemcinin bloba bir blok yazma isteğinde geçerli bir kira kimliği belirtmesi gerekir. İstemci bir kira kimliği belirtmezse veya geçersiz bir kira kimliği belirtirse, Blob Depolama 412 (Önkoşul Başarısız Oldu) durum kodunu döndürür. İstemci bir kira kimliği belirtirse ancak blobun etkin bir kirası yoksa, Blob Depolama 412 (Önkoşul Başarısız Oldu) durum kodunu da döndürür.
Belirtilen blob için tüm blok kimlikleri aynı uzunlukta olmalıdır. Bir blok, mevcut işlenmemiş blokların blok kimliklerinden farklı uzunlukta bir blok kimliğiyle karşıya yüklenirse, hizmet hata yanıt kodu 400 (Hatalı İstek) döndürür.
Çağırma Put Block From URL , mevcut bir blobun son değiştirilme zamanını güncelleştirmez.
Bir sayfa blobunu çağırmak Put Block From URL bir hata döndürür.
'Arşiv' blobunu çağırmak Put Block From URL bir hata döndürür ve bunu bir hot veya cool blob üzerinde çağırmak blob katmanını değiştirmez.
Faturalandırma
Fiyatlandırma istekleri, Blob Depolama API'lerini kullanan istemcilerden, doğrudan Blob Depolama REST API'si aracılığıyla veya bir Azure Depolama istemci kitaplığından kaynaklanabilir. Bu istekler işlem başına ücret tahakkuk eder. İşlem türü, hesabın ücretlendirilma şeklini etkiler. Örneğin, okuma işlemleri yazma işlemlerinden farklı bir faturalama kategorisine tahakkuk eder. Aşağıdaki tabloda, depolama hesabı türüne göre Put Block From URL istekleri için faturalama kategorisi gösterilmektedir:
| Operasyon | Depolama hesabı türü | Faturalama kategorisi |
|---|---|---|
| URL'den Blok Koy (hedef hesap1) | Premium blok blobu Standart Genel Amaçlı Versiyon 2 Standart Genel Amaçlı v1 |
Yazma işlemleri |
| URL'den Blok Koy (kaynak hesap2) | Premium blok blobu Standart Genel Amaçlı Versiyon 2 Standart Genel Amaçlı v1 |
Okuma işlemleri |
1Hedef hesap, yazma işlemini başlatmak için bir işlem için ücretlendirilir.
2Kaynak hesap, kaynak nesneye yapılan her okuma isteği için bir işlem gerçekleştirir.
Ayrıca, kaynak ve hedef hesaplar farklı bölgelerde bulunuyorsa (örneğin, ABD Kuzey ve ABD Güney), isteği aktarmak için kullanılan bant genişliği kaynak depolama hesabına çıkış olarak ücretlendirilir. Aynı bölgedeki hesaplar arasında çıkış ücretsizdir.
Belirtilen faturalama kategorilerinin fiyatlandırması hakkında bilgi edinmek için Azure Blob Depolama Fiyatlandırması'na bakın.
Ayrıca bakınız
- azure depolama istekleri yetkilendirmeyi
- Durum ve hata kodları
- Blob hizmeti hata kodları
- Blob hizmeti işlemleri için zaman aşımlarını ayarlama