Path - Update
Acrescentar dados | Liberar dados | Definir propriedades | Definir Controle de Acesso
Carrega dados a serem acrescentados a um arquivo, libera (grava) dados carregados anteriormente em um arquivo, define propriedades para um arquivo ou diretório ou define o controle de acesso para um arquivo ou diretório. Os dados só podem ser acrescentados a um arquivo. Não há suporte para gravações simultâneas no mesmo arquivo usando vários clientes. Esta operação dá suporte a solicitações HTTP condicionais. Para obter mais informações, confira Como especificar cabeçalhos condicionais para operações de 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 de URI
Nome | Em | Obrigatório | Tipo | Description |
---|---|---|---|---|
account
|
path | True |
string |
O nome da conta do Armazenamento do Azure. |
dns
|
path | True |
string |
O sufixo DNS para o ponto de extremidade Azure Data Lake Storage. |
filesystem
|
path | True |
string |
O identificador do sistema de arquivos. Padrão Regex: |
path
|
path | True |
string |
O caminho do arquivo ou diretório. |
action
|
query | True |
A ação deve ser "acrescentar" para carregar dados a serem acrescentados a um arquivo, "liberar" para liberar dados carregados anteriormente em um arquivo, "setProperties" para definir as propriedades de um arquivo ou diretório ou "setAccessControl" para definir o proprietário, grupo, permissões ou lista de controle de acesso para um arquivo ou diretório ou "setAccessControlRecursive" para definir a lista de controle de acesso para um diretório recursivamente. Observe que o Namespace Hierárquico deve ser habilitado para a conta para usar o controle de acesso. Observe também que a ACL (lista de Controle de Acesso) inclui permissões para o proprietário, grupo proprietário e outros, de modo que os cabeçalhos de solicitação x-ms-permissions e x-ms-acl são mutuamente exclusivos. |
|
close
|
query |
boolean |
Os Eventos de Armazenamento do Azure permitem que os aplicativos recebam notificações quando os arquivos são alterados. Quando os Eventos de Armazenamento do Azure estão habilitados, um evento de alteração de arquivo é gerado. Esse evento tem uma propriedade que indica se essa é a alteração final para distinguir a diferença entre uma liberação intermediária para um fluxo de arquivos e o fechamento final de um fluxo de arquivos. O parâmetro close query é válido somente quando a ação é "flush" e as notificações de alteração estão habilitadas. Se o valor de close for "true" e a operação de liberação for concluída com êxito, o serviço gerará uma notificação de alteração de arquivo com uma propriedade indicando que esta é a atualização final (o fluxo de arquivos foi fechado). Se "false" uma notificação de alteração for gerada indicando que o arquivo foi alterado. O padrão é false. Esse parâmetro de consulta é definido como true pelo driver ABFS do Hadoop para indicar que o fluxo de arquivos foi fechado." |
|
continuation
|
query |
string |
Opcional e válido somente para a operação "setAccessControlRecursive". O número de caminhos processados com cada invocação é limitado. Se o número de caminhos a serem processados exceder esse limite, um token de continuação será retornado no cabeçalho de resposta x-ms-continuation. Quando um token de continuação é retornado na resposta, ele deve ser codificado por porcentagem e especificado em uma invocação subsequente da operação setAccessControlRecursive. |
|
flush
|
query |
boolean |
Válido somente para chamadas de acréscimo. Esse parâmetro permite que o chamador libere durante uma chamada de acréscimo. O valor padrão é "false", se "true" os dados forem liberados com a chamada de acréscimo. Observe que, ao usar flush=true, não há suporte para os seguintes cabeçalhos : "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 esses cabeçalhos durante a liberação, use action=flush |
|
force
|
query |
boolean |
Opcional e válido somente para a operação "setAccessControlRecursive". Se essa for uma operação "falsa", terminará rapidamente ao encontrar erros de usuário (4XX). Se "true" a api ignorará os erros do usuário e prosseguirá com a operação em outras subentidades do diretório. As status detalhadas de erros do usuário serão retornadas na resposta para qualquer um dos cenários. O token de continuação só será retornado quando forceFlag for "true" em caso de erros do usuário. O valor padrão de forceFlag é false. |
|
max
|
query |
integer int32 |
Opcional e válido somente para a operação "setAccessControlRecursive". Ele especifica o número máximo de arquivos ou diretórios nos quais a alteração de acl será aplicada. Se for omitida ou maior que 2.000, a solicitação processará até 2.000 itens |
|
mode
|
query |
string |
Opcional. Válido e necessário para a operação "setAccessControlRecursive". O modo "set" define os direitos de controle de acesso POSIX em arquivos e diretórios, "modificar" modifica um ou mais direitos de controle de acesso POSIX que existem previamente em arquivos e diretórios, "remover" remove um ou mais direitos de controle de acesso POSIX que estavam presentes anteriormente em arquivos e diretórios |
|
position
|
query |
integer int64 |
Esse parâmetro permite que o chamador carregue dados em paralelo e controle a ordem na qual eles são acrescentados ao arquivo. É necessário ao carregar dados a serem acrescentados ao arquivo e ao liberar dados carregados anteriormente no arquivo. O valor deve ser a posição em que os dados devem ser acrescentados. Os dados carregados não são imediatamente liberados ou gravados no arquivo. Para liberar, os dados carregados anteriormente devem ser contíguos, o parâmetro position deve ser especificado e igual ao comprimento do arquivo depois que todos os dados tiverem sido gravados e não deve haver um corpo de entidade de solicitação incluído na solicitação. |
|
retain
|
query |
boolean |
Válido somente para operações de liberação. Se "true", os dados não confirmados serão retidos após a conclusão da operação de liberação; caso contrário, os dados não confirmados serão excluídos após a operação de liberação. O padrão é false. Os dados em deslocamentos menores que a posição especificada são gravados no arquivo quando a liberação é bem-sucedida, mas esse parâmetro opcional permite que os dados após a posição de liberação sejam retidos para uma operação de liberação futura. |
|
timeout
|
query |
integer int32 |
Um valor de tempo limite de operação opcional em segundos. O período começa quando a solicitação é recebida pelo serviço. Se o valor de tempo limite decorrer antes da conclusão da operação, a operação falhará. |
Cabeçalho da solicitação
Media Types: "application/octet-stream", "text/plain"
Nome | Obrigatório | Tipo | Description |
---|---|---|---|
Content-Length |
integer int64 |
Necessário para "Acrescentar Dados" e "Liberar Dados". Deve ser 0 para "Liberar Dados". Deve ser o comprimento do conteúdo da solicitação em bytes para "Acrescentar Dados". |
|
Content-MD5 |
string |
Opcional. Um hash MD5 do conteúdo da solicitação. Esse cabeçalho é válido em operações "Acrescentar" e "Liberar". O hash é usado para verificar a integridade do conteúdo da solicitação durante o transporte. Quando esse cabeçalho é especificado, o serviço de armazenamento compara o hash do conteúdo que foi recebido com esse valor de cabeçalho. Se os dois hashes não corresponderem, a operação falhará com o código de erro 400 (Solicitação Incorreta). Observe que esse hash MD5 não é armazenado com o arquivo . Esse cabeçalho está associado ao conteúdo da solicitação e não ao conteúdo armazenado do próprio arquivo. |
|
x-ms-lease-id |
string |
A ID de concessão deverá ser especificada se houver uma concessão ativa. Inválido para operações "setAccessControlRecursive". Padrão Regex: |
|
x-ms-cache-control |
string |
Opcional e válido apenas para operações de liberação e definição de propriedades. O serviço armazena esse valor e o inclui no cabeçalho de resposta "Cache-Control" para operações de "Arquivo de Leitura". |
|
x-ms-content-type |
string |
Opcional e válido apenas para operações de liberação e definição de propriedades. O serviço armazena esse valor e o inclui no cabeçalho de resposta "Tipo de Conteúdo" para operações de "Arquivo de Leitura". |
|
x-ms-content-disposition |
string |
Opcional e válido apenas para operações de liberação e definição de propriedades. O serviço armazena esse valor e o inclui no cabeçalho de resposta "Content-Disposition" para operações de "Arquivo de Leitura". |
|
x-ms-content-encoding |
string |
Opcional e válido apenas para operações de liberação e definição de propriedades. O serviço armazena esse valor e o inclui no cabeçalho de resposta "Codificação de Conteúdo" para operações de "Arquivo de Leitura". |
|
x-ms-content-language |
string |
Opcional e válido apenas para operações de liberação e definição de propriedades. O serviço armazena esse valor e o inclui no cabeçalho de resposta "Content-Language" para operações de "Arquivo de Leitura". |
|
x-ms-content-md5 |
string |
Opcional e válido apenas para operações "Liberar e Definir Propriedades". O serviço armazena esse valor e o inclui no cabeçalho de resposta "Content-Md5" para operações "Ler e Obter Propriedades". Se essa propriedade não for especificada na solicitação, a propriedade será limpa para o arquivo. As chamadas subsequentes para "Ler e Obter Propriedades" não retornarão essa propriedade, a menos que ela seja definida explicitamente nesse arquivo novamente. |
|
x-ms-properties |
string |
Opcional. Propriedades definidas pelo usuário a serem armazenadas com o arquivo 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 de caracteres codificada em base64. Observe que a cadeia de caracteres só pode conter caracteres ASCII no conjunto de caracteres ISO-8859-1. Válido somente para a operação setProperties. Se o arquivo ou diretório existir, todas as propriedades não incluídas na lista serão removidas. Todas as propriedades serão removidas se o cabeçalho for omitido. Para mesclar propriedades novas e existentes, primeiro obtenha todas as propriedades existentes e a E-Tag atual, depois faça uma solicitação condicional com a Marca E e inclua valores para todas as propriedades. |
|
x-ms-owner |
string |
Opcional e válido somente para a operação setAccessControl. Define o proprietário do arquivo ou diretório. |
|
x-ms-group |
string |
Opcional e válido somente para a operação setAccessControl. Define o grupo proprietário do arquivo ou diretório. |
|
x-ms-permissions |
string |
Opcional e válido somente se o Namespace Hierárquico estiver habilitado para a conta. Define permissões de acesso POSIX para o proprietário do arquivo, o grupo proprietário do arquivo e outros. Cada classe pode receber permissão de leitura (4), gravação (2) ou execução (1). Há suporte para notação octal simbólica (rwxrw-rw-) e octal de 4 dígitos (por exemplo, 0766). O bit autoadesiva também tem suporte e, em notação simbólica, é representado pela letra t ou T no local do caractere final, dependendo se o bit de execução para a outra categoria é definido ou não definido respectivamente (por exemplo, rwxrw-rw- com bit autoadesiva é representado como rwxrw-rwT. Um rwxrw-rwx com bit autoadesiva é representado como rwxrw-rwt), a ausência de t ou T indica que o bit autoadesiva não está definido. Na notação octal de 4 dígitos, ela é representada por 1º dígito (por exemplo, 1766 representa rwxrw-rw- com bit autoadesiva e 0766 representa rwxrw-rw- sem bit autoadesiva). Inválido em conjunto com x-ms-acl. |
|
x-ms-acl |
string |
Opcional e válido somente para as operações setAccessControl e setAccessControlRecursive. Necessário para a operação setAccessControlRecursive. Define os direitos de controle de acesso POSIX em arquivos e diretórios. O valor é uma lista separada por vírgulas de entradas de controle de acesso que substitui totalmente a ACL (lista de controle de acesso) existente no caso do modo setAccessControl e "set" de setAccessControlRecursive. O modo "modify" de setAccessControlRecursive atualiza a ACLS pré-existente. Cada ACE (entrada de controle de acesso) consiste em um escopo, um tipo, um identificador de usuário ou grupo e permissões no formato "[scope:][type]:[id]:[permissions]". O escopo deve ser "padrão" para indicar que o ACE pertence à ACL padrão de um diretório; caso contrário, o escopo é implícito e o ACE pertence à ACL de acesso. Há quatro tipos de ACE: "usuário" concede direitos ao proprietário ou a um usuário nomeado, "grupo" concede direitos ao grupo proprietário ou a um grupo nomeado, "máscara" restringe os direitos concedidos aos usuários nomeados e aos membros de grupos e "outros" concede direitos a todos os usuários não encontrados em nenhuma das outras entradas. O identificador de usuário ou grupo é omitido para entradas do tipo "mask" e "other". O identificador de usuário ou grupo também é omitido para o proprietário e o grupo proprietário. O campo de permissão é uma sequência de 3 caracteres em que o primeiro caractere é 'r' para conceder acesso de leitura, o segundo caractere é 'w' para conceder acesso de gravação e o terceiro caractere é 'x' para conceder permissão de execução. Se o acesso não for concedido, o caractere '-' será usado para indicar que a permissão foi negada. Por exemplo, a ACL a seguir concede direitos de leitura, gravação e execução para o proprietário do arquivo e john.doe@contoso, o direito de leitura para o grupo proprietário e nada para todos os outros: "user::rwx,user:john.doe@contoso:rwx,group::r--,other::---,mask=rwx". Inválido em conjunto com x-ms-permissions. O modo "remove" de setAccessControlRecursive remove as ACLs pré-existentes e não deve conter permissões na lista de controle de acesso especificada: "user:john.doe@contoso:, mask:". O modo "set" de setAccessControlRecursive define as ACLs substituindo as ACLs preexistentes do escopo especificado e devem conter todas as três : usuário proprietário, grupo proprietário e outras informações se o escopo de acesso estiver sendo definido ou se um dos usuários proprietários, grupo proprietário ou outro estiver sendo definido no escopo padrão. Os modos "set" e "modify" de setAccessControlRecursive devem conter permissões como parte da lista de controle de acesso. |
|
If-Match |
string |
Opcional para Liberar Dados, Definir Controle de Acesso e Definir Propriedades, mas inválido para Acrescentar Dados e Definir Controle de Acesso Recursivo. Um valor de ETag. Especifique esse cabeçalho para executar a operação somente se a ETag do recurso corresponder ao valor especificado. A ETag deve ser especificada entre aspas. |
|
If-None-Match |
string |
Opcional para Liberar Dados, Definir Controle de Acesso e Definir Propriedades, mas inválido para Acrescentar Dados e Definir Controle de Acesso Recursivo. Um valor ETag ou o valor curinga especial ("*"). Especifique esse cabeçalho para executar a operação somente se a ETag do recurso não corresponder ao valor especificado. A ETag deve ser especificada entre aspas. |
|
If-Modified-Since |
string |
Opcional para Liberar Dados e Definir Propriedades, mas inválido para Acrescentar Dados e Definir Controle de Acesso Recursivo. Um valor de data e hora. Especifique esse cabeçalho para executar a operação somente se o recurso tiver sido modificado desde a data e hora especificadas. |
|
If-Unmodified-Since |
string |
Opcional para Liberar Dados e Definir Propriedades, mas inválido para Acrescentar Dados e Definir Controle de Acesso Recursivo. Um valor de data e hora. Especifique esse cabeçalho para executar a operação somente se o recurso não tiver sido modificado desde a data e hora especificadas. |
|
x-ms-encryption-key |
string |
Opcional. A chave de criptografia AES-256 codificada em Base64. |
|
x-ms-encryption-key-sha256 |
string |
Opcional. O hash SHA256 codificado em Base64 da chave de criptografia. |
|
x-ms-encryption-algorithm: AES256 |
string |
Opcional. Especifica o algoritmo a ser usado para criptografia. O valor desse cabeçalho deve ser AES256. |
|
x-ms-lease-action | True |
A partir da versão 2020-08-04 em operações de acréscimo e liberação. O Acréscimo dá suporte à ação 'acquire', 'auto-renew' e 'acquire-release'. Se 'adquirir' ele adquirirá a concessão. Se a "renovação automática" for renovada, ela renovará a concessão. Se a 'acquire-release' adquirir & concluir a operação & liberar a concessão depois que a operação for concluída. A ação 'Release' só tem suporte na operação de liberação. Se for 'true', liberará a concessão no arquivo usando 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 deve estar entre 15 e 60 segundos ou -1 para concessão infinita. |
|
x-ms-proposed-lease-id |
string |
Obrigatório quando "x-ms-lease-action" é "acquire" ou "change". Uma concessão será adquirida com essa ID de concessão se a operação for bem-sucedida. Padrão Regex: |
|
x-ms-client-request-id |
string |
Uma UUID registrada nos logs de análise para solução de problemas e correlação. Padrão Regex: |
|
x-ms-date |
string |
Especifica o UTC (Tempo Universal Coordenado) para a solicitação. Isso é necessário ao usar a autorização de chave compartilhada. |
|
x-ms-version |
string |
Especifica a versão do protocolo REST usada para processar a solicitação. Isso é necessário ao usar a autorização de chave compartilhada. |
Corpo da solicitação
Media Types: "application/octet-stream", "text/plain"
Nome | Tipo | Description |
---|---|---|
requestBody |
object |
Válido somente para operações de acréscimo. Os dados a serem carregados e acrescentados ao arquivo. |
Respostas
Nome | Tipo | Description |
---|---|---|
200 OK |
Os dados foram liberados (gravados) no arquivo 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 aceitos. Cabeçalhos
|
|
Other Status Codes |
Ocorreu um erro. As possíveis cadeias de caracteres de status HTTP, código e mensagem estão listadas abaixo:
Cabeçalhos
|
Definições
Nome | Description |
---|---|
Acl |
|
Data |
|
Error |
O objeto de resposta de erro de serviço. |
Path |
A partir da versão 2020-08-04 em operações de acréscimo e liberação. O Append dá suporte à ação 'acquire', 'auto-renew' e 'acquire-release'. Se 'adquirir' ele adquirirá a concessão. Se 'renovar automaticamente' ele renovará a concessão. Se 'acquire-release' ele adquirir & concluir a operação & liberar a concessão assim que a operação for concluída. A ação 'Release' só tem suporte na operação de liberação. Se 'true', liberará a concessão no arquivo usando as informações de ID de concessão do cabeçalho x-ms-lease-id. |
Path |
A ação deve ser "acrescentar" para carregar dados a serem acrescentados a um arquivo, "liberar" para liberar dados carregados anteriormente em um arquivo, "setProperties" para definir as propriedades de um arquivo ou diretório ou "setAccessControl" para definir o proprietário, grupo, permissões ou lista de controle de acesso para um arquivo ou diretório ou "setAccessControlRecursive" para definir a lista de controle de acesso para um diretório recursivamente. Observe que o Namespace Hierárquico deve ser habilitado para a conta para usar o controle de acesso. Observe também que a ACL (Lista de Controle de Acesso) inclui permissões para o proprietário, grupo proprietário e outros, portanto, os cabeçalhos de solicitação x-ms-permissions e x-ms-acl são mutuamente exclusivos. |
Set |
AclFailedEntryList
Nome | Tipo | Description |
---|---|---|
errorMessage |
string |
|
name |
string |
|
type |
string |
DataLakeStorageError
Nome | Tipo | Description |
---|---|---|
error |
O objeto de resposta de erro de serviço. |
Error
O objeto de resposta de erro de serviço.
Nome | 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 liberação. O Append dá suporte à ação 'acquire', 'auto-renew' e 'acquire-release'. Se 'adquirir' ele adquirirá a concessão. Se 'renovar automaticamente' ele renovará a concessão. Se 'acquire-release' ele adquirir & concluir a operação & liberar a concessão assim que a operação for concluída. A ação 'Release' só tem suporte na operação de liberação. Se 'true', liberará a concessão no arquivo usando as informações de ID de concessão do cabeçalho x-ms-lease-id.
Nome | Tipo | Description |
---|---|---|
acquire |
string |
|
acquire-release |
string |
|
auto-renew |
string |
|
release |
string |
PathUpdateAction
A ação deve ser "acrescentar" para carregar dados a serem acrescentados a um arquivo, "liberar" para liberar dados carregados anteriormente em um arquivo, "setProperties" para definir as propriedades de um arquivo ou diretório ou "setAccessControl" para definir o proprietário, grupo, permissões ou lista de controle de acesso para um arquivo ou diretório ou "setAccessControlRecursive" para definir a lista de controle de acesso para um diretório recursivamente. Observe que o Namespace Hierárquico deve ser habilitado para a conta para usar o controle de acesso. Observe também que a ACL (Lista de Controle de Acesso) inclui permissões para o proprietário, grupo proprietário e outros, portanto, os cabeçalhos de solicitação x-ms-permissions e x-ms-acl são mutuamente exclusivos.
Nome | Tipo | Description |
---|---|---|
append |
string |
|
flush |
string |
|
setAccessControl |
string |
|
setAccessControlRecursive |
string |
|
setProperties |
string |
SetAccessControlRecursiveResponse
Nome | Tipo | Description |
---|---|---|
directoriesSuccessful |
integer |
|
failedEntries | ||
failureCount |
integer |
|
filesSuccessful |
integer |