Este documento descreve os metadados que são preservados quando usa o serviço de transferência de armazenamento para transferir dados entre várias origens e destinos.
Vista geral
O Serviço de transferência de armazenamento preserva os seguintes metadados:
Os metadados personalizados criados pelo utilizador para transferências originárias do Cloud Storage, do Amazon S3 ou do Microsoft Azure Blob Storage são preservados.
As transferências entre contentores do Cloud Storage podem preservar opcionalmente ACLs de objetos, chaves de encriptação geridas pelo cliente, classe de armazenamento, hora de criação do objeto (como o valor de um campo
customTime
) e retenções temporárias.Para transferências de qualquer origem para um contentor do Cloud Storage, a classe de armazenamento do objeto no contentor de destino pode ser definida para qualquer classe suportada como parte da transferência.
O tamanho do ficheiro e a hora da última modificação (
mtime
) são preservados para transferências originárias de sistemas de ficheiros POSIX.mtime
não é preservado para pastas.Opcionalmente, os links simbólicos, o UID numérico, o GID numérico e o MODE numérico podem ser preservados para transferências de e para sistemas de ficheiros POSIX.
Para transferências apenas entre sistemas de ficheiros, se o UID, o GID ou o MODE forem preservados, esses metadados também são preservados para pastas. O Cloud Storage recria as pastas no sistema de ficheiros de destino e restaura o UID, o GID e/ou o MODE. Isto inclui pastas vazias.
mtime
não é preservado.Os metadados ao nível da pasta não são preservados se a transferência for feita através de um manifesto.
Os campos de metadados que não são mencionados explicitamente neste documento não são preservados.
Comportamento de preservação de metadados
As secções seguintes apresentam exemplos de metadados de diferentes sistemas de armazenamento de origem e como o serviço de transferência de armazenamento preserva os metadados de cada um. Para uma lista exaustiva de metadados, consulte a documentação do sistema de armazenamento de origem.
Amazon S3 ou armazenamento compatível com S3 para o Cloud Storage
Exemplo de metadados | Comportamento de preservação |
---|---|
Campos de metadados de chave fixa do Amazon S3, como:
Cache-Control ,
Content-Disposition e
Content-Type .
|
Preservado como metadados de chave fixa. |
Metadados definidos pelo utilizador do Amazon S3, formatados como pares de chave:valor. Para mais informações, consulte a secção Metadados de objetos definidos pelo utilizador da secção Chave e metadados de objetos. |
Preservados como um campo de metadados personalizado nos objetos do Cloud Storage de destino, que pode editar ou remover mais tarde. |
ETag |
Preservado como um campo de metadados personalizados com a chave
x-goog-source-etag , que pode editar ou remover mais tarde.
|
Tamanho do objeto. |
Preservado como size .
|
Listas de controlo de acesso (LCAs) do Amazon S3. Para ver uma lista completa, consulte a secção Chaves de condição de Vista geral da lista de controlo de acesso (ACL). | Não preservado. |
Etiquetas de objetos do Amazon S3, definidas por si como pares de chave-valor. Para mais informações, consulte Etiquetas de objetos. | Não preservado. |
Metadados definidos pelo sistema do Amazon S3, exceto ETag e o tamanho do objeto. Para ver uma lista completa, consulte a secção
Metadados de objetos definidos pelo sistema de
Chave e metadados de objetos. |
Não preservado.
Os metadados de indicação de tempo da origem não são preservados. A hora de criação,
|
Classe de armazenamento |
Existem várias opções para definir a classe de armazenamento durante uma transferência.
Consulte a documentação de referência de metadataOptions para ver detalhes. |
Do armazenamento do Microsoft Azure para o Cloud Storage
Exemplo de metadados | Comportamento de preservação |
---|---|
Campos de metadados de chave fixa do Microsoft Azure Storage, como:
Cache-Control ,
Content-Disposition e
Content-Type .
|
Preservado como metadados de chave fixa. |
Metadados definidos pelo utilizador do Microsoft Azure Storage, formatados como pares de chave:valor. Para mais informações, consulte Definições e obtenção de propriedades e metadados para recursos do serviço Blob . |
Preservados como um campo de metadados personalizado nos objetos do Cloud Storage de destino, que pode editar ou remover mais tarde. |
ETag
|
Preservado como um campo de metadados personalizados com a chave
x-goog-source-etag , que pode editar ou remover mais tarde.
|
Tamanho do objeto. |
Preservado como size .
|
Autorizações do sistema de ficheiros POSIX suportadas pelo Azure Data Lake Storage (ADLS) Gen 2. | Não preservado. |
Controlo de acesso do Microsoft Azure Storage, especificamente
x-ms-blob-public-access . Para mais informações, consulte a secção
Cabeçalhos de resposta
de
Obter ACL do contentor
.
|
Não preservado. |
Etiquetas de índice do Microsoft Azure Storage. Para mais informações, consulte o artigo Faça a gestão e encontre dados de blobs do Azure com etiquetas de índice de blobs . | Não preservado. |
Metadados de indicação de tempo do armazenamento do Microsoft Azure, como:
Last-Modified ,
x-ms-creation-time ,
x-ms-version ,
x-ms-request-server-encrypted e
x-ms-encryption-scope .
Para mais informações, consulte o artigo
Definir metadados de blobs
.
|
Não preservado.
Os metadados de indicação de tempo da origem não são preservados. A hora de criação,
|
Classe de armazenamento |
Existem várias opções para definir a classe de armazenamento durante uma transferência.
Consulte a documentação de referência de metadataOptions para ver detalhes. |
Transferências entre contentores do Cloud Storage
Exemplo de metadados | Comportamento de preservação |
---|---|
Campos de metadados de chave fixa do Cloud Storage, como:
Para mais informações, consulte o artigo Metadados de objetos |
Preservado como metadados de chave fixa. |
Metadados definidos pelo utilizador do Cloud Storage, formatados como pares de chave:valor. Para mais informações, consulte o artigo Metadados personalizados. |
Preservados como um campo de metadados personalizado nos objetos do Cloud Storage de destino, que pode editar ou remover mais tarde. |
Tamanho do objeto |
Preservado como size .
|
Geração de objetos |
Preservado como um campo de metadados personalizado com a chave
x-goog-reserved-source-generation , que pode editar mais tarde
ou remover.
|
Retenções de objetos |
As retenções com base em eventos não são preservadas. Se o contentor de destino tiver a propriedade de retenção predefinida baseada em eventos ativada, é aplicada uma retenção baseada em eventos aos objetos transferidos. As retenções temporárias são preservadas por predefinição. Para rejeitar retenções temporárias durante a transferência, defina o campo |
Listas de controlo de acesso (LCAs) |
Opcionalmente, é possível preservar as ACLs. Consulte a documentação de referência de metadataOptions para ver detalhes. Quando preservar as ACLs, tenha cuidado para evitar a criação de objetos inacessíveis. Para mais informações, consulte a documentação das listas de controlo de acesso do Cloud Storage. |
Classe de armazenamento |
Existem várias opções para definir a classe de armazenamento durante uma transferência.
Consulte a documentação de referência de metadataOptions para ver detalhes. |
Chave de encriptação gerida pelo cliente |
Se estiver a ser usada uma chave de encriptação gerida pelo cliente (CMEK) num objeto, o objeto pode, opcionalmente, usar a mesma chave quando é escrito no contentor de destino. O comportamento predefinido é escrever o objeto no contentor de destino usando o método de encriptação do contentor. Quando preserva a CMEK original, tenha em atenção as seguintes limitações:
Consulte a documentação de referência de metadataOptions para ver detalhes. |
Metadados de data/hora |
Os metadados |
Outros metadados não editáveis do Cloud Storage, como
etag e componentCount .
|
Não preservado. |
Para ver uma lista de metadados no Cloud Storage, consulte a secção Objetos.
Transferência da lista de URLs para o Cloud Storage
Para mais informações sobre listas de URLs, consulte o artigo Criar uma lista de URLs.
Exemplo de metadados | Comportamento de preservação |
---|---|
Campos de metadados de chave fixa, como:
Cache-Control ,
Content-Disposition e
Content-Type .
|
Preservados como metadados editáveis. |
Content-Length e
MD5
|
Preservados como metadados não editáveis.
Se a origem não fornecer um valor hash
Este comportamento de preservação é específico de |
Metadados de data/hora, como: data/hora de criação, data/hora de modificação e outros metadados específicos da origem. |
Não preservado.
Os metadados de indicação de tempo da origem não são preservados. A hora de criação,
|
Classe de armazenamento |
Existem várias opções para definir a classe de armazenamento durante uma transferência.
Consulte a documentação de referência de metadataOptions para ver detalhes. |
Transferências do sistema de ficheiros POSIX
Quando transfere ficheiros de sistemas de ficheiros POSIX, o Serviço de transferência de armazenamento pode, opcionalmente, preservar determinados atributos como metadados personalizados. Se estes ficheiros forem posteriormente escritos novamente num sistema de ficheiros, o Serviço de transferência de armazenamento pode converter os metadados preservados novamente em atributos POSIX.
Exemplo de metadados | Comportamento de preservação |
---|---|
Hora de modificação (mtime )
|
Preservado.
|
Tamanho do ficheiro |
Preservado. O tamanho do ficheiro é preservado como |
UID numérico GID numérico MODO numérico Links simbólicos |
Opcional. O comportamento de preservação é especificado com o objeto O comportamento predefinido é não preservar metadados. |
Metadados da pasta | Os metadados ao nível da pasta só são preservados para transferências entre sistemas de ficheiros. As definições de preservação do UID, GID e MODE da transferência aplicam-se
a ficheiros e pastas para estas transferências.
O nome Os metadados das pastas não são preservados para transferências de manifestos. |
Classe de armazenamento |
Existem várias opções para definir a classe de armazenamento durante uma transferência.
Consulte a documentação de referência de metadataOptions para ver detalhes. |
Preservar metadados POSIX opcionais
Para preservar um ou mais dos seguintes elementos: UID numérico, GID numérico, MODE numérico e links simbólicos, especifique um objeto
no corpo da tarefa de transferência.metadataOptions
Estas opções aplicam-se a transferências de POSIX para o Cloud Storage e de Cloud Storage para POSIX. Para este último, os metadados têm de ter sido preservados quando os ficheiros foram transferidos inicialmente para o Cloud Storage.
{
"description": "metadata-example",
"projectId": "example-project-id"
"transferSpec": {
...
"transferOptions": {
"metadataOptions": {
"gid": "GID_NUMBER", # Default is "GID_SKIP"
"uid": "UID_NUMBER", # Default is "UID_SKIP"
"mode": "MODE_PRESERVE", # Default is "MODE_SKIP"
"symlink": "SYMLINK_PRESERVE" # Default is "SYMLINK_SKIP"
}
}
}
}
POSIX para Cloud Storage
Os metadados preservados são armazenados no Cloud Storage como pares de chave:valor de metadados personalizados.
- O GID numérico é armazenado como
goog-reserved-posix-gid
. - O UID numérico é armazenado como
goog-reserved-posix-uid
. - O MODE numérico é armazenado como
goog-reserved-posix-mode
.
Para links simbólicos, o serviço de transferência de armazenamento preserva o link de destino como um objeto no armazenamento na nuvem com as seguintes qualidades:
- A chave do objeto é composta pelo prefixo de destino mais o caminho para a ligação simbólica, relativamente a
root_directory
. - Metadados do objeto:
- Todos os metadados de links simbólicos são preservados como metadados de objetos do Cloud Storage.
- É criada uma entrada de metadados personalizados:
goog-reserved-file-is-symlink:true
.
- O conteúdo do objeto é o destino do link simbólico. Por exemplo, para um symlink
sym-> dir1/target
, o conteúdo do objeto é "dir1/target".
O serviço de transferência de armazenamento não valida o link nem copia o ficheiro de destino.
Do Cloud Storage para POSIX
Se os metadados forem preservados quando os ficheiros são transferidos para o Cloud Storage, esses metadados podem ser reescritos nos ficheiros quando são transferidos novamente para um sistema de ficheiros POSIX.
Se uma opção de metadados estiver definida para preservar, o Serviço de transferência de armazenamento toma as seguintes ações:
- Links simbólicos: o serviço de transferência de armazenamento cria um ficheiro de ligação simbólica que aponta para o link de destino. Se o ficheiro de destino não existir, a ligação simbólica é interrompida.
- GID, UID e MODE: os valores armazenados nos metadados do Cloud Storage são reescritos no ficheiro.
POSIX para POSIX
As transferências entre sistemas de ficheiros podem preservar opcionalmente o GID, o UID e o MODE para ficheiros e pastas.
A hora da última modificação é guardada para ficheiros, mas não para pastas. mtime
está definido como a hora de criação da pasta no sistema de ficheiros de destino.
O serviço de transferência de armazenamento guarda os metadados das pastas criando objetos de pastas de 0 bytes no contentor intermédio e, em seguida, copiando esses metadados de volta para a pasta no sistema de ficheiros de destino. Por este motivo, o número de objetos criados no contentor intermédio pode ser superior ao número de ficheiros que estão a ser transferidos.