Configurazione per l'esecuzione di un trasferimento.
Rappresentazione JSON |
---|
{ "objectConditions": { object ( |
Campi | |
---|---|
objectConditions |
Solo gli oggetti che soddisfano queste condizioni sono inclusi nell'insieme di oggetti di origine dati e destinazione dati. Le condizioni degli oggetti basate sulla "data dell'ultima modifica" degli oggetti non escludono gli oggetti in un'area di destinazione dati. |
transferOptions |
Se l'opzione |
transferManifest |
Un file manifest fornisce un elenco di oggetti da trasferire dall'origine dati. Questo campo indica la posizione del file manifest. In caso contrario, viene utilizzato l'intero bucket di origine. Si applicano comunque le condizioni ObjectConditions. |
sourceAgentPoolName |
Specifica il nome del pool di agenti associato all'origine dati POSIX. Se non specificato, viene utilizzato il nome predefinito. |
sinkAgentPoolName |
Specifica il nome del pool di agenti associato all'emissario di dati posix. Se non specificato, viene utilizzato il nome predefinito. |
Campo unione data_sink . Il sink di scrittura per i dati. data_sink può essere solo uno dei seguenti: |
|
gcsDataSink |
Un'area di destinazione dei dati Cloud Storage. |
posixDataSink |
Un'area di destinazione dei dati del file system POSIX. |
Campo unione data_source . L'origine di lettura dei dati. data_source può essere solo uno dei seguenti: |
|
gcsDataSource |
Un'origine dati Cloud Storage. |
awsS3DataSource |
Un'origine dati AWS S3. |
httpDataSource |
Un'origine dati URL HTTP. |
posixDataSource |
Un'origine dati del file system POSIX. |
azureBlobStorageDataSource |
Un'origine dati Azure Blob Storage. |
awsS3CompatibleDataSource |
Un'origine dati compatibile con AWS S3. |
hdfsDataSource |
Un'origine dati del cluster HDFS. |
Campo unione
|
|
gcsIntermediateDataLocation |
Per i trasferimenti tra file system, specifica un bucket Cloud Storage da utilizzare come posizione intermedia attraverso la quale trasferire i dati. Per ulteriori informazioni, vedi Trasferire dati tra file system. |
PosixFilesystem
Una risorsa del file system POSIX.
Rappresentazione JSON |
---|
{ "rootDirectory": string } |
Campi | |
---|---|
rootDirectory |
Percorso della directory principale del file system. |
AwsS3Data
Una risorsa AwsS3Data può essere un'origine dati, ma non un'area di destinazione dei dati. In una risorsa AwsS3Data, il nome di un oggetto è il nome della chiave dell'oggetto S3.
Rappresentazione JSON |
---|
{ "bucketName": string, "awsAccessKey": { object ( |
Campi | |
---|---|
bucketName |
Obbligatorio. Nome del bucket S3 (vedi Creare un bucket). |
awsAccessKey |
Solo input. Chiave di accesso AWS utilizzata per firmare le richieste API al bucket AWS S3. Le autorizzazioni per il bucket devono essere concesse all'ID di accesso della chiave di accesso AWS. Per informazioni sulle nostre norme di conservazione dei dati per le credenziali utente, consulta Credenziali utente. |
path |
Percorso principale per il trasferimento degli oggetti. Deve essere una stringa vuota o un nome di percorso completo che termina con "/". Questo campo viene trattato come un prefisso dell'oggetto. Di conseguenza, in genere non deve iniziare con una "/". |
roleArn |
Il nome della risorsa Amazon (ARN) del ruolo per supportare le credenziali temporanee tramite Quando viene fornito un ARN ruolo, Transfer Service recupera le credenziali temporanee per la sessione utilizzando una chiamata |
cloudfrontDomain |
Facoltativo. Il nome di dominio della distribuzione CloudFront che rimanda a questo bucket, da utilizzare durante il recupero. Per ulteriori informazioni, consulta Trasferire da S3 tramite CloudFront. Formato: |
credentialsSecret |
Facoltativo. Il nome della risorsa di un secret in Secret Manager. Le credenziali AWS devono essere archiviate in Secret Manager in formato JSON: { "accessKeyId": "ACCESS_KEY_ID", "secretAccessKey": "SECRET_ACCESS_KEY" } A Per ulteriori informazioni, consulta Configurare l'accesso a un'origine: Amazon S3. Se è specificato Formato: |
Campo unione
|
|
managedPrivateNetwork |
Byte in uscita su una rete privata gestita da Google. Questa rete è condivisa tra altri utenti di Storage Transfer Service. |
AwsAccessKey
Chiave di accesso AWS (vedi Credenziali di sicurezza AWS).
Per informazioni sulle nostre norme di conservazione dei dati per le credenziali utente, consulta Credenziali utente.
Rappresentazione JSON |
---|
{ "accessKeyId": string, "secretAccessKey": string } |
Campi | |
---|---|
accessKeyId |
Obbligatorio. ID chiave di accesso AWS. |
secretAccessKey |
Obbligatorio. Chiave di accesso segreta AWS. Questo campo non viene restituito nelle risposte RPC. |
HttpData
Una risorsa HttpData specifica un elenco di oggetti sul web da trasferire tramite HTTP. Le informazioni sugli oggetti da trasferire sono contenute in un file a cui fa riferimento un URL. La prima riga del file deve essere "TsvHttpData-1.0"
, che specifica il formato del file. Le righe successive specificano le informazioni dell'elenco di oggetti, un oggetto per voce dell'elenco. Ogni voce contiene i seguenti campi delimitati da tabulazione:
URL HTTP: la posizione dell'oggetto.
Lunghezza: le dimensioni dell'oggetto in byte.
MD5: l'hash MD5 dell'oggetto codificato in base64.
Per un esempio di file TSV valido, consulta Trasferire i dati da URL.
Quando trasferisci i dati in base a un elenco di URL, tieni presente quanto segue:
Quando un oggetto situato in
http(s)://hostname:port/<URL-path>
viene trasferito a un'area di destinazione dei dati, il nome dell'oggetto nell'area di destinazione dei dati è<hostname>/<URL-path>
.Se le dimensioni specificate di un oggetto non corrispondono alle dimensioni effettive dell'oggetto recuperato, l'oggetto non viene trasferito.
Se l'MD5 specificato non corrisponde all'MD5 calcolato dai byte trasferiti, il trasferimento dell'oggetto non va a buon fine.
Assicurati che ogni URL specificato sia accessibile pubblicamente. Ad esempio, in Cloud Storage puoi condividere un oggetto pubblicamente e ottenere un link.
Storage Transfer Service rispetta le regole
robots.txt
e richiede che il server HTTP di origine supporti le richiesteRange
e restituisca un'intestazioneContent-Length
in ogni risposta.ObjectConditions
non hanno alcun effetto sul filtro degli oggetti da trasferire.
Rappresentazione JSON |
---|
{ "listUrl": string } |
Campi | |
---|---|
listUrl |
Obbligatorio. L'URL che rimanda al file in cui sono archiviate le voci dell'elenco di oggetti. Questo file deve consentire l'accesso pubblico. Al momento sono supportati solo gli URL con schemi HTTP e HTTPS. |
AzureBlobStorageData
Una risorsa AzureBlobStorageData può essere un'origine dati, ma non un'area di destinazione dei dati. Una risorsa AzureBlobStorageData rappresenta un contenitore Azure. L'account di archiviazione determina l'endpoint Azure. In una risorsa AzureBlobStorageData, il nome di un blob è il nome della chiave del blob di Azure Blob Storage.
Rappresentazione JSON |
---|
{
"storageAccount": string,
"azureCredentials": {
object ( |
Campi | |
---|---|
storageAccount |
Obbligatorio. Il nome dell'account Azure Storage. |
azureCredentials |
Obbligatorio. Solo input. Credenziali utilizzate per autenticare le richieste API ad Azure. Per informazioni sulle nostre norme di conservazione dei dati per le credenziali utente, consulta Credenziali utente. |
container |
Obbligatorio. Il contenitore da trasferire dall'account di archiviazione Azure. |
path |
Percorso principale per il trasferimento degli oggetti. Deve essere una stringa vuota o un nome di percorso completo che termina con "/". Questo campo viene trattato come un prefisso dell'oggetto. Di conseguenza, in genere non deve iniziare con una "/". |
credentialsSecret |
Facoltativo. Il nome della risorsa di un secret in Secret Manager. Il token SAS di Azure deve essere archiviato in Secret Manager in formato JSON: { "sasToken" : "SAS_TOKEN" } A Per ulteriori informazioni, consulta Configurare l'accesso a un'origine: Microsoft Azure Blob Storage. Se è specificato Formato: |
AzureCredentials
Credenziali Azure
Per informazioni sulle nostre norme di conservazione dei dati per le credenziali utente, consulta Credenziali utente.
Rappresentazione JSON |
---|
{ "sasToken": string } |
Campi | |
---|---|
sasToken |
Obbligatorio. Firma di accesso condiviso (SAS) di Azure. Per ulteriori informazioni sulle firme di accesso condiviso, vedi Concedere l'accesso limitato alle risorse di Azure Storage utilizzando le firme di accesso condiviso (SAS). |
AwsS3CompatibleData
Una risorsa AwsS3CompatibleData.
Rappresentazione JSON |
---|
{ "bucketName": string, "path": string, "endpoint": string, "region": string, // Union field |
Campi | |
---|---|
bucketName |
Obbligatorio. Specifica il nome del bucket. |
path |
Specifica il percorso principale per il trasferimento degli oggetti. Deve essere una stringa vuota o un nome di percorso completo che termina con "/". Questo campo viene trattato come un prefisso dell'oggetto. Di conseguenza, in genere non deve iniziare con una "/". |
endpoint |
Obbligatorio. Specifica l'endpoint del servizio di archiviazione. |
region |
Specifica la regione con cui firmare le richieste. Questo campo può essere lasciato vuoto se le richieste devono essere firmate con una regione vuota. |
Campo unione data_provider . Specifica i metadati del fornitore di dati compatibile con S3. Ogni provider potrebbe contenere alcuni attributi che non si applicano a tutti i provider di dati compatibili con S3. Se non specificato, per impostazione predefinita viene utilizzato S3CompatibleMetadata. data_provider può essere solo uno dei seguenti: |
|
s3Metadata |
Metadati compatibili con S3. |
S3CompatibleMetadata
S3CompatibleMetadata contiene i campi dei metadati che si applicano ai tipi di base di provider di dati compatibili con S3.
Rappresentazione JSON |
---|
{ "authMethod": enum ( |
Campi | |
---|---|
authMethod |
Specifica il metodo di autenticazione e autorizzazione utilizzato dal servizio di archiviazione. Se non specificato, il servizio di trasferimento tenterà di determinare il metodo di autenticazione corretto da utilizzare. |
requestModel |
Specifica il modello di richiesta API utilizzato per chiamare il servizio di archiviazione. Se non specificato, viene utilizzato il valore predefinito di RequestModel REQUEST_MODEL_VIRTUAL_HOSTED_STYLE. |
protocol |
Specifica il protocollo di rete dell'agente. Se non specificato, viene utilizzato il valore predefinito di NetworkProtocol NETWORK_PROTOCOL_HTTPS. |
listApi |
L'API Listing da utilizzare per scoprire gli oggetti. Se non specificato, il servizio di trasferimento tenterà di determinare l'API corretta da utilizzare. |
AuthMethod
Il metodo di autenticazione e autorizzazione utilizzato dal servizio di archiviazione.
Enum | |
---|---|
AUTH_METHOD_UNSPECIFIED |
AuthMethod non è specificato. |
AUTH_METHOD_AWS_SIGNATURE_V4 |
Richieste di autenticazione con AWS SigV4. |
AUTH_METHOD_AWS_SIGNATURE_V2 |
Richieste di autenticazione con la versione 2 della firma di AWS. |
RequestModel
Il modello di richiesta dell'API.
Enum | |
---|---|
REQUEST_MODEL_UNSPECIFIED |
RequestModel non è specificato. |
REQUEST_MODEL_VIRTUAL_HOSTED_STYLE |
Esegui le richieste utilizzando lo stile con hosting virtuale. Esempio: https://bucket-name.s3.region.amazonaws.com/key-name |
REQUEST_MODEL_PATH_STYLE |
Esegui le richieste utilizzando lo stile percorso. Esempio: https://s3.region.amazonaws.com/bucket-name/key-name |
NetworkProtocol
Il protocollo di rete dell'agente per accedere al servizio di archiviazione.
Enum | |
---|---|
NETWORK_PROTOCOL_UNSPECIFIED |
NetworkProtocol non è specificato. |
NETWORK_PROTOCOL_HTTPS |
Esegui le richieste utilizzando HTTPS. |
NETWORK_PROTOCOL_HTTP |
Non consigliato: i dati vengono inviati in testo normale. Questo metodo è appropriato solo all'interno di una rete chiusa o per i dati disponibili pubblicamente. Esegui richieste utilizzando HTTP. |
ListApi
L'API Listing da utilizzare per scoprire gli oggetti.
Enum | |
---|---|
LIST_API_UNSPECIFIED |
ListApi non è specificato. |
LIST_OBJECTS_V2 |
Esegui la scheda utilizzando l'API ListObjectsV2. |
LIST_OBJECTS |
API ListObjects precedente. |
HdfsData
Una risorsa HdfsData specifica un percorso all'interno di un'entità HDFS (ad es. un cluster). Tutte le impostazioni specifiche del cluster, come i namenode e le porte, sono configurate sugli agenti di trasferimento che gestiscono le richieste, pertanto HdfsData contiene solo il percorso principale dei dati nel nostro trasferimento.
Rappresentazione JSON |
---|
{ "path": string } |
Campi | |
---|---|
path |
Percorso principale per il trasferimento dei file. |
TransferManifest
Specifica la posizione del file manifest.
Rappresentazione JSON |
---|
{ "location": string } |
Campi | |
---|---|
location |
Specifica il percorso del file manifest in Cloud Storage. L'account di servizio gestito da Google per il trasferimento deve disporre dell'autorizzazione |