Partilhar via


Path - Create

Criar Ficheiro | Criar Diretório | Mudar o Nome do Ficheiro | Mudar o Nome do Diretório
Criar ou mudar o nome de um ficheiro ou diretório. Por predefinição, o destino é substituído e, se o destino já existir e tiver uma concessão, a concessão será interrompida. Tenha em atenção que mudar o nome de um ficheiro ou diretório para um contentor com uma política de encriptação de contentor imposta não é permitido, a menos que o contentor de origem também tenha uma política de encriptação de contentores imposta que corresponda. Esta operação suporta pedidos HTTP condicionais. Para obter mais informações, veja Especificar Cabeçalhos Condicionais para Operações do Serviço Blob. Para falhar se o destino já existir, utilize um pedido 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 final Azure Data Lake Storage.

filesystem
path True

string

O identificador do sistema de ficheiros.

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

path
path True

string

O caminho do ficheiro ou diretório.

continuation
query

string

Opcional. Ao mudar o nome de um diretório, o número de caminhos cujo nome é mudado com cada invocação é limitado. Se o número de caminhos cujo nome deve ser mudado exceder este limite, é devolvido um token de continuação neste cabeçalho de resposta. Quando um token de continuação é devolvido na resposta, tem de ser especificado numa invocação subsequente da operação de mudança de nome para continuar a mudar o nome do diretório.

mode
query

PathRenameMode

Opcional. Válido apenas quando o espaço de nomes está ativado. Este parâmetro determina o comportamento da operação de mudança de nome. O valor tem de ser "legado" ou "posix" e o valor predefinido será "posix".

resource
query

PathResourceType

Necessário apenas para Criar Ficheiro e Criar Diretório. O valor tem de ser "ficheiro" ou "diretório".

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"

Name Necessário Tipo Description
Cache-Control

string

Opcional. O serviço armazena este valor e inclui-o no cabeçalho de resposta "Cache-Control" para operações "Ler Ficheiro" para operações de "Ler Ficheiro".

Content-Encoding

string

Opcional. Especifica as codificações de conteúdo que foram aplicadas ao ficheiro. Este valor é devolvido ao cliente quando a operação "Ler Ficheiro" é executada.

Content-Language

string

Opcional. Especifica a linguagem natural utilizada pela audiência pretendida para o ficheiro.

Content-Disposition

string

Opcional. O serviço armazena este valor e inclui-o no cabeçalho de resposta "Content-Disposition" para operações "Ler Ficheiro".

x-ms-cache-control

string

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

string

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

x-ms-content-disposition

string

Opcional. O serviço armazena este valor e inclui-o no cabeçalho de resposta "Content-Disposition" para operações "Ler Ficheiro".

x-ms-rename-source

string

Um ficheiro ou diretório opcional cujo nome deve ser mudado. O valor tem de ter o seguinte formato: "/{filesystem}/{path}" ou "/{filesystem}/{path}?sastoken" ao utilizar um token de SAS. Se "x-ms-properties" for especificado, as propriedades substituirão as propriedades existentes; caso contrário, as propriedades existentes serão preservadas. Este valor tem de ser uma cadeia codificada por percentagem de URL. Tenha em atenção que a cadeia só pode conter carateres ASCII no conjunto de carateres ISO-8859-1.

x-ms-lease-id

string

Opcional. Um ID de concessão para o caminho especificado no URI. O caminho a substituir tem de ter uma concessão ativa e o ID de concessão tem de 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 mudança de nome. Um ID de concessão para o caminho de origem. O caminho de origem tem de ter uma concessão ativa e o ID de concessão tem de 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 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.

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-umask

string

Opcional e válido apenas se o Espaço de Nomes Hierárquico estiver ativado para a conta. Ao criar um ficheiro ou diretório e a pasta principal não tiver uma ACL predefinida, a umask restringe as permissões do ficheiro ou diretório a criar. A permissão resultante é dada por p & ^u, em que p é a permissão e o utilizador é a umask. Por exemplo, se p for 0777 e for 0057, a permissão resultante será 0720. A permissão predefinida é 0777 para um diretório e 0666 para um ficheiro. A umask predefinida é 0027. A umask tem de ser especificada em notação octal de 4 dígitos (por exemplo, 0766).

x-ms-owner

string

Opcional e válido apenas se o Espaço de Nomes Hierárquico estiver ativado para a conta. Define o proprietário do ficheiro ou diretório.

x-ms-group

string

Opcional e válido apenas se o Espaço de Nomes Hierárquico estiver ativado para a conta. Define o grupo proprietário do ficheiro ou diretório.

x-ms-acl

string

Opcional e válido apenas se o Espaço de Nomes Hierárquico estiver ativado para a conta. Define direitos de controlo de acesso POSIX em ficheiros e diretórios. 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.

x-ms-proposed-lease-id

string

Opcional. Especifique um ID de concessão proposto se pretender adquirir uma concessão durante a criação de um ficheiro ou diretório. Será adquirida uma concessão com este ID de concessão se a criação for efetuada com êxito.

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

x-ms-expiry-option

string

Opcional e apenas válido se o Espaço de Nomes Hierárquico estiver ativado para a conta e apenas suportado em ficheiros. Especifique uma das seguintes opções de expiração se quiser definir o tempo de expiração num ficheiro durante a criação. "RelativeToNow" Defina a expiração relativamente à hora atual. O utilizador irá passar o número de milissegundos decorridos a partir de agora. Tempo absoluto "Absoluto" no Formato RFC 1123. "Neverexpire" Defina o ficheiro para nunca expirar, o tempo de expiração não precisa de ser especificado com esta opção.

x-ms-expiry-time

string

Opcional e apenas válido se o Espaço de Nomes Hierárquico estiver ativado para a conta e apenas suportado em ficheiros. Especifique a hora de expiração quando expirar o ficheiro. Dado como RFC 1123 Cadeia de Tempo HTTP ou número de milissegundos de acordo com a opção de expiração.

If-Match

string

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

string

Opcional. Um valor ETag. Especifique este cabeçalho para efetuar a operação de mudança de nome apenas se a ETag da origem corresponder ao valor especificado. A ETag tem de ser especificada entre aspas.

x-ms-source-if-none-match

string

Opcional. Um valor ETag ou o valor de caráter universal especial ("*"). Especifique este cabeçalho para efetuar a operação de mudança de nome apenas se a ETag da origem não corresponder ao valor especificado. A ETag tem de ser especificada entre aspas.

x-ms-source-if-modified-since

string

Opcional. Um valor de data e hora. Especifique este cabeçalho para efetuar a operação de mudança de nome apenas 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 este cabeçalho para efetuar a operação de mudança de nome apenas se a origem não tiver sido modificada 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-encryption-context

string

Opcional. A predefinição é "Vazio". Se o valor estiver definido, definirá os metadados do sistema de blobs/ficheiros. Comprimento máximo- 1024. Válido apenas quando o Espaço de Nomes Hierárquico está ativado para a conta.

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: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

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.

Respostas

Name Tipo Description
201 Created

O ficheiro 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. As possíveis cadeias de estado HTTP, código e mensagem estão listadas abaixo:

  • 400 Pedido Incorreto, ContentLengthMustBeZero, "O cabeçalho do pedido Content-Length tem de ser zero".
  • 400 Pedido Incorreto, InvalidAuthenticationInfo, "As informações de autenticação não são fornecidas no formato correto. Verifique o valor do cabeçalho Autorização."
  • 400 Pedido Incorreto, 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 ficheiro depois de acrescentar os dados carregados."
  • 400 Pedido Incorreto, InvalidHeaderValue, "O valor de um dos cabeçalhos HTTP não está no formato correto."
  • 400 Pedido Inválido, InválidoHttpVerb, "O verbo HTTP especificado é inválido – não é reconhecido pelo servidor."
  • 400 Pedido Incorreto, InvalidInput, "Uma das entradas do pedido não é válida".
  • 400 Pedido Inválido, InvalidPropertyName, "Um nome de propriedade não pode estar vazio".
  • 400 Pedido Inválido, InvalidPropertyName, "O nome da propriedade contém carateres inválidos.".
  • 400 Pedido Inválido, InvalidQueryParameterValue, "O valor de um dos parâmetros de consulta especificados no URI do pedido é inválido."
  • 400 Pedido Inválido, InvalidResourceName, "O nome do recurso especificado contém carateres inválidos.".
  • 400 Pedido Incorreto, InvalidSourceUri, "O URI de origem é inválido".
  • 400 Pedido Incorreto, InvalidUri, "O URI do pedido é inválido".
  • 400 Pedido Incorreto, MissingRequiredHeader, "Não foi especificado um cabeçalho HTTP obrigatório para este pedido.".
  • 400 Pedido Incorreto, MissingRequiredQueryParameter, "Não foi especificado um parâmetro de consulta obrigatório para este pedido.".
  • 400 Pedido Incorreto, MultipleConditionHeadersNotSupported, "Vários cabeçalhos de condição não são suportados".
  • 400 Pedido Incorreto, OutOfRangeInput, "Uma das entradas do pedido está fora do intervalo".
  • 400 Pedido Incorreto, OutOfRangeQueryParameterValue, "Um dos parâmetros de consulta especificados no URI do pedido está fora do intervalo permitido."
  • 400 Pedido Incorreto, Não SuportadoHeader, "Um dos cabeçalhos especificados no pedido não é suportado."
  • 400 Pedido Incorreto, Não SuportadoQueryParameter, "Um dos parâmetros de consulta especificados no URI do pedido não é suportado."
  • 400 Pedido Incorreto, UnsupportedRestVersion, "A Versão Rest especificada não é suportada".
  • 403 Proibido, AccountIsDisabled, "A conta especificada está desativada".
  • 403 Proibido, AuthorizationFailure, "Este pedido não está autorizado a realizar esta operação."
  • 403 Proibido, InsufficientAccountPermissions, "A conta a ser acedida não tem permissões suficientes para executar esta operação."
  • 404 Não Encontrado, FilesystemNotFound, "O sistema de ficheiros especificado não existe".
  • 404 Não Encontrado, PathNotFound, "O caminho especificado não existe".
  • 404 Não Encontrado, RenameDestinationParentPathNotFound, "O diretório principal 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 mudança de nome não existe".
  • Método 405 Não Permitido, Não SuportadoHttpVerb, "O recurso não suporta o verbo HTTP especificado".
  • 409 Conflito, DestinationPathIsBeingDeleted, "O caminho de destino especificado está marcado para ser eliminado".
  • 409 Conflito, DirectoryNotEmpty, "O valor do parâmetro de consulta recursivo tem de ser verdadeiro para eliminar um diretório não vazio."
  • 409 Conflito, FilesystemAlreadyExists, "O sistema de ficheiros especificado já existe".
  • 409 Conflito, FilesystemBeingDeleted, "O sistema de ficheiros especificado está a ser eliminado".
  • 409 Conflito, InvalidDestinationPath, "O caminho especificado, ou um elemento do caminho, existe e o tipo de recurso é inválido para esta operação." * 409 Conflito, InvalidFlushOperation, "O recurso foi criado ou modificado pela API do Serviço Blob e não pode ser escrito pela API de Serviço Data Lake Storage.".
  • 409 Conflito, 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 Conflito, InvalidSourceOrDestinationResourceType, "O tipo de recurso de origem e destino tem de ser idêntico".
  • 409 Conflito, LeaseAlreadyPresent, "Já existe uma concessão presente."
  • 409 Conflito, LeaseIdMismatchWithLeaseOperation, "O ID de concessão especificado não correspondeu ao ID de concessão do recurso com a operação de concessão especificada."
  • 409 Conflito, LeaseIsAlreadyBroken, "A concessão já foi quebrada e não pode ser quebrada novamente."
  • 409 Conflict, LeaseIsBreakingAndCannotBeAcquired, "The lease ID matched, but the lease is currently in breaking state and cannot be acquired until it is broken."
  • 409 Conflito, LeaseIsBreakingAndCannotBeChanged, "O ID de concessão correspondeu, mas a concessão está atualmente em estado de interrupção e não pode ser alterada."
  • 409 Conflito, LeaseIsBrokenAndCannotBeRenewed, "O ID de concessão correspondeu, mas a concessão foi quebrada explicitamente e não pode ser renovada."
  • 409 Conflito, LeaseNameMismatch, "O nome da concessão especificado não corresponde ao nome da concessão existente."
  • 409 Conflito, LeaseNotPresentWithLeaseOperation, "O ID de concessão não está presente na operação de concessão especificada."
  • 409 Conflito, PathAlreadyExists, "O caminho especificado já existe".
  • 409 Conflito, PathConflict, "O caminho especificado, ou um elemento do caminho, existe e o tipo de recurso é inválido para esta operação."
  • 409 Conflito, SourcePathIsBeingDeleted, "O caminho de origem especificado está marcado para ser eliminado".
  • 409 Conflito, ResourceTypeMismatch, "O tipo de recurso especificado no pedido não corresponde ao tipo de recurso."
  • 412 Precondition Failed, ConditionNotMet, "The condition specified using HTTP conditional header(s) is not met."
  • 412 Precondition Failed, LeaseIdMismatch, "The lease ID specified not match the lease ID for the resource."
  • 412 Precondition Failed, LeaseIdMissing, "There is currently a lease on the resource and no lease ID was specified in the request."
  • 412 Precondition Failed, LeaseNotPresent, "Não existe atualmente nenhuma concessão no recurso.".
  • 412 Precondition Failed, LeaseLost, "A lease ID was specified, but the lease for the resource has expired."
  • 412 Precondition Failed, SourceConditionNotMet, "The source condition specified using HTTP conditional header(s) is not met."
  • 413 Request Entity Too Large, RequestBodyTooLarge, "The request body is too large and exceeds the maximum permissible limit."
  • 416 Intervalo Pedido Não Satisfiable, InvalidRange, "O intervalo especificado é inválido para o tamanho atual do recurso."
  • Erro interno do Servidor 500, InternalError, "O servidor encontrou um erro interno. Repita o pedido."
  • 500 Erro interno do Servidor, OperationTimedOut, "Não foi possível concluir a operação dentro do tempo permitido".
  • 503 Serviço Indisponível, ServerBusy, "A saída ultrapassou o 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".
  • Serviço 503 Indisponível, ServerBusy, "Atualmente, o servidor não consegue receber pedidos. 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 do serviço.

PathRenameMode

Opcional. Válido apenas quando o espaço de nomes está ativado. Este parâmetro determina o comportamento da operação de mudança de nome. O valor tem de ser "legado" ou "posix" e o valor predefinido será "posix".

PathResourceType

Necessário apenas para Criar Ficheiro e Criar Diretório. O valor tem de ser "ficheiro" ou "diretório".

DataLakeStorageError

Name Tipo Description
error

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.

PathRenameMode

Opcional. Válido apenas quando o espaço de nomes está ativado. Este parâmetro determina o comportamento da operação de mudança de nome. O valor tem de ser "legado" ou "posix" e o valor predefinido será "posix".

Name Tipo Description
legacy

string

posix

string

PathResourceType

Necessário apenas para Criar Ficheiro e Criar Diretório. O valor tem de ser "ficheiro" ou "diretório".

Name Tipo Description
directory

string

file

string