Configuração para executar uma transferência.
Representação JSON |
---|
{ "objectConditions": { object ( |
Campos | |
---|---|
objectConditions |
Somente os objetos que atendem a essas condições são incluídos no conjunto de objetos de origem e coletor de dados. As condições de objetos com base na "última modificação" não excluem objetos em um coletor de dados. |
transferOptions |
Se a opção |
transferManifest |
Um arquivo de manifesto fornece uma lista de objetos a serem transferidos da fonte de dados. Esse campo aponta para o local do arquivo de manifesto. Caso contrário, o bucket de origem inteiro será usado. A ObjectConditions ainda se aplica. |
sourceAgentPoolName |
Especifica o nome do pool de agentes associado à fonte de dados posix. Se não for especificado, o nome padrão será usado. |
sinkAgentPoolName |
Especifica o nome do pool de agentes associado ao coletor de dados posix. Se não for especificado, o nome padrão será usado. |
Campo de união data_sink . O coletor de gravação dos dados. data_sink pode ser apenas de um dos tipos a seguir: |
|
gcsDataSink |
Um destino de dados do Cloud Storage. |
posixDataSink |
Um destino de dados do sistema de arquivos POSIX. |
Campo de união data_source . A origem de leitura dos dados. data_source pode ser apenas de um dos tipos a seguir: |
|
gcsDataSource |
Uma origem de dados do Cloud Storage. |
awsS3DataSource |
Uma origem de dados do AWS S3. |
httpDataSource |
Uma origem de dados de URL HTTP. |
posixDataSource |
Uma origem de dados do sistema de arquivos POSIX. |
azureBlobStorageDataSource |
Uma fonte de dados do Armazenamento de blobs do Azure. |
awsS3CompatibleDataSource |
Uma origem de dados compatível com o AWS S3. |
hdfsDataSource |
Uma fonte de dados de cluster do HDFS. |
Campo de união
|
|
gcsIntermediateDataLocation |
Para transferências entre sistemas de arquivos, especifica um bucket do Cloud Storage para ser usado como um local intermediário para transferir dados. Consulte Transferir dados entre sistemas de arquivos para mais informações. |
PosixFilesystem
Um recurso de sistema de arquivos POSIX.
Representação JSON |
---|
{ "rootDirectory": string } |
Campos | |
---|---|
rootDirectory |
Caminho do diretório raiz para o sistema de arquivos. |
AwsS3Data
Um recurso AwsS3Data pode ser uma fonte de dados, mas não um destino de dados. Em um recurso AwsS3Data, o nome de um objeto é o nome da chave do objeto S3.
Representação JSON |
---|
{ "bucketName": string, "awsAccessKey": { object ( |
Campos | |
---|---|
bucketName |
Obrigatório. Nome do bucket do S3 (consulte Criar um bucket). |
awsAccessKey |
Somente entrada. Chave de acesso da AWS usada para assinar as solicitações de API para o bucket do S3 da AWS. As permissões no bucket precisam ser concedidas ao ID de acesso da chave de acesso da AWS. Para informações sobre nossa política de retenção de dados de credenciais do usuário, consulte Credenciais do usuário. |
path |
Caminho raiz para transferir objetos. Precisa ser uma string vazia ou um nome de caminho completo que termine com um "/". Esse campo é tratado como um prefixo de objeto. Por isso, geralmente não deve começar com um "/". |
roleArn |
O nome do recurso da Amazon (ARN) do papel para oferecer suporte a credenciais temporárias por Quando um ARN de função é fornecido, o Serviço de transferência busca credenciais temporárias para a sessão usando uma chamada |
cloudfrontDomain |
Opcional. O nome de domínio da distribuição do CloudFront que aponta para este bucket, para uso ao buscar. Consulte Transferir do S3 pelo CloudFront para mais informações. Formato: |
credentialsSecret |
Opcional. O nome do recurso de um secret no Secret Manager. As credenciais da AWS precisam ser armazenadas no Secret Manager no formato JSON: { "accessKeyId": "ACCESS_KEY_ID", "secretAccessKey": "SECRET_ACCESS_KEY" }
Consulte Configurar o acesso a uma fonte: Amazon S3 para mais informações. Se Formato: |
Campo de união
|
|
managedPrivateNetwork |
Bytes de saída em uma rede privada gerenciada pelo Google. Essa rede é compartilhada entre outros usuários do Serviço de transferência do Storage. |
AwsAccessKey
Chave de acesso da AWS (consulte Credenciais de segurança da AWS).
Para informações sobre nossa política de retenção de dados de credenciais do usuário, consulte Credenciais do usuário.
Representação JSON |
---|
{ "accessKeyId": string, "secretAccessKey": string } |
Campos | |
---|---|
accessKeyId |
Obrigatório. ID da chave de acesso da AWS. |
secretAccessKey |
Obrigatório. Chave de acesso secreta da AWS. Esse campo não é retornado nas respostas de RPC. |
HttpData
Um recurso HttpData especifica uma lista de objetos na Web que serão transferidos por HTTP. As informações dos objetos a serem transferidos estão contidas em um arquivo referenciado por um URL. A primeira linha do arquivo precisa ser "TsvHttpData-1.0"
, que especifica o formato do arquivo. As linhas seguintes especificam as informações da lista de objetos, um objeto por entrada. Cada entrada tem os seguintes campos delimitados por tabulação:
URL HTTP: o local do objeto.
Comprimento: o tamanho do objeto em bytes.
MD5: o hash MD5 codificado em base64 do objeto.
Para conferir um exemplo de arquivo TSV válido, consulte Transferir dados de URLs.
Ao transferir dados com base em uma lista de URLs, considere o seguinte:
Quando um objeto localizado em
http(s)://hostname:port/<URL-path>
é transferido para um destino de dados, o nome do objeto no destino de dados é<hostname>/<URL-path>
.Se o tamanho especificado de um objeto não corresponder ao tamanho real do objeto buscado, ele não será transferido.
Se o MD5 especificado não corresponder ao MD5 calculado a partir dos bytes transferidos, a transferência do objeto falhará.
Cada URL especificado por você é acessível publicamente. Por exemplo, no Cloud Storage, você pode compartilhar um objeto publicamente e gerar um link para ele.
O Serviço de transferência do Cloud Storage obedece às regras
robots.txt
e exige que o servidor HTTP de origem ofereça suporte a solicitaçõesRange
e retorne um cabeçalhoContent-Length
em cada resposta.ObjectConditions
não tem efeito ao filtrar objetos para transferência.
Representação JSON |
---|
{ "listUrl": string } |
Campos | |
---|---|
listUrl |
Obrigatório. O URL que aponta para o arquivo que armazena as entradas da lista de objetos. Esse arquivo precisa permitir acesso público. Atualmente, apenas URLs com esquemas HTTP e HTTPS são aceitos. |
AzureBlobStorageData
Um recurso AzureBlobStorageData pode ser uma fonte de dados, mas não um destino de dados. Um recurso AzureBlobStorageData representa um contêiner do Azure. A conta de armazenamento determina o endpoint do Azure. Em um recurso AzureBlobStorageData, o nome de um blob é o nome da chave do blob do Armazenamento de blobs do Azure.
Representação JSON |
---|
{
"storageAccount": string,
"azureCredentials": {
object ( |
Campos | |
---|---|
storageAccount |
Obrigatório. O nome da conta do Armazenamento do Azure. |
azureCredentials |
Obrigatório. Somente entrada. Credenciais usadas para autenticar solicitações de API no Azure. Para informações sobre nossa política de retenção de dados de credenciais do usuário, consulte Credenciais do usuário. |
container |
Obrigatório. O contêiner a ser transferido da conta do Azure Storage. |
path |
Caminho raiz para transferir objetos. Precisa ser uma string vazia ou um nome de caminho completo que termine com um "/". Esse campo é tratado como um prefixo de objeto. Por isso, geralmente não deve começar com um "/". |
credentialsSecret |
Opcional. O nome do recurso de um secret no Secret Manager. O token SAS do Azure precisa ser armazenado no Secret Manager no formato JSON: { "sasToken" : "SAS_TOKEN" }
Consulte Configurar o acesso a uma origem: Armazenamento de blobs do Microsoft Azure para mais informações. Se Formato: |
AzureCredentials
Credenciais do Azure
Para informações sobre nossa política de retenção de dados de credenciais do usuário, consulte Credenciais do usuário.
Representação JSON |
---|
{ "sasToken": string } |
Campos | |
---|---|
sasToken |
Obrigatório. Assinatura de acesso compartilhado (SAS) do Azure. Para mais informações sobre SAS, consulte Conceder acesso limitado aos recursos do Azure Storage usando assinaturas de acesso compartilhado (SAS). |
AwsS3CompatibleData
Um recurso AwsS3CompatibleData.
Representação JSON |
---|
{ "bucketName": string, "path": string, "endpoint": string, "region": string, // Union field |
Campos | |
---|---|
bucketName |
Obrigatório. Especifica o nome do bucket. |
path |
Especifica o caminho raiz para transferir objetos. Precisa ser uma string vazia ou um nome de caminho completo que termine com um "/". Esse campo é tratado como um prefixo de objeto. Por isso, geralmente não deve começar com um "/". |
endpoint |
Obrigatório. Especifica o endpoint do serviço de armazenamento. |
region |
Especifica a região para assinar solicitações. Deixe em branco se as solicitações precisarem ser assinadas com uma região vazia. |
Campo de união data_provider . Especifica os metadados do provedor de dados compatível com o S3. Cada provedor pode conter alguns atributos que não se aplicam a todos os provedores de dados compatíveis com o S3. Quando não especificado, o S3CompatibleMetadata é usado por padrão. data_provider pode ser apenas de um dos tipos a seguir: |
|
s3Metadata |
Metadados compatíveis com o S3. |
S3CompatibleMetadata
O S3CompatibleMetadata contém os campos de metadados que se aplicam aos tipos básicos de provedores de dados compatíveis com o S3.
Representação JSON |
---|
{ "authMethod": enum ( |
Campos | |
---|---|
authMethod |
Especifica o método de autenticação e autorização usado pelo serviço de armazenamento. Quando não for especificado, o serviço de transferência vai tentar determinar o método de autenticação correto a ser usado. |
requestModel |
Especifica o modelo de solicitação de API usado para chamar o serviço de armazenamento. Quando não especificado, o valor padrão de RequestModel REQUEST_MODEL_VIRTUAL_HOSTED_STYLE é usado. |
protocol |
Especifica o protocolo de rede do agente. Quando não especificado, o valor padrão de NetworkProtocol NETWORK_PROTOCOL_HTTPS é usado. |
listApi |
A API Listing a ser usada para descobrir objetos. Quando não for especificado, o serviço de transferência vai tentar determinar a API certa a ser usada. |
AuthMethod
O método de autenticação e autorização usado pelo serviço de armazenamento.
Enums | |
---|---|
AUTH_METHOD_UNSPECIFIED |
AuthMethod não foi especificado. |
AUTH_METHOD_AWS_SIGNATURE_V4 |
Solicitações de autenticação com AWS SigV4. |
AUTH_METHOD_AWS_SIGNATURE_V2 |
Solicitações de autenticação com o AWS SigV2. |
RequestModel
O modelo de solicitação da API.
Enums | |
---|---|
REQUEST_MODEL_UNSPECIFIED |
O RequestModel não foi especificado. |
REQUEST_MODEL_VIRTUAL_HOSTED_STYLE |
Faça solicitações usando o estilo hospedado virtual. Exemplo: https://bucket-name.s3.region.amazonaws.com/key-name |
REQUEST_MODEL_PATH_STYLE |
Realize solicitações usando o estilo de caminho. Exemplo: https://s3.region.amazonaws.com/bucket-name/key-name |
NetworkProtocol
O protocolo de rede do agente para acessar o serviço de armazenamento.
Enums | |
---|---|
NETWORK_PROTOCOL_UNSPECIFIED |
NetworkProtocol não foi especificado. |
NETWORK_PROTOCOL_HTTPS |
Realize solicitações usando HTTPS. |
NETWORK_PROTOCOL_HTTP |
Não recomendado: envia dados em texto não criptografado. Isso só é adequado em uma rede fechada ou para dados disponíveis publicamente. Fazer solicitações usando HTTP. |
ListApi
A API Listing a ser usada para descobrir objetos.
Enums | |
---|---|
LIST_API_UNSPECIFIED |
A ListApi não foi especificada. |
LIST_OBJECTS_V2 |
Faça a listagem usando a API ListObjectsV2. |
LIST_OBJECTS |
API ListObjects legada. |
HdfsData
Um recurso HdfsData especifica um caminho em uma entidade do HDFS (por exemplo, um cluster). Todas as configurações específicas do cluster, como nomeados e portas, são configuradas nos agentes de transferência que atendem às solicitações. Portanto, o HdfsData contém apenas o caminho raiz dos dados na transferência.
Representação JSON |
---|
{ "path": string } |
Campos | |
---|---|
path |
Caminho raiz para transferir arquivos. |
TransferManifest
Especifica onde o manifesto está localizado.
Representação JSON |
---|
{ "location": string } |
Campos | |
---|---|
location |
Especifica o caminho para o manifesto no Cloud Storage. A conta de serviço gerenciada pelo Google para a transferência precisa ter a permissão |