Path - Update
Acrescentar dados | Liberar dados | Definir Propriedades | Definir controle de acesso
Carrega dados a serem anexados 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 anexados a um ficheiro. Não há suporte para gravações simultâneas no mesmo arquivo usando vários clientes. Esta operação suporta solicitações HTTP condicionais. Para obter mais informações, consulte Especificando cabeçalhos condicionais para operações de serviço de 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 de extremidade do Armazenamento do Azure Data Lake. |
filesystem
|
path | True |
string minLength: 3maxLength: 63 pattern: ^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$ |
O identificador do sistema de arquivos. |
path
|
path | True |
string |
O caminho do arquivo ou diretório. |
action
|
query | True |
A ação deve ser "append" para carregar dados a serem anexados a um arquivo, "flush" para liberar dados carregados anteriormente para 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 estar habilitado para a conta para usar o controle de acesso. Observe também que a Lista de Controle de Acesso (ACL) 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. |
|
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 são habilitados, um evento de alteração de arquivo é gerado. Esse evento tem uma propriedade que indica se esta é 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 é gerada indicando que o arquivo foi alterado. O padrão é "false". Esse parâmetro de consulta é definido como true pelo driver Hadoop ABFS para indicar que o fluxo de arquivos 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 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 em porcentagem e especificado em uma invocação subsequente da operação setAccessControlRecursive. |
|
flush
|
query |
boolean |
Válido apenas para chamadas de acréscimo. Este parâmetro permite que o chamador libere durante uma chamada de acréscimo. O valor padrão é "false", se "true" os dados serão liberados com a chamada append. Observe que, ao usar 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 esses cabeçalhos durante a descarga, use action=flush |
|
force
|
query |
boolean |
Opcional e válido apenas para a operação "setAccessControlRecursive". Se esta operação for "falsa" terminará rapidamente ao encontrar erros do 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. O status detalhado dos erros do usuário será retornado na resposta para qualquer cenário. O token de continuação só será retornado quando forceFlag for "true" em caso de erros do usuário. O valor padrão para forceFlag é false. |
|
max
|
query |
integer (int32) minimum: 1 |
Opcional e válido apenas para a operação "setAccessControlRecursive". Ele especifica o número máximo de arquivos ou diretórios nos quais a alteração acl será aplicada. Se omitida ou superior a 2.000, a solicitação processará até 2.000 itens |
|
mode
|
query |
string |
Opcional. Válido e necessário para a operação "setAccessControlRecursive". Modo "set" define direitos de controle de acesso POSIX em arquivos e diretórios, "modificar" modifica um ou mais direitos de controle de acesso POSIX que preexistem 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) |
Este parâmetro permite que o chamador carregue dados em paralelo e controle a ordem em que eles são anexados ao arquivo. É necessário ao carregar dados a serem anexados ao arquivo e ao liberar dados carregados anteriormente para o arquivo. O valor deve ser a posição onde 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 com a solicitação. |
|
retain
|
query |
boolean |
Válido apenas para operações de descarga. Se "verdadeiro", os dados não confirmados são retidos após a conclusão da operação de descarga; 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 inferiores à posição especificada são gravados no arquivo quando a descarga é bem-sucedida, mas esse parâmetro opcional permite que os dados após a posição de descarga sejam retidos para uma operação de descarga futura. |
|
timeout
|
query |
integer (int32) minimum: 1 |
Um valor de tempo limite de operação opcional em segundos. O prazo começa a correr quando o pedido é recebido pelo serviço. Se o valor de tempo limite decorrer 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) minimum: 0 |
Necessário para "Acrescentar dados" e "Liberar dados". Deve ser 0 para "Flush Data". 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. Este cabeçalho é válido nas operações "Append" e "Flush". Esse 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 chegou 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 pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$ |
O ID da concessão deve ser especificado se houver uma concessão ativa. Inválido para operações "setAccessControlRecursive". |
|
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 "Read File". |
|
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 "Content-Type" para operações "Read File". |
|
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 "Read File". |
|
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 "Content-Encoding" para operações "Read File". |
|
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 "Read File". |
|
x-ms-content-md5 |
string |
Opcional e válido apenas para operações "Flush and set Properties". O serviço armazena esse valor e o inclui no cabeçalho de resposta "Content-Md5" para operações "Read and Get Properties". Se essa propriedade não for especificada na solicitação, a propriedade será limpa para o arquivo. Chamadas subsequentes para "Ler e obter propriedades" não retornarão essa propriedade, a menos que ela seja explicitamente definida 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, ...", onde 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 apenas 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 sã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 e, em seguida, faça uma solicitação condicional com a E-Tag 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 arquivo ou diretório. |
|
x-ms-group |
string |
Opcional e válido apenas 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). Tanto a notação simbólica (rwxrw-rw-) como a notação octal de 4 dígitos (por exemplo, 0766) são suportadas. O bit pegajoso também é suportado e em notação simbólica, é representado pela letra t ou T no lugar de caractere final, dependendo se o bit de execução para a outra categoria é definido ou desdefinido respectivamente (por exemplo, rwxrw-rw- com bit pegajoso é representado como rwxrw-rwT. Um rwxrw-rwx com bit pegajoso é representado como rwxrw-rwt), ausência de t ou T indica bit pegajoso não definido. Na notação octal de 4 dígitos, é representado pelo 1º dígito (por exemplo, 1766 representa rwxrw-rw- com bit pegajoso e 0766 representa rwxrw-rw- sem bit pegajoso). 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 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 lista de controle de acesso (ACL) existente no caso de setAccessControl e modo "set" de setAccessControlRecursive. O modo "modificar" de setAccessControlRecursive atualiza as ACLS pré-existentes. Cada entrada de controle de acesso (ACE) 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 a ACE pertence à ACL padrão de um diretório; caso contrário, o escopo está implícito e a ACE pertence à ACL de acesso. Existem 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 direitos concedidos a usuários nomeados e 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 "máscara" e "outros". 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 ao proprietário e john.doe@contoso do arquivo, o direito de leitura ao grupo proprietário e nada a 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 pré-existentes do escopo especificado e deve 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 ETag. Especifique esse cabeçalho para executar a operação somente se a ETag do recurso corresponder ao valor especificado. O ETag deve ser especificado 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. O ETag deve ser especificado 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 deste cabeçalho deve ser AES256. |
|
x-ms-lease-action | True |
A partir da versão 2020-08-04 nas operações append e flush. O Append suporta a ação 'adquirir', 'renovar automaticamente' e 'adquirir-liberar'. Se 'adquirir' irá adquirir o arrendamento. Se "renovar automaticamente", renovará o contrato de arrendamento. Se 'adquirir-liberar', ele adquirirá & concluirá a operação & liberará a locação assim que a operação for concluída. A ação 'Release' só é suportada na operação de descarga. Se '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 locação e especifica a duração da concessão em segundos. A duração da locação deve ser entre 15 e 60 segundos ou -1 para locação infinita. |
|
x-ms-proposed-lease-id |
string pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$ |
Necessário quando "x-ms-lease-action" é "adquirir" ou "alterar". Uma locação será adquirida com este ID de locação se a operação for bem-sucedida. |
|
x-ms-client-request-id |
string pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$ |
Um UUID registrado nos logs de análise para solução de problemas e correlação. |
|
x-ms-date |
string |
Especifica o Tempo Universal Coordenado (UTC) 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 do Pedido
Media Types: "application/octet-stream", "text/plain"
Name | Tipo | Description |
---|---|---|
requestBody |
object (file) |
Válido apenas para operações de acréscimo. Os dados a serem carregados e anexados ao arquivo. |
Respostas
Name | 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 aceites. Cabeçalhos
|
|
Other Status Codes |
Ocorreu um erro. O possível status HTTP, código e cadeias de caracteres de mensagem estão listados abaixo:
Cabeçalhos
|
Definições
Name | Description |
---|---|
Acl |
|
Data |
|
Error |
O objeto de resposta de erro de serviço. |
Path |
A partir da versão 2020-08-04 nas operações append e flush. O Append suporta a ação 'adquirir', 'renovar automaticamente' e 'adquirir-liberar'. Se 'adquirir' irá adquirir o arrendamento. Se "renovar automaticamente", renovará o contrato de arrendamento. Se 'adquirir-liberar', ele adquirirá & concluirá a operação & liberará a locação assim que a operação for concluída. A ação 'Release' só é suportada na operação de descarga. 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 "append" para carregar dados a serem anexados a um arquivo, "flush" para liberar dados carregados anteriormente para 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 estar habilitado para a conta para usar o controle de acesso. Observe também que a Lista de Controle de Acesso (ACL) 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
Name | Tipo | Description |
---|---|---|
errorMessage |
string |
|
name |
string |
|
type |
string |
DataLakeStorageError
Name | Tipo | Description |
---|---|---|
error |
O objeto de resposta de erro de serviço. |
Error
O objeto de resposta de erro de 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 nas operações append e flush. O Append suporta a ação 'adquirir', 'renovar automaticamente' e 'adquirir-liberar'. Se 'adquirir' irá adquirir o arrendamento. Se "renovar automaticamente", renovará o contrato de arrendamento. Se 'adquirir-liberar', ele adquirirá & concluirá a operação & liberará a locação assim que a operação for concluída. A ação 'Release' só é suportada na operação de descarga. Se 'true', liberará a concessão no arquivo usando as informações de id de concessão do cabeçalho x-ms-lease-id.
Valor | Description |
---|---|
acquire | |
acquire-release | |
auto-renew | |
release |
PathUpdateAction
A ação deve ser "append" para carregar dados a serem anexados a um arquivo, "flush" para liberar dados carregados anteriormente para 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 estar habilitado para a conta para usar o controle de acesso. Observe também que a Lista de Controle de Acesso (ACL) 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.
Valor | Description |
---|---|
append | |
flush | |
setAccessControl | |
setAccessControlRecursive | |
setProperties |
SetAccessControlRecursiveResponse
Name | Tipo | Description |
---|---|---|
directoriesSuccessful |
integer (int32) |
|
failedEntries | ||
failureCount |
integer (int32) |
|
filesSuccessful |
integer (int32) |