REST API kullanarak Azure Data Lake Storage 1. Nesil'de dosya sistemi işlemleri
Bu makalede, Azure Data Lake Storage 1. Nesil'de dosya sistemi işlemlerini gerçekleştirmek için WebHDFS REST API'lerini ve Data Lake Storage 1. Nesil REST API'lerini kullanmayı öğreneceksiniz. REST API kullanarak Data Lake Storage 1. Nesil hesap yönetimi işlemlerini gerçekleştirme yönergeleri için bkz. REST API kullanarak Data Lake Storage 1. Nesil üzerinde hesap yönetimi işlemleri.
Önkoşullar
Bir Azure aboneliği. Bkz. Azure ücretsiz deneme sürümü edinme.
1. Nesil hesabını Azure Data Lake Storage. Azure portal kullanarak Azure Data Lake Storage 1. Nesil'i kullanmaya başlama başlığındaki yönergeleri izleyin.
cURL. Bu makalede, bir Data Lake Storage 1. Nesil hesabında REST API çağrılarının nasıl yapılacağını göstermek için cURL kullanılır.
Microsoft Entra ID kullanarak kimlik doğrulaması Nasıl yaparım??
Microsoft Entra ID kullanarak kimlik doğrulaması yapmak için iki yaklaşım kullanabilirsiniz.
- Uygulamanız için son kullanıcı kimlik doğrulaması (etkileşimli) için bkz. .NET SDK kullanarak Data Lake Storage 1. Nesil ile son kullanıcı kimlik doğrulaması.
- Uygulamanız için hizmet-hizmet kimlik doğrulaması (etkileşimli olmayan) için bkz. .NET SDK kullanarak Data Lake Storage 1. Nesil ile hizmet-hizmet kimlik doğrulaması.
Klasör oluşturma
Bu işlem, burada tanımlanan WebHDFS REST API çağrısını temel alır.
Aşağıdaki cURL komutunu kullanın. yourstorename değerini Data Lake Storage 1. Nesil hesap adınızla değiştirin<.>
curl -i -X PUT -H "Authorization: Bearer <REDACTED>" -d "" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/?op=MKDIRS'
Yukarıdaki komutta, <REDACTED
> öğesini daha önce aldığınız yetkilendirme belirteciyle değiştirin. Bu komut, Data Lake Storage 1. Nesil hesabınızın kök klasörünün altında mytempdir adlı bir dizin oluşturur.
İşlem başarıyla tamamlanırsa aşağıdaki kod parçacığına benzer bir yanıt görmeniz gerekir:
{"boolean":true}
Klasörleri listeleme
Bu işlem, burada tanımlanan WebHDFS REST API çağrısını temel alır.
Aşağıdaki cURL komutunu kullanın. yourstorename değerini Data Lake Storage 1. Nesil hesap adınızla değiştirin<.>
curl -i -X GET -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/?op=LISTSTATUS'
Yukarıdaki komutta, <REDACTED
> öğesini daha önce aldığınız yetkilendirme belirteciyle değiştirin.
İşlem başarıyla tamamlanırsa aşağıdaki kod parçacığına benzer bir yanıt görmeniz gerekir:
{
"FileStatuses": {
"FileStatus": [{
"length": 0,
"pathSuffix": "mytempdir",
"type": "DIRECTORY",
"blockSize": 268435456,
"accessTime": 1458324719512,
"modificationTime": 1458324719512,
"replication": 0,
"permission": "777",
"owner": "<GUID>",
"group": "<GUID>"
}]
}
}
Verileri karşıya yükleme
Bu işlem, burada tanımlanan WebHDFS REST API çağrısını temel alır.
Aşağıdaki cURL komutunu kullanın. yourstorename değerini Data Lake Storage 1. Nesil hesap adınızla değiştirin<.>
curl -i -X PUT -L -T 'C:\temp\list.txt' -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/list.txt?op=CREATE'
Yukarıdaki söz diziminde -T parametresi karşıya yüklediğiniz dosyanın konumudur.
Çıkış aşağıdaki kod parçacığına benzer:
HTTP/1.1 307 Temporary Redirect
...
Location: https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/list.txt?op=CREATE&write=true
...
Content-Length: 0
HTTP/1.1 100 Continue
HTTP/1.1 201 Created
...
Verileri okuma
Bu işlem, burada tanımlanan WebHDFS REST API çağrısını temel alır.
Data Lake Storage 1. Nesil hesabından veri okumak iki adımlı bir işlemdir.
- İlk olarak
https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN
uç noktası için bir GET isteği gönderirsiniz. Bu çağrı, sonraki GET isteğini göndermek için bir konum döndürür. - Ardından
https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN&read=true
uç noktası için GET isteğini gönderirsiniz. Bu çağrı, dosyanın içeriğini görüntüler.
Ancak giriş parametrelerinde birinci ve ikinci adım arasında fark olmadığından, ilk isteği göndermek için -L
parametresini kullanabilirsiniz.
-L
seçeneği, temelde iki isteği tek istekte birleştirir ve cURL'nin isteği yeni konumda yeniden gerçekleştirmesini sağlar. Son olarak, aşağıdaki kod parçacığında gösterildiği gibi, tüm istek çağrılarının çıktısı görüntülenir. yourstorename değerini Data Lake Storage 1. Nesil hesap adınızla değiştirin<.>
curl -i -L GET -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN'
Aşağıdaki kod parçacığına benzer bir çıktı görmeniz gerekir:
HTTP/1.1 307 Temporary Redirect
...
Location: https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/somerandomfile.txt?op=OPEN&read=true
...
HTTP/1.1 200 OK
...
Hello, Data Lake Store user!
Dosyayı yeniden adlandırma
Bu işlem, burada tanımlanan WebHDFS REST API çağrısını temel alır.
Bir dosyayı yeniden adlandırmak için aşağıdaki cURL komutunu kullanın. yourstorename değerini Data Lake Storage 1. Nesil hesap adınızla değiştirin<.>
curl -i -X PUT -H "Authorization: Bearer <REDACTED>" -d "" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=RENAME&destination=/mytempdir/myinputfile1.txt'
Aşağıdaki kod parçacığına benzer bir çıktı görmeniz gerekir:
HTTP/1.1 200 OK
...
{"boolean":true}
Dosyayı silme
Bu işlem, burada tanımlanan WebHDFS REST API çağrısını temel alır.
Bir dosyayı silmek için aşağıdaki cURL komutunu kullanın. yourstorename değerini Data Lake Storage 1. Nesil hesap adınızla değiştirin<.>
curl -i -X DELETE -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile1.txt?op=DELETE'
Aşağıdaki gibi bir çıktı görmeniz gerekir:
HTTP/1.1 200 OK
...
{"boolean":true}