Partilhar via


Operações do sistema de arquivos no Azure Data Lake Storage Gen1 usando a API REST

Neste artigo, você aprenderá a usar APIs REST WebHDFS e APIs REST do Data Lake Storage Gen1 para executar operações do sistema de arquivos no Azure Data Lake Storage Gen1. Para obter instruções sobre como executar operações de gerenciamento de conta no Data Lake Storage Gen1 usando a API REST, consulte Operações de gerenciamento de conta no Data Lake Storage Gen1 usando a API REST.

Pré-requisitos

Como faço para autenticar usando o Microsoft Entra ID?

Você pode usar duas abordagens para autenticar usando o Microsoft Entra ID.

Criar pastas

Esta operação é baseada na chamada WebHDFS REST API definida aqui.

Utilize o seguinte comando cURL. Substitua <yourstorename> pelo nome da conta do Data Lake Storage Gen1.

curl -i -X PUT -H "Authorization: Bearer <REDACTED>" -d "" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/?op=MKDIRS'

No comando anterior, substitua <REDACTED> pelo token de autorização recuperado anteriormente. Este comando cria um diretório chamado mytempdir na pasta raiz da sua conta do Data Lake Storage Gen1.

Se a operação for concluída com êxito, você verá uma resposta como o seguinte trecho:

{"boolean":true}

Listar pastas

Esta operação é baseada na chamada WebHDFS REST API definida aqui.

Utilize o seguinte comando cURL. Substitua <yourstorename> pelo nome da conta do Data Lake Storage Gen1.

curl -i -X GET -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/?op=LISTSTATUS'

No comando anterior, substitua <REDACTED> pelo token de autorização recuperado anteriormente.

Se a operação for concluída com êxito, você verá uma resposta como o seguinte trecho:

{
"FileStatuses": {
    "FileStatus": [{
        "length": 0,
        "pathSuffix": "mytempdir",
        "type": "DIRECTORY",
        "blockSize": 268435456,
        "accessTime": 1458324719512,
        "modificationTime": 1458324719512,
        "replication": 0,
        "permission": "777",
        "owner": "<GUID>",
        "group": "<GUID>"
    }]
}
}

Carregar dados

Esta operação é baseada na chamada WebHDFS REST API definida aqui.

Utilize o seguinte comando cURL. Substitua <yourstorename> pelo nome da conta do Data Lake Storage Gen1.

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'

Na sintaxe anterior -T parâmetro é o local do arquivo que você está carregando.

A saída é semelhante ao seguinte trecho:

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
...

Ler dados

Esta operação é baseada na chamada WebHDFS REST API definida aqui.

A leitura de dados de uma conta do Data Lake Storage Gen1 é um processo de duas etapas.

  • Primeiro, envia uma solicitação GET para o ponto de extremidade https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN. Esta chamada retorna um local para o qual enviar a próxima solicitação GET.
  • Em seguida, você envia a solicitação GET em relação ao ponto de extremidade https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN&read=true. Esta chamada exibe o conteúdo do arquivo.

No entanto, como não há diferença nos parâmetros de entrada entre a primeira e a segunda etapa, você pode usar o -L parâmetro para enviar a primeira solicitação. -L opção essencialmente combina duas solicitações em uma e faz cURL refazer a solicitação no novo local. Finalmente, a saída de todas as chamadas de solicitação é exibida, como mostrado no trecho a seguir. Substitua <yourstorename> pelo nome da conta do Data Lake Storage Gen1.

curl -i -L GET -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN'

Você deverá ver uma saída semelhante ao seguinte trecho:

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!

Renomear um arquivo

Esta operação é baseada na chamada WebHDFS REST API definida aqui.

Use o seguinte comando cURL para renomear um arquivo. Substitua <yourstorename> pelo nome da conta do Data Lake Storage Gen1.

curl -i -X PUT -H "Authorization: Bearer <REDACTED>" -d "" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=RENAME&destination=/mytempdir/myinputfile1.txt'

Você verá uma saída semelhante ao seguinte trecho:

HTTP/1.1 200 OK
...

{"boolean":true}

Eliminar um ficheiro

Esta operação é baseada na chamada WebHDFS REST API definida aqui.

Use o seguinte comando cURL para excluir um arquivo. Substitua <yourstorename> pelo nome da conta do Data Lake Storage Gen1.

curl -i -X DELETE -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile1.txt?op=DELETE'

Verá um resultado como o seguinte:

HTTP/1.1 200 OK
...

{"boolean":true}

Próximos passos

Ver também