Path - Update
Acrescentar Dados | Remover Dados | Definir Propriedades | Definir Controlo de Acesso
Carrega dados a acrescentar a um ficheiro, remove (escreve) dados carregados anteriormente para um ficheiro, define as propriedades de um ficheiro ou diretório ou define o controlo de acesso de um ficheiro ou diretório. Os dados só podem ser anexados a um ficheiro. As escritas simultâneas no mesmo ficheiro com vários clientes não são suportadas. Esta operação suporta pedidos HTTP condicionais. Para obter mais informações, veja Especificar Cabeçalhos Condicionais para Operações do Serviço Blob.
PATCH https://{accountName}.{dnsSuffix}/{filesystem}/{path}?action={action}
PATCH https://{accountName}.{dnsSuffix}/{filesystem}/{path}?action={action}&position={position}&retainUncommittedData={retainUncommittedData}&close={close}&mode={mode}&maxRecords={maxRecords}&forceFlag={forceFlag}&continuation={continuation}&flush={flush}&timeout={timeout}
Parâmetros do URI
Name | Em | Necessário | Tipo | Description |
---|---|---|---|---|
account
|
path | True |
string |
O nome da conta de Armazenamento do Azure. |
dns
|
path | True |
string |
O sufixo DNS para o ponto final Azure Data Lake Storage. |
filesystem
|
path | True |
string |
O identificador do sistema de ficheiros. Padrão Regex: |
path
|
path | True |
string |
O caminho do ficheiro ou diretório. |
action
|
query | True |
A ação tem de ser "anexar" para carregar dados para serem anexados a um ficheiro, "flush" para remover dados carregados anteriormente para um ficheiro, "setProperties" para definir as propriedades de um ficheiro ou diretório ou "setAccessControl" para definir o proprietário, grupo, permissões ou lista de controlo de acesso para um ficheiro ou diretório ou "setAccessControlRecursive" para definir a lista de controlo de acesso de um diretório de forma recursiva. Tenha em atenção que o Espaço de Nomes Hierárquico tem de estar ativado para a conta para poder utilizar o controlo de acesso. Tenha também em atenção que a Lista de Controlo de Acesso (ACL) inclui permissões para o proprietário, o grupo proprietário e outros, pelo que os cabeçalhos de pedido x-ms-permissions e x-ms-acl são mutuamente exclusivos. |
|
close
|
query |
boolean |
Os Eventos de Armazenamento do Azure permitem que as aplicações recebam notificações quando os ficheiros são alterados. Quando os Eventos de Armazenamento do Azure estão ativados, é gerado um evento de alteração de ficheiro. Este evento tem uma propriedade que indica se esta é a alteração final para distinguir a diferença entre uma descarga intermédia para um fluxo de ficheiros e o fecho final de um fluxo de ficheiros. O parâmetro fechar consulta só é válido quando a ação é "flush" e as notificações de alteração estão ativadas. Se o valor de fechar for "verdadeiro" e a operação de remoção da cache for concluída com êxito, o serviço emitirá uma notificação de alteração de ficheiro com uma propriedade que indica que esta é a atualização final (o fluxo de ficheiros foi fechado). Se for apresentada uma notificação de alteração a indicar que o ficheiro foi alterado, será apresentada uma notificação de alteração. A predefinição é false. Este parâmetro de consulta está definido como verdadeiro pelo controlador do Hadoop ABFS para indicar que o fluxo de ficheiros foi fechado." |
|
continuation
|
query |
string |
Opcional e válido apenas para a operação "setAccessControlRecursive". O número de caminhos processados com cada invocação é limitado. Se o número de caminhos a processar exceder este limite, é devolvido um token de continuação no cabeçalho de resposta x-ms-continuation. Quando um token de continuação é devolvido na resposta, tem de ser codificado por percentagem e especificado numa invocação subsequente de setAccessControlRecursive operation. |
|
flush
|
query |
boolean |
Válido apenas para chamadas de acréscimo. Este parâmetro permite que o autor da chamada seja descarregado durante uma chamada de acréscimo. O valor predefinido é "false", se "verdadeiro" os dados forem descarregados com a chamada de acréscimo. Tenha em atenção que ao utilizar flush=true, os seguintes cabeçalhos não são suportados – "x-ms-cache-control", "x-ms-content-encoding", "x-ms-content-type", "x-ms-content-language", "x-ms-content-md5", "x-ms-content-disposition". Para definir estes cabeçalhos durante a descarga, utilize action=flush |
|
force
|
query |
boolean |
Opcional e válido apenas para a operação "setAccessControlRecursive". Se esta operação for "falsa", a operação terminará rapidamente ao deparar-se com erros de utilizador (4XX). Se for "verdadeiro", a aPI ignorará os erros do utilizador e prosseguirá com a operação noutras sub entidades do diretório. O estado detalhado dos erros do utilizador será devolvido na resposta para qualquer um dos cenários. O token de continuação só será devolvido quando forceFlag for "verdadeiro" em caso de erros do utilizador. O valor predefinido para forceFlag é falso. |
|
max
|
query |
integer int32 |
Opcional e válido apenas para a operação "setAccessControlRecursive". Especifica o número máximo de ficheiros ou diretórios nos quais a alteração da acl será aplicada. Se for omitido ou superior a 2000, o pedido processará até 2000 itens |
|
mode
|
query |
string |
Opcional. Válido e necessário para a operação "setAccessControlRecursive". O modo "definir" define os direitos de controlo de acesso POSIX em ficheiros e diretórios, "modificar" modifica um ou mais direitos de controlo de acesso POSIX que existem anteriormente em ficheiros e diretórios, "remover" remove um ou mais direitos de controlo de acesso POSIX que estavam presentes anteriormente em ficheiros e diretórios |
|
position
|
query |
integer int64 |
Este parâmetro permite que o autor da chamada carregue dados em paralelo e controle a ordem pela qual são anexados ao ficheiro. É necessário ao carregar dados para serem anexados ao ficheiro e ao remover dados carregados anteriormente para o ficheiro. O valor tem de ser a posição onde os dados devem ser acrescentados. Os dados carregados não são imediatamente descarregados ou escritos no ficheiro. Para remover a cache, os dados carregados anteriormente têm de ser contíguos, o parâmetro de posição tem de ser especificado e igual ao comprimento do ficheiro depois de todos os dados terem sido escritos e não pode haver um corpo de entidade de pedido incluído no pedido. |
|
retain
|
query |
boolean |
Válido apenas para operações de descarregamento. Se for "verdadeiro", os dados não consolidados serão retidos após a conclusão da operação de remoção de cache; caso contrário, os dados não comprometidos são eliminados após a operação de remoção da cache. A predefinição é false. Os dados em deslocamentos inferiores à posição especificada são escritos no ficheiro quando a remoção é concluída com êxito, mas este parâmetro opcional permite que os dados após a posição de remoção da cache sejam mantidos para uma operação de remoção futura. |
|
timeout
|
query |
integer int32 |
Um valor de tempo limite de operação opcional em segundos. O período começa quando o pedido é recebido pelo serviço. Se o valor de tempo limite terminar antes da conclusão da operação, a operação falhará. |
Cabeçalho do Pedido
Media Types: "application/octet-stream", "text/plain"
Name | Necessário | Tipo | Description |
---|---|---|---|
Content-Length |
integer int64 |
Necessário para "Acrescentar Dados" e "Remover Dados". Tem de ser 0 para "Flush Data". Tem de ter a duração do conteúdo do pedido em bytes para "Acrescentar Dados". |
|
Content-MD5 |
string |
Opcional. Um hash MD5 do conteúdo do pedido. Este cabeçalho é válido nas operações "Acrescentar" e "Remover". Este hash é utilizado para verificar a integridade do conteúdo do pedido durante o transporte. Quando este cabeçalho é especificado, o serviço de armazenamento compara o hash do conteúdo que chegou com este valor do cabeçalho. Se os dois hashes não corresponderem, a operação falhará com o código de erro 400 (Pedido Incorreto). Tenha em atenção que este hash MD5 não é armazenado com o ficheiro. Este cabeçalho está associado ao conteúdo do pedido e não ao conteúdo armazenado do próprio ficheiro. |
|
x-ms-lease-id |
string |
O ID de concessão tem de ser especificado se existir uma concessão ativa. Inválido para operações "setAccessControlRecursive". Padrão Regex: |
|
x-ms-cache-control |
string |
Opcional e apenas válido para operações de descarregamento e definição de propriedades. O serviço armazena este valor e inclui-o no cabeçalho de resposta "Cache-Control" para operações "Ler Ficheiro". |
|
x-ms-content-type |
string |
Opcional e apenas válido para operações de descarregamento e definição de propriedades. O serviço armazena este valor e inclui-o no cabeçalho de resposta "Tipo de Conteúdo" para as operações "Ler Ficheiro". |
|
x-ms-content-disposition |
string |
Opcional e apenas válido para operações de descarregamento e definição de propriedades. O serviço armazena este valor e inclui-o no cabeçalho de resposta "Content-Disposition" para operações "Ler Ficheiro". |
|
x-ms-content-encoding |
string |
Opcional e apenas válido para operações de descarregamento e definição de propriedades. O serviço armazena este valor e inclui-o no cabeçalho de resposta "Codificação de Conteúdo" para operações "Ler Ficheiro". |
|
x-ms-content-language |
string |
Opcional e apenas válido para operações de descarregamento e definição de propriedades. O serviço armazena este valor e inclui-o no cabeçalho de resposta "Content-Language" para operações "Ler Ficheiro". |
|
x-ms-content-md5 |
string |
Opcional e apenas válido para operações de "Propriedades de Descarregamento e Definir". O serviço armazena este valor e inclui-o no cabeçalho de resposta "Content-Md5" para as operações "Ler e Obter Propriedades". Se esta propriedade não for especificada no pedido, a propriedade será desmarcada para o ficheiro. As chamadas subsequentes para "Propriedades de Leitura e Obtenção" não devolverão esta propriedade, a menos que seja definida explicitamente nesse ficheiro novamente. |
|
x-ms-properties |
string |
Opcional. Propriedades definidas pelo utilizador a serem armazenadas com o ficheiro ou diretório, no formato de uma lista separada por vírgulas de pares de nome e valor "n1=v1, n2=v2, ...", em que cada valor é uma cadeia codificada base64. Tenha em atenção que a cadeia só pode conter carateres ASCII no conjunto de carateres ISO-8859-1. Válido apenas para a operação setProperties. Se o ficheiro ou diretório existir, quaisquer propriedades não incluídas na lista serão removidas. Todas as propriedades serão removidas se o cabeçalho for omitido. Para intercalar propriedades novas e existentes, obtenha primeiro todas as propriedades existentes e a Etiqueta E atual e, em seguida, faça um pedido condicional com a Etiqueta E e inclua valores para todas as propriedades. |
|
x-ms-owner |
string |
Opcional e válido apenas para a operação setAccessControl. Define o proprietário do ficheiro ou diretório. |
|
x-ms-group |
string |
Opcional e válido apenas para a operação setAccessControl. Define o grupo proprietário do ficheiro ou diretório. |
|
x-ms-permissions |
string |
Opcional e válido apenas se o Espaço de Nomes Hierárquico estiver ativado para a conta. Define permissões de acesso POSIX para o proprietário do ficheiro, o grupo proprietário do ficheiro e outros. Pode ser concedida permissão de leitura (4), escrita (2) ou execução (1) a cada classe. Tanto a notação octal simbólica (rwxrw-rw-) como a notação octal de 4 dígitos (por exemplo, 0766) são suportadas. O sticky bit também é suportado e, em notação simbólica, é representado pela letra t ou T no local do caráter final, consoante o bit de execução para a categoria outras esteja definido ou desativado, respetivamente (por exemplo, rwxrw-rw- com sticky bit é representado como rwxrw-rwT. Um rwxrw-rwx com sticky bit é representado como rwxrw-rwt), a ausência de t ou T indica que sticky bit não está definido. Na notação octal de 4 dígitos, é representada por 1º dígito (por exemplo, 1766 representa rwxrw-rw- com sticky bit e 0766 representa rwxrw-rw- sem sticky bit). Inválido em conjunto com x-ms-acl. |
|
x-ms-acl |
string |
Opcional e válido apenas para as operações setAccessControl e setAccessControlRecursive. Necessário para a operação setAccessControlRecursive. Define direitos de controlo de acesso POSIX em ficheiros e diretórios. O valor é uma lista separada por vírgulas de entradas de controlo de acesso que substitui totalmente a lista de controlo de acesso (ACL) existente no caso do modo setAccessControl e "set" de setAccessControlRecursive. O modo "modificar" de setAccessControlRecursive atualiza a ACLS pré-existente. Cada entrada de controlo de acesso (ACE) consiste num âmbito, um tipo, um identificador de utilizador ou grupo e permissões no formato "[scope:][type]:[id]:[permissions]". O âmbito tem de ser "predefinido" para indicar que o ACE pertence à ACL predefinida de um diretório; caso contrário, o âmbito é implícito e o ACE pertence à ACL de acesso. Existem quatro tipos ACE: "utilizador" concede direitos ao proprietário ou a um utilizador nomeado, "grupo" concede direitos ao grupo proprietário ou a um grupo nomeado, "mask" restringe os direitos concedidos aos utilizadores nomeados e aos membros dos grupos e "outro" concede direitos a todos os utilizadores que não se encontrem em nenhuma das outras entradas. O identificador de utilizador ou grupo é omitido para entradas do tipo "mask" e "other". O identificador de utilizador ou grupo também é omitido para o proprietário e o grupo proprietário. O campo de permissão é uma sequência de 3 carateres em que o primeiro caráter é "r" para conceder acesso de leitura, o segundo caráter é "w" para conceder acesso de escrita e o terceiro caráter é "x" para conceder permissão de execução. Se o acesso não for concedido, o caráter "-" é utilizado para indicar que a permissão é negada. Por exemplo, a seguinte ACL concede direitos de leitura, escrita e execução ao proprietário do ficheiro e john.doe@contoso, o direito de leitura ao grupo proprietário e nada para todos os outros utilizadores: "user::rwx,user:john.doe@contoso:rwx,group::r--,other::---,mask=rwx". Inválido em conjunto com x-ms-permissions. O modo "remover" de setAccessControlRecursive remove as ACLs pré-existentes e não deve conter permissões na lista de controlo de acesso especificada: "user:john.doe@contoso:, mask:". O modo "set" de setAccessControlRecursive define as ACLs que substituem as ACLs pré-existentes do âmbito especificado e têm de conter as três - utilizador proprietário, grupo proprietário e outras informações se o âmbito de acesso estiver a ser definido ou se um dos utilizadores proprietário, grupo proprietário ou outro estiver a ser definido no âmbito predefinido. Os modos "set" e "modify" de setAccessControlRecursive têm de conter permissões como parte da lista de controlo de acesso. |
|
If-Match |
string |
Opcional para Remover Dados, Definir Controlo de Acesso e Definir Propriedades, mas inválido para Acrescentar Dados e Definir Controlo de Acesso Recursivo. Um valor ETag. Especifique este cabeçalho para executar a operação apenas se a ETag do recurso corresponder ao valor especificado. A ETag tem de ser especificada entre aspas. |
|
If-None-Match |
string |
Opcional para Remover Dados, Definir Controlo de Acesso e Definir Propriedades, mas inválido para Acrescentar Dados e Definir Controlo de Acesso Recursivo. Um valor ETag ou o valor de caráter universal especial ("*"). Especifique este cabeçalho para executar a operação apenas se a ETag do recurso não corresponder ao valor especificado. A ETag tem de ser especificada entre aspas. |
|
If-Modified-Since |
string |
Opcional para Remover Dados e Definir Propriedades, mas inválido para Acrescentar Dados e Definir Controlo de Acesso Recursivo. Um valor de data e hora. Especifique este cabeçalho para executar a operação apenas se o recurso tiver sido modificado desde a data e hora especificadas. |
|
If-Unmodified-Since |
string |
Opcional para Remover Dados e Definir Propriedades, mas inválido para Acrescentar Dados e Definir Controlo de Acesso Recursivo. Um valor de data e hora. Especifique este cabeçalho para executar a operação apenas se o recurso não tiver sido modificado desde a data e hora especificadas. |
|
x-ms-encryption-key |
string |
Opcional. A chave de encriptação AES-256 codificada com Base64. |
|
x-ms-encryption-key-sha256 |
string |
Opcional. O hash SHA256 codificado com Base64 da chave de encriptação. |
|
x-ms-encryption-algorithm: AES256 |
string |
Opcional. Especifica o algoritmo a utilizar para encriptação. O valor deste cabeçalho tem de ser AES256. |
|
x-ms-lease-action | True |
A partir da versão 2020-08-04 em operações de acréscimo e descarga. O acréscimo suporta a ação "adquirir", "renovação automática" e "adquirir versão". Se "adquirir", adquirirá a concessão. Se "renovação automática", renovará a concessão. Se "acquire-release" adquirir & concluir a operação & libertar a concessão assim que a operação estiver concluída. A ação "Libertar" só é suportada na operação de remoção da cache. Se for "verdadeiro", libertará a concessão no ficheiro com as informações de ID de concessão do cabeçalho x-ms-lease-id. |
|
x-ms-lease-duration |
integer int32 |
A duração da concessão é necessária para adquirir uma concessão e especifica a duração da concessão em segundos. A duração da concessão tem de estar entre 15 e 60 segundos ou -1 para concessão infinita. |
|
x-ms-proposed-lease-id |
string |
Necessário quando "x-ms-lease-action" é "adquirir" ou "alterar". Uma concessão será adquirida com este ID de concessão se a operação for bem-sucedida. Padrão Regex: |
|
x-ms-client-request-id |
string |
Um UUID registado nos registos de análise para resolução de problemas e correlação. Padrão Regex: |
|
x-ms-date |
string |
Especifica a Hora Universal Coordenada (UTC) do pedido. Isto é necessário ao utilizar a autorização de chave partilhada. |
|
x-ms-version |
string |
Especifica a versão do protocolo REST utilizada para processar o pedido. Isto é necessário ao utilizar a autorização de chave partilhada. |
Corpo do Pedido
Media Types: "application/octet-stream", "text/plain"
Name | Tipo | Description |
---|---|---|
requestBody |
object |
Válido apenas para operações de acréscimo. Os dados a carregar e anexar ao ficheiro. |
Respostas
Name | Tipo | Description |
---|---|---|
200 OK |
Os dados foram descarregados (escritos) para o ficheiro ou as propriedades foram definidas com êxito. O corpo da resposta é opcional e é válido apenas para "SetAccessControlRecursive" Cabeçalhos
|
|
202 Accepted |
Os dados carregados foram aceites. Cabeçalhos
|
|
Other Status Codes |
Ocorreu um erro. As possíveis cadeias de estado HTTP, código e mensagem estão listadas abaixo:
Cabeçalhos
|
Definições
Name | Description |
---|---|
Acl |
|
Data |
|
Error |
O objeto de resposta de erro do serviço. |
Path |
A partir da versão 2020-08-04 em operações de acréscimo e descarga. O acréscimo suporta a ação "adquirir", "renovação automática" e "adquirir versão". Se "adquirir", adquirirá a concessão. Se "renovação automática", renovará a concessão. Se "acquire-release" adquirir & concluir a operação & libertar a concessão assim que a operação estiver concluída. A ação "Libertar" só é suportada na operação de remoção da cache. Se for "verdadeiro", libertará a concessão no ficheiro com as informações de ID de concessão do cabeçalho x-ms-lease-id. |
Path |
A ação tem de ser "anexar" para carregar dados para serem anexados a um ficheiro, "flush" para remover dados carregados anteriormente para um ficheiro, "setProperties" para definir as propriedades de um ficheiro ou diretório ou "setAccessControl" para definir o proprietário, grupo, permissões ou lista de controlo de acesso para um ficheiro ou diretório ou "setAccessControlRecursive" para definir a lista de controlo de acesso de um diretório de forma recursiva. Tenha em atenção que o Espaço de Nomes Hierárquico tem de estar ativado para a conta para poder utilizar o controlo de acesso. Tenha também em atenção que a Lista de Controlo de Acesso (ACL) inclui permissões para o proprietário, o grupo proprietário e outros, pelo que os cabeçalhos de pedido x-ms-permissions e x-ms-acl são mutuamente exclusivos. |
Set |
AclFailedEntryList
Name | Tipo | Description |
---|---|---|
errorMessage |
string |
|
name |
string |
|
type |
string |
DataLakeStorageError
Name | Tipo | Description |
---|---|---|
error |
O objeto de resposta de erro do serviço. |
Error
O objeto de resposta de erro do serviço.
Name | Tipo | Description |
---|---|---|
code |
string |
O código de erro do serviço. |
message |
string |
A mensagem de erro do serviço. |
PathLeaseAction
A partir da versão 2020-08-04 em operações de acréscimo e descarga. O acréscimo suporta a ação "adquirir", "renovação automática" e "adquirir versão". Se "adquirir", adquirirá a concessão. Se "renovação automática", renovará a concessão. Se "acquire-release" adquirir & concluir a operação & libertar a concessão assim que a operação estiver concluída. A ação "Libertar" só é suportada na operação de remoção da cache. Se for "verdadeiro", libertará a concessão no ficheiro com as informações de ID de concessão do cabeçalho x-ms-lease-id.
Name | Tipo | Description |
---|---|---|
acquire |
string |
|
acquire-release |
string |
|
auto-renew |
string |
|
release |
string |
PathUpdateAction
A ação tem de ser "anexar" para carregar dados para serem anexados a um ficheiro, "flush" para remover dados carregados anteriormente para um ficheiro, "setProperties" para definir as propriedades de um ficheiro ou diretório ou "setAccessControl" para definir o proprietário, grupo, permissões ou lista de controlo de acesso para um ficheiro ou diretório ou "setAccessControlRecursive" para definir a lista de controlo de acesso de um diretório de forma recursiva. Tenha em atenção que o Espaço de Nomes Hierárquico tem de estar ativado para a conta para poder utilizar o controlo de acesso. Tenha também em atenção que a Lista de Controlo de Acesso (ACL) inclui permissões para o proprietário, o grupo proprietário e outros, pelo que os cabeçalhos de pedido x-ms-permissions e x-ms-acl são mutuamente exclusivos.
Name | Tipo | Description |
---|---|---|
append |
string |
|
flush |
string |
|
setAccessControl |
string |
|
setAccessControlRecursive |
string |
|
setProperties |
string |
SetAccessControlRecursiveResponse
Name | Tipo | Description |
---|---|---|
directoriesSuccessful |
integer |
|
failedEntries | ||
failureCount |
integer |
|
filesSuccessful |
integer |