Path - Create

Criar arquivo | Criar Diretório | Renomear Arquivo | Renomear Diretório
Crie ou renomeie um arquivo ou diretório. Por padrão, o destino é substituído e, se o destino já existir e tiver uma concessão, a concessão será interrompida. Observe que renomear um arquivo ou diretório em um contêiner com uma política de criptografia de contêiner imposta não é permitido, a menos que o contêiner de origem também tenha uma política de criptografia de contêiner imposta que corresponda. Essa 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. Para falhar se o destino já existir, use uma solicitação condicional com If-None-Match: "*".

PUT https://{accountName}.{dnsSuffix}/{filesystem}/{path}
PUT https://{accountName}.{dnsSuffix}/{filesystem}/{path}?resource={resource}&continuation={continuation}&mode={mode}&timeout={timeout}

Parâmetros de URI

Nome Em Obrigatório Tipo Description
accountName
path True

string

O nome da conta do Armazenamento do Azure.

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

Regex pattern: ^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$

path
path True

string

O caminho do arquivo ou diretório.

continuation
query

string

Opcional. Ao renomear um diretório, o número de caminhos renomeados com cada invocação é limitado. Se o número de caminhos a serem renomeado exceder esse limite, um token de continuação será retornado neste cabeçalho de resposta. Quando um token de continuação é retornado na resposta, ele deve ser especificado em uma invocação subsequente da operação de renomeação para continuar renomeando o diretório.

mode
query

PathRenameMode

Opcional. Válido somente quando o namespace está habilitado. Esse parâmetro determina o comportamento da operação de renomeação. O valor deve ser "herdado" ou "posix", e o valor padrão será "posix".

resource
query

PathResourceType

Necessário apenas para Criar Arquivo e Criar Diretório. O valor deve ser "file" ou "directory".

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 do tempo limite passar antes da conclusão da operação, a operação falhará.

Cabeçalho da solicitação

Media Types: "application/octet-stream"

Nome Obrigatório Tipo Description
Cache-Control

string

Opcional. O serviço armazena esse valor e o inclui no cabeçalho de resposta "Controle de Cache" para operações de "Arquivo de Leitura" para operações de "Arquivo de Leitura".

Content-Encoding

string

Opcional. Especifica quais codificações de conteúdo foram aplicadas ao arquivo. Esse valor é retornado ao cliente quando a operação "Ler Arquivo" é executada.

Content-Language

string

Opcional. Especifica a linguagem natural usada pelo público-alvo pretendido para o arquivo.

Content-Disposition

string

Opcional. 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-cache-control

string

Opcional. 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. O serviço armazena esse valor e o inclui no cabeçalho de resposta "Content-Type" para operações de "Arquivo de Leitura".

x-ms-content-encoding

string

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

string

Opcional. 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-rename-source

string

Um arquivo ou diretório opcional a ser renomeado. O valor deve ter o seguinte formato: "/{filesystem}/{path}" ou "/{filesystem}/{path}?sastoken" ao usar um token SAS. Se "x-ms-properties" for especificado, as propriedades substituirão as propriedades existentes; caso contrário, as propriedades existentes serão preservadas. Esse valor deve ser uma cadeia de caracteres codificada por porcentagem de URL. Observe que a cadeia de caracteres pode conter apenas caracteres ASCII no conjunto de caracteres ISO-8859-1.

x-ms-lease-id

string

Opcional. Uma ID de concessão para o caminho especificado no URI. O caminho a ser substituído deve ter uma concessão ativa e a ID de concessão deve corresponder.

Regex pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-source-lease-id

string

Opcional para operações de renomeação. Uma ID de concessão para o caminho de origem. O caminho de origem deve ter uma concessão ativa e a ID de concessão deve corresponder.

Regex pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

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 pode conter apenas caracteres ASCII no conjunto de caracteres ISO-8859-1.

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 pegajoso é 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 pelo 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-umask

string

Opcional e válido somente se o Namespace Hierárquico estiver habilitado para a conta. Ao criar um arquivo ou diretório e a pasta pai não tem uma ACL padrão, a umask restringe as permissões do arquivo ou diretório a serem criadas. A permissão resultante é fornecida por p & ^u, em que p é a permissão e você é a umask. Por exemplo, se p for 0777 e você for 0057, a permissão resultante será 0720. A permissão padrão é 0777 para um diretório e 0666 para um arquivo. A umask padrão é 0027. A umask deve ser especificada em notação octal de 4 dígitos (por exemplo, 0766).

x-ms-owner

string

Opcional e válido somente se o Namespace Hierárquico estiver habilitado para a conta. Define o proprietário do arquivo ou diretório.

x-ms-group

string

Opcional e válido somente se o Namespace Hierárquico estiver habilitado para a conta. Define o grupo proprietário do arquivo ou diretório.

x-ms-acl

string

Opcional e válido somente se o Namespace Hierárquico estiver habilitado para a conta. Define os direitos de controle de acesso POSIX em arquivos e diretórios. 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 a ACE pertence à ACL padrão de um diretório; caso contrário, o escopo será implícito e a ACE pertence à ACL de acesso. Há quatro tipos 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.

x-ms-proposed-lease-id

string

Opcional. Especifique uma ID de concessão proposta se você quiser adquirir uma concessão durante a criação de um arquivo ou diretório. Uma concessão será adquirida com essa ID de concessão se a criação for bem-sucedida.

Regex pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-expiry-option

string

Opcional e válido somente se o Namespace Hierárquico estiver habilitado para a conta e só tiver suporte em arquivos. Especifique uma das opções de expiração a seguir se você quiser definir a hora de expiração em um arquivo durante a criação. "RelativeToNow" Defina a expiração em relação à hora atual. O usuário passará o número de milissegundos decorridos a partir de agora. "Absoluto" Tempo absoluto no formato RFC 1123. "Neverexpire" Defina o arquivo para nunca expirar, a hora de expiração não precisa ser especificada com essa opção.

x-ms-expiry-time

string

Opcional e válido somente se o Namespace Hierárquico estiver habilitado para a conta e só tiver suporte em arquivos. Especifique a hora de expiração quando expirar o arquivo. Fornecida como Cadeia de Caracteres de Tempo HTTP RFC 1123 ou número de milissegundos de acordo com a opção de expiração.

If-Match

string

Opcional. 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. 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. 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. 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-source-if-match

string

Opcional. Um valor de ETag. Especifique esse cabeçalho para executar a operação de renomeação somente se a ETag da origem corresponder ao valor especificado. A ETag deve ser especificada entre aspas.

x-ms-source-if-none-match

string

Opcional. Um valor ETag ou o valor curinga especial ("*"). Especifique esse cabeçalho para executar a operação de renomeação somente se a ETag da origem não corresponder ao valor especificado. A ETag deve ser especificada entre aspas.

x-ms-source-if-modified-since

string

Opcional. Um valor de data e hora. Especifique esse cabeçalho para executar a operação de renomeação somente se a origem tiver sido modificada desde a data e hora especificadas.

x-ms-source-if-unmodified-since

string

Opcional. Um valor de data e hora. Especifique esse cabeçalho para executar a operação de renomeação somente se a origem não tiver sido modificada 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-encryption-context

string

Opcional. O padrão é "Vazio". Se o valor for definido, ele definirá metadados do sistema blob/arquivo. Comprimento máximo- 1024. Válido somente quando o Namespace Hierárquico está habilitado para a conta.

x-ms-client-request-id

string

Uma UUID registrada nos logs de análise para solução de problemas e correlação.

Regex pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

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.

Respostas

Nome Tipo Description
201 Created

O arquivo ou diretório foi criado.

Headers

  • Date: string
  • ETag: string
  • Last-Modified: string
  • x-ms-request-id: string
  • x-ms-version: string
  • x-ms-continuation: string
  • Content-Length: integer
  • x-ms-request-server-encrypted: true/false: boolean
  • x-ms-encryption-key-sha256: string
  • x-ms-encryption-scope: string
Other Status Codes

DataLakeStorageError

Ocorreu um erro. As possíveis cadeias de caracteres http status, código e mensagem estão listadas abaixo:

  • 400 Solicitação Inválida, ContentLengthMustBeZero, "O cabeçalho da solicitação Content-Length deve ser zero".
  • 400 Solicitação Inválida, InvalidAuthenticationInfo, "As informações de autenticação não são fornecidas no formato correto. Verifique o valor do cabeçalho De autorização."
  • 400 Solicitação Inválida, InvalidFlushPosition: "Os dados carregados não são contíguos ou o valor do parâmetro de consulta de posição não é igual ao comprimento do arquivo depois de acrescentar os dados carregados."
  • 400 Solicitação Inválida, InvalidHeaderValue: "O valor de um dos cabeçalhos HTTP não está no formato correto"
  • 400 Solicitação Inválida, InvalidHttpVerb, "O verbo HTTP especificado é inválido - ele não é reconhecido pelo servidor.".
  • 400 Solicitação Inválida, InvalidInput, "Uma das entradas de solicitação não é válida".
  • 400 Solicitação Inválida, InvalidPropertyName, "Um nome de propriedade não pode estar vazio".
  • 400 Solicitação Inválida, InvalidPropertyName, "O nome da propriedade contém caracteres inválidos".
  • 400 Solicitação Inválida, InvalidQueryParameterValue, "O valor de um dos parâmetros de consulta especificados no URI de solicitação é inválido".
  • 400 Solicitação Inválida, InvalidResourceName, "O nome do recurso especificado contém caracteres inválidos."
  • 400 Solicitação Inválida, InvalidSourceUri, "O URI de origem é inválido".
  • 400 Solicitação Inválida, InvalidUri, "O URI de solicitação é inválido".
  • 400 Solicitação Incorreta, MissingRequiredHeader, "Um cabeçalho HTTP obrigatório para essa solicitação não é especificado."
  • 400 Solicitação Inválida, MissingRequiredQueryParameter, "Um parâmetro de consulta obrigatório para essa solicitação não é especificado."
  • 400 Solicitação Incorreta, MultipleConditionHeadersNotSupported, "Não há suporte para vários cabeçalhos de condição".
  • 400 Solicitação Inválida, OutOfRangeInput, "Uma das entradas de solicitação está fora do intervalo".
  • 400 Solicitação Inválida, OutOfRangeQueryParameterValue, "Um dos parâmetros de consulta especificados no URI de solicitação está fora do intervalo permitido".
  • 400 Solicitação Inválida, Sem SuporteHeader, "Não há suporte para um dos cabeçalhos especificados na solicitação".
  • 400 Solicitação Inválida, UnsupportedQueryParameter, "Não há suporte para um dos parâmetros de consulta especificados no URI de solicitação".
  • 400 Solicitação Inválida, Sem SuporteRestVersion, "A versão rest especificada não tem suporte".
  • 403 Proibido, AccountIsDisabled, "A conta especificada está desabilitada".
  • 403 Proibido, AuthorizationFailure, "Esta solicitação não está autorizada a executar esta operação.".
  • 403 Proibido, InsufficientAccountPermissions: "A conta que está sendo acessada não tem permissões suficientes para executar esta operação.".
  • 404 Não Encontrado, FilesystemNotFound, "O sistema de arquivos especificado não existe".
  • 404 Não Encontrado, PathNotFound, "O caminho especificado não existe".
  • 404 Não Encontrado, RenameDestinationParentPathNotFound, "O diretório pai do caminho de destino não existe".
  • 404 Não Encontrado, ResourceNotFound, "O recurso especificado não existe".
  • 404 Não Encontrado, SourcePathNotFound, "O caminho de origem para uma operação de renomeação não existe".
  • Método 405 Não Permitido, Sem SuporteHttpVerb, "O recurso não dá suporte ao verbo HTTP especificado".
  • 409 Conflict, DestinationPathIsBeingDeleted, "O caminho de destino especificado está marcado para ser excluído".
  • 409 Conflict, DirectoryNotEmpty, "O valor do parâmetro de consulta recursiva deve ser true para excluir um diretório não vazio.".
  • 409 Conflict, FilesystemAlreadyExists, "O sistema de arquivos especificado já existe".
  • 409 Conflict, FilesystemBeingDeleted, "O sistema de arquivos especificado está sendo excluído".
  • 409 Conflict, InvalidDestinationPath, "O caminho especificado ou um elemento do caminho existe e seu tipo de recurso é inválido para esta operação." * 409 Conflict, InvalidFlushOperation, "O recurso foi criado ou modificado pela API do Serviço blob e não pode ser gravado pela API do Serviço Data Lake Storage".
  • 409 Conflict, InvalidRenameSourcePath, "O diretório de origem não pode ser o mesmo que o diretório de destino, nem o destino pode ser um subdiretório do diretório de origem."
  • 409 Conflict, InvalidSourceOrDestinationResourceType, "O tipo de recurso de origem e destino deve ser idêntico."
  • 409 Conflict, LeaseAlreadyPresent, "Já há uma concessão presente."
  • 409 Conflict, LeaseIdMismatchWithLeaseOperation, "A ID de concessão especificada não correspondeu à ID de concessão do recurso com a operação de concessão especificada.".
  • 409 Conflict, LeaseIsAlreadyBroken: "O aluguel já foi quebrado e não pode ser quebrado novamente."
  • 409 Conflict, LeaseIsBreakingAndCannotBeAcquired: "A ID de concessão correspondeu, mas a concessão está atualmente em estado de quebra e não pode ser adquirida até que seja quebrada."
  • 409 Conflict, LeaseIsBreakingAndCannotBeChanged, "A ID de concessão correspondeu, mas a concessão está atualmente em estado de quebra e não pode ser alterada."
  • 409 Conflict, LeaseIsBrokenAndCannotBeRenewed, "A ID de concessão correspondeu, mas a concessão foi interrompida explicitamente e não pode ser renovada."
  • 409 Conflict, LeaseNameMismatch, "O nome de concessão especificado não correspondeu ao nome de concessão existente.".
  • 409 Conflict, LeaseNotPresentWithLeaseOperation, "A ID de concessão não está presente com a operação de concessão especificada".
  • 409 Conflict, PathAlreadyExists, "O caminho especificado já existe.".
  • 409 Conflict, PathConflict, "O caminho especificado ou um elemento do caminho existe e seu tipo de recurso é inválido para esta operação."
  • Conflito 409, SourcePathIsBeingDeleted, "O caminho de origem especificado está marcado para ser excluído.".
  • 409 Conflict, ResourceTypeMismatch, "O tipo de recurso especificado na solicitação não corresponde ao tipo do recurso".
  • 412 Precondition Failed, ConditionNotMet, "A condição especificada usando cabeçalhos condicionais HTTP não é atendida."
  • 412 Precondition Failed, LeaseIdMismatch, "A ID de concessão especificada não correspondeu à ID de concessão do recurso.".
  • 412 Precondition Failed, LeaseIdMissing: "Atualmente, há uma concessão no recurso e nenhuma ID de concessão foi especificada na solicitação."
  • 412 Precondition Failed, LeaseNotPresent, "No momento, não há nenhuma concessão no recurso".
  • 412 Precondition Failed, LeaseLost, "Uma ID de concessão foi especificada, mas a concessão do recurso expirou."
  • 412 Precondition Failed, SourceConditionNotMet, "A condição de origem especificada usando cabeçalhos condicionais HTTP não é atendida."
  • 413 Entidade de Solicitação Muito Grande, RequestBodyTooLarge: "O corpo da solicitação é muito grande e excede o limite máximo permitido".
  • 416 Intervalo Solicitado Não Satisfiável, InvalidRange: "O intervalo especificado é inválido para o tamanho atual do recurso".
  • 500 Erro interno do servidor, InternalError, "O servidor encontrou um erro interno. Repita a solicitação."
  • 500 Erro interno do servidor, OperationTimedOut, "A operação não pôde ser concluída dentro do tempo permitido".
  • 503 Serviço Indisponível, ServerBusy, "A saída está acima do limite da conta".
  • 503 Serviço Indisponível, ServerBusy, "A entrada está acima do limite da conta".
  • 503 Serviço Indisponível, ServerBusy, "As operações por segundo estão acima do limite da conta".
  • 503 Serviço Indisponível, ServerBusy, "No momento, o servidor não pode receber solicitações. Tente novamente a sua solicitação.”

Headers

  • x-ms-request-id: string
  • x-ms-version: string

Definições

Nome Description
DataLakeStorageError
Error

O objeto de resposta de erro de serviço.

PathRenameMode

Opcional. Válido somente quando o namespace está habilitado. Esse parâmetro determina o comportamento da operação de renomeação. O valor deve ser "herdado" ou "posix" e o valor padrão será "posix".

PathResourceType

Necessário apenas para Criar Arquivo e Criar Diretório. O valor deve ser "file" ou "directory".

DataLakeStorageError

Nome Tipo Description
error

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.

PathRenameMode

Opcional. Válido somente quando o namespace está habilitado. Esse parâmetro determina o comportamento da operação de renomeação. O valor deve ser "herdado" ou "posix" e o valor padrão será "posix".

Nome Tipo Description
legacy

string

posix

string

PathResourceType

Necessário apenas para Criar Arquivo e Criar Diretório. O valor deve ser "file" ou "directory".

Nome Tipo Description
directory

string

file

string