Partilhar via


Path - Create

Criar ficheiro | 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 locação, a concessão será quebrada. 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. 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. 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 do URI

Name Em Necessário Tipo Description
accountName
path True

string

O nome da conta de Armazenamento do Azure.

dnsSuffix
path True

string

O sufixo DNS para o ponto de extremidade do Armazenamento do Azure Data Lake.

filesystem
path True

string

O identificador do sistema de arquivos.

Padrão Regex: ^[$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 que são renomeados com cada invocação é limitado. Se o número de caminhos a serem renomeados exceder esse limite, um token de continuação será retornado nesse 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. Este parâmetro determina o comportamento da operação de renomeação. O valor deve ser "legado" 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 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"

Name Necessário Tipo Description
Cache-Control

string

Opcional. O serviço armazena esse valor e o inclui no cabeçalho de resposta "Cache-Control" para operações "Read File" para operações "Read File".

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 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 "Read File".

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 "Read File".

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 "Read File".

x-ms-content-encoding

string

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

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 "Read File".

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 só pode conter 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 da concessão deve corresponder.

Padrão Regex: ^[{(]?[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. Um ID de concessão para o caminho de origem. O caminho de origem deve ter uma concessão ativa e o ID de concessão deve corresponder.

Padrão Regex: ^[{(]?[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, ...", 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.

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-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 tiver uma ACL padrão, o umask restringe as permissões do arquivo ou diretório a ser criado. A permissão resultante é dada por p & ^u, onde p é a permissão e você é o umask. Por exemplo, se p é 0777 e você é 0057, então a permissão resultante é 0720. A permissão padrão é 0777 para um diretório e 0666 para um arquivo. O umask padrão é 0027. O umask deve ser especificado 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 direitos de controle de acesso POSIX em arquivos e diretórios. 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.

x-ms-proposed-lease-id

string

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

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

x-ms-expiry-option

string

Opcional e válido apenas se o Namespace Hierárquico estiver habilitado para a conta e somente for suportado em arquivos. Especifique uma das seguintes opções de expiração se quiser definir o tempo de expiração em um arquivo durante a criação. "RelativeToNow" Defina a expiração relativa à 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, o tempo de expiração não precisa ser especificado com esta opção.

x-ms-expiry-time

string

Opcional e válido apenas se o Namespace Hierárquico estiver habilitado para a conta e somente for suportado em arquivos. Especifique o tempo de expiração quando o arquivo expirar. Dado como RFC 1123 HTTP Time String ou número de milissegundos de acordo com a opção de expiração.

If-Match

string

Opcional. 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. 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. 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 ETag. Especifique esse cabeçalho para executar a operação de renomeação somente se o ETag da origem corresponder ao valor especificado. O ETag deve ser especificado 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 o ETag da origem não corresponder ao valor especificado. O ETag deve ser especificado 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 deste cabeçalho deve ser AES256.

x-ms-encryption-context

string

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

x-ms-client-transaction-id

string

Opcional. O padrão é "Vazio". Se o valor for definido, ele definirá metadados de Blob na criação ou renomeação do arquivo. Se o tempo limite da solicitação para o cliente, esse valor pode ser obtido usando a chamada Get Properties para confirmar se a solicitação com tempo limite expirado foi bem-sucedida ou não no final do serviço. Comprimento máximo- 36. Válido somente quando o Namespace Hierárquico estiver habilitado para a conta.

x-ms-client-request-id

string

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

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

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.

Respostas

Name Tipo Description
201 Created

O arquivo ou diretório foi criado.

Cabeçalhos

  • 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. O possível status HTTP, código e cadeias de caracteres de mensagem estão listados abaixo:

  • 400 Solicitação incorreta, ContentLengthMustBeZero, "O cabeçalho da solicitação Content-Length deve ser zero."
  • 400 Bad Request, InvalidAuthenticationInfo, "As informações de autenticação não são fornecidas no formato correto. Verifique o valor do cabeçalho Autorização."
  • 400 Bad Request, 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 anexar os dados carregados."
  • 400 Bad Request, InvalidHeaderValue, "O valor de um dos cabeçalhos HTTP não está no formato correto."
  • 400 Bad Request, InvalidHttpVerb, "O verbo HTTP especificado é inválido - não é reconhecido pelo servidor."
  • 400 Bad Request, InvalidInput, "Uma das entradas de solicitação não é válida."
  • 400 Bad Request, InvalidPropertyName, "Um nome de propriedade não pode estar vazio."
  • 400 Bad Request, InvalidPropertyName, "O nome da propriedade contém caracteres inválidos."
  • 400 Bad Request, InvalidQueryParameterValue, "O valor de um dos parâmetros de consulta especificados no URI da solicitação é inválido."
  • 400 Bad Request, InvalidResourceName, "O nome do recurso especificado contém caracteres inválidos."
  • 400 Bad Request, InvalidSourceUri, "O URI de origem é inválido."
  • 400 Bad Request, InvalidUri, "O URI da solicitação é inválido."
  • 400 Bad Request, MissingRequiredHeader, "Um cabeçalho HTTP obrigatório para esta solicitação não é especificado."
  • 400 Bad Request, MissingRequiredQueryParameter, "Um parâmetro de consulta obrigatório para esta solicitação não é especificado."
  • 400 Solicitação incorreta, MultipleConditionHeadersNotSupported, "Vários cabeçalhos de condição não são suportados."
  • 400 Bad Request, OutOfRangeInput, "Uma das entradas de solicitação está fora do intervalo."
  • 400 Bad Request, OutOfRangeQueryParameterValue, "Um dos parâmetros de consulta especificados no URI da solicitação está fora do intervalo permitido."
  • 400 Bad Request, UnsupportedHeader, "Um dos cabeçalhos especificados na solicitação não é suportado."
  • 400 Bad Request, UnsupportedQueryParameter, "Um dos parâmetros de consulta especificados no URI da solicitação não é suportado."
  • 400 Bad Request, UnsupportedRestVersion, "A versão rest especificada não é suportada."
  • 403 Proibido, AccountIsDisabled, "A conta especificada está desativada."
  • 403 Proibido, AuthorizationFailure, "Esta solicitação não está autorizada a executar esta operação."
  • 403 Forbidden, InsufficientAccountPermissions, "A conta que está sendo acessada não tem permissões suficientes para executar esta operação."
  • 404 Not Found, FilesystemNotFound, "O sistema de arquivos especificado não existe."
  • 404 Not Found, PathNotFound, "O caminho especificado não existe."
  • 404 Not Found, RenameDestinationParentPathNotFound, "O diretório pai do caminho de destino não existe."
  • 404 Not Found, ResourceNotFound, "O recurso especificado não existe."
  • 404 Not Found, SourcePathNotFound, "O caminho de origem para uma operação de renomeação não existe."
  • 405 Method Not Allowed, UnsupportedHttpVerb, "O recurso não suporta o 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 de Blob e não pode ser gravado pela API do Serviço de Armazenamento Data Lake."
  • 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 Conflito, LeaseAlreadyPresent, "Já existe um contrato de arrendamento presente."
  • 409 Conflict, LeaseIdMismatchWithLeaseOperation, "O ID de concessão especificado não correspondia ao ID de concessão do recurso com a operação de concessão especificada."
  • 409 Conflito, LeaseIsAlreadyBroken, "O contrato de arrendamento já foi quebrado e não pode ser quebrado novamente."
  • 409 Conflict, LeaseIsBreakingAndCannotBeAcquired, "O ID do contrato correspondeu, mas o contrato está atualmente em estado de quebra e não pode ser adquirido até que seja quebrado."
  • 409 Conflict, LeaseIsBreakingAndCannotBeChanged, "O ID da concessão correspondeu, mas a concessão está atualmente em estado de quebra e não pode ser alterada."
  • 409 Conflict, LeaseIsBrokenAndCannotBeRenewed, "O ID do contrato correspondeu, mas o contrato foi quebrado explicitamente e não pode ser renovado."
  • 409 Conflict, LeaseNameMismatch, "O nome da concessão especificado não correspondia ao nome da concessão existente."
  • 409 Conflict, LeaseNotPresentWithLeaseOperation, "O ID da 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."
  • 409 Conflict, 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çalho(s) condicional(is) HTTP não é atendida."
  • 412 Precondition Failed, LeaseIdMismatch, "O ID de concessão especificado não correspondeu ao ID de concessão do recurso."
  • 412 Precondition Failed, LeaseIdMissing, "Existe atualmente uma concessão no recurso e nenhuma ID de concessão foi especificada na solicitação."
  • 412 Precondition Failed, LeaseNotPresent, "Não há atualmente nenhuma concessão no recurso."
  • 412 Precondition Failed, LeaseLost, "Um ID de concessão foi especificado, mas a concessão para o recurso expirou."
  • 412 Precondition Failed, SourceConditionNotMet, "A condição de origem especificada usando cabeçalho(s) condicional(is) 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 satisfatório, InvalidRange, "O intervalo especificado é inválido para o tamanho atual do recurso."
  • 500 Internal Server Error, InternalError, "O servidor encontrou um erro interno. Por favor, tente novamente o pedido."
  • 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 Service Unavailable, ServerBusy, "O servidor não consegue receber solicitações no momento. Por favor, tente novamente o seu pedido."

Cabeçalhos

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

Definições

Name Description
DataLakeStorageError
Error

O objeto de resposta de erro de serviço.

PathRenameMode

Opcional. Válido somente quando o namespace está habilitado. Este parâmetro determina o comportamento da operação de renomeação. O valor deve ser "legado" 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

Name Tipo Description
error

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.

PathRenameMode

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

Name Tipo Description
legacy

string

posix

string

PathResourceType

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

Name Tipo Description
directory

string

file

string