Amazon S3
Il connettore Amazon S3 fornisce accesso SQL ai bucket e agli oggetti Amazon S3.
Prima di iniziare
Prima di utilizzare il connettore Amazon S3, esegui le seguenti attività:
- Nel tuo progetto Google Cloud:
- Concedi il ruolo IAM roles/connectors.admin all'utente. configurazione del connettore.
- Concedi i seguenti ruoli IAM all'account di servizio che vuoi utilizzare per il connettore:
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
Un account di servizio è un tipo speciale di Account Google destinato a rappresentare una persona non umana utente che deve autenticarsi e avere l'autorizzazione ad accedere ai dati nelle API di Google. Se non hai un account di servizio, devi crearne uno. Per maggiori informazioni le informazioni, vedi Creazione di un account di servizio.
- Attiva i seguenti servizi:
secretmanager.googleapis.com
(API Secret Manager)connectors.googleapis.com
(API Connectors)
Per informazioni su come abilitare i servizi, vedi Attivazione dei servizi.
Se questi servizi o autorizzazioni non sono stati abilitati in precedenza per il tuo progetto, ti viene chiesto di abilitarli durante la configurazione del connettore.
Configura il connettore
Per configurare il connettore è necessario creare una connessione al tuo origine dati (sistema di backend). Una connessione è specifica per un'origine dati. it significa che se hai molte origini dati, devi creare una connessione separata per ogni origine dati. Per creare una connessione:
- Nella console Cloud, vai a Connettori di integrazione > Pagina Connessioni e poi selezionare o creare un progetto Google Cloud.
- Fai clic su + Crea nuova per aprire la pagina Crea connessione.
- Nella sezione Posizione, scegli la località per la connessione.
- Regione: seleziona una località dall'elenco a discesa.
Le regioni supportate per i connettori includono:
Per l'elenco di tutte le aree geografiche supportate, consulta la sezione Località.
- Fai clic su Avanti.
- Regione: seleziona una località dall'elenco a discesa.
- Nella sezione Dettagli connessione, completa i seguenti passaggi:
- .
- Connettore: seleziona Amazon S3 dall'elenco a discesa dei connettori disponibili.
- Versione connettore: seleziona la versione del connettore dall'elenco a discesa delle versioni disponibili.
- Nel campo Nome connessione, inserisci un nome per l'istanza di connessione.
I nomi delle connessioni devono soddisfare i seguenti criteri:
- I nomi delle connessioni possono contenere lettere, numeri o trattini.
- Le lettere devono essere minuscole.
- I nomi delle connessioni devono iniziare con una lettera e terminare con una lettera o un numero.
- I nomi delle connessioni non possono contenere più di 63 caratteri.
- Facoltativamente, inserisci una descrizione per l'istanza di connessione.
- Account di servizio: seleziona un account di servizio con i ruoli richiesti.
- Facoltativamente, configura le impostazioni del nodo di connessione:
- Numero minimo di nodi: inserisci il numero minimo di nodi di connessione.
- Numero massimo di nodi: inserisci il numero massimo di nodi di connessione.
Un nodo è un'unità (o una replica) di una connessione che elabora le transazioni. Sono necessari più nodi per elaborare più transazioni per una connessione e, per elaborare meno transazioni. Per comprendere in che modo i nodi influiscono sui prezzi dei connettori, consulta Prezzi per i nodi di connessione. Se non inserisci alcun valore, per impostazione predefinita il numero minimo di nodi è impostato su 2 (per una migliore disponibilità) e il numero massimo di nodi è impostato su 50.
- Regione AWS: regione in cui è ospitata l'istanza Amazon S3
- Facoltativamente, fai clic su + Aggiungi etichetta per aggiungere un'etichetta alla connessione sotto forma di coppia chiave/valore.
- Fai clic su Avanti.
- Nella sezione Destinazioni, inserisci i dettagli dell'host remoto (sistema di backend) a cui vuoi connetterti.
- Tipo di destinazione: seleziona un Tipo di destinazione.
- Seleziona Indirizzo host dall'elenco per specificare il nome host o l'indirizzo IP della destinazione.
- Se vuoi stabilire una connessione privata ai tuoi sistemi di backend, seleziona Collegamento endpoint dall'elenco, quindi seleziona il collegamento dell'endpoint richiesto. dall'elenco Allegato endpoint.
Se vuoi stabilire una connessione pubblica ai tuoi sistemi di backend con maggiore sicurezza, puoi valuta la possibilità di configurare una rete statica in uscita indirizzi IP per le tue connessioni, quindi configura le regole del firewall per inserire nella lista consentita solo gli indirizzi IP statici specifici.
Per inserire altre destinazioni, fai clic su + Aggiungi destinazione.
- Fai clic su Avanti.
- Tipo di destinazione: seleziona un Tipo di destinazione.
-
Nella sezione Autenticazione, inserisci i dettagli di autenticazione.
- Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.
La connessione Amazon S3 supporta i seguenti tipi di autenticazione:
- Credenziali root
- Ruoli AWS IAM
- Credenziali temporanee AWS
- Fai clic su Avanti.
Per informazioni su come configurare questi tipi di autenticazione, consulta l'articolo Configurare l'autenticazione.
- Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.
- Verifica: controlla i dettagli della connessione e dell'autenticazione.
- Fai clic su Crea.
Configura l'autenticazione
Inserisci i dettagli in base all'autenticazione che vuoi utilizzare.
-
Credenziali root
.
Per eseguire l'autenticazione utilizzando le credenziali root dell'account.
- Chiave di accesso AWS: la chiave di accesso dell'utente root.
- Segreto di accesso AWS: la chiave segreta dell'utente root.
-
Ruoli AWS IAM
.
Eseguire l'autenticazione utilizzando un ruolo AWS IAM.
- Chiave di accesso AWS: la chiave di accesso dell'utente IAM per cui deve assumere il ruolo.
- Segreto di accesso AWS: la chiave segreta dell'utente IAM per cui assumere il ruolo
- ARN ruolo AWS: specifica l'ARN del ruolo AWS per il ruolo con cui vuoi eseguire l'autenticazione. Verranno recuperate solo le credenziali per il ruolo specificato.
- ID esterno AWS: obbligatorio solo quando assumi un ruolo in un altro account.
-
Credenziali temporanee AWS
.
Per eseguire l'autenticazione utilizzando credenziali temporanee
- Chiave di accesso AWS: la chiave di accesso dell'utente IAM per cui deve assumere il ruolo.
- Segreto di accesso AWS: la chiave segreta dell'utente IAM per cui assumere il ruolo
- Token sessione AWS: viene generato insieme alle credenziali temporanee.
- ARN ruolo AWS: specifica l'ARN del ruolo AWS per il ruolo con cui vuoi eseguire l'autenticazione. Verranno recuperate solo le credenziali per il ruolo specificato.
- ID esterno AWS: obbligatorio solo quando assumi un ruolo in un altro account.
Entità, operazioni e azioni
Tutti i connettori di integrazione forniscono un livello di astrazione per gli oggetti l'applicazione connessa. Puoi accedere agli oggetti di un'applicazione solo tramite questa astrazione. L'astrazione ti viene esposta sotto forma di entità, operazioni e azioni.
- Entità: un'entità può essere considerata un oggetto o un insieme di proprietà nel
un'applicazione o un servizio connesso. La definizione di un'entità differisce da connettore
di rete. Ad esempio, in un connettore di database, le tabelle sono le entità,
connettore file server, le cartelle sono le entità e, in un connettore del sistema di messaggistica,
le code sono le entità.
Tuttavia, è possibile che un connettore non supporti o non disponga di entità. In questo caso, L'elenco
Entities
sarà vuoto. - Operazione: un'operazione è l'attività che è possibile eseguire su un'entità. Puoi eseguire
una qualsiasi delle seguenti operazioni su un'entità:
Selezionando un'entità dall'elenco disponibile, viene generato un elenco di le operazioni disponibili per l'entità. Per una descrizione dettagliata delle operazioni, consulta operazioni relative a entità. Tuttavia, se un connettore non supporta nessuna delle operazioni relative all'entità, come quelle non supportate operazioni non sono elencate nell'elenco
Operations
. - Azione: un'azione è una funzione di prima classe resa disponibile per l'integrazione.
attraverso l'interfaccia del connettore. Un'azione consente di apportare modifiche a una o più entità
variano da connettore a connettore. Normalmente, un'azione ha alcuni parametri di input e un output
. Tuttavia, è possibile
che un connettore non supporta alcuna azione, nel qual caso l'elenco
Actions
sarà vuoto.
Azioni
Questa sezione elenca alcune delle azioni supportate dal connettore. Per capire come configurare azioni, consulta la sezione Esempi di azioni.
Azione CopyObject
Questa azione consente di copiare un oggetto da un bucket a un altro bucket o all'interno di lo stesso bucket.
Parametri di input dell'azione CopyObject
Nome parametro | Tipo di dati | Obbligatorio | Descrizione |
---|---|---|---|
BucketSource | Stringa | Sì | Nome del bucket da cui deve essere copiato l'oggetto. |
ObjectSource | Oggetto | Sì | Nome dell'oggetto che deve essere copiato. |
BucketDestination | Stringa | Sì | Nome del bucket in cui deve essere copiato l'oggetto. |
ObjectDestination | Stringa | No | Nome dell'oggetto nel bucket di destinazione. Se non specificato, il nome sarà lo stesso. del nome originale. |
Parametri di output dell'azione CopyObject
Se la copia va a buon fine, questa azione restituisce lo stato 200 (OK).
Per capire come configurare l'azione CopyObject
:
consulta gli esempi di azioni.
Azione DownloadObjects
Questa azione recupera un altro oggetto da un bucket.
Parametri di input dell'azione DownloadObjects
Nome parametro | Tipo di dati | Obbligatorio | Descrizione |
---|---|---|---|
Bucket | Stringa | Sì | Nome del bucket in cui è presente l'oggetto da scaricare. |
Oggetto | Stringa | No | Nome dell'oggetto che deve essere scaricato. Se non specificato, tutti gli oggetti del bucket specificato. |
HasBytes | Booleano | Sì | Specifica se il contenuto deve essere scaricato come stringa codificata Base64. |
UpdatedStartDate | Data/ora | No | La data di inizio dell'intervallo di tempo per il download degli oggetti. Se non specificato, gli oggetti vengono scaricate dalla data meno recente fino alla data di fine aggiornata. |
UpdatedEndDate | Data/ora | No | La data di fine dell'intervallo di tempo in cui scaricare gli oggetti. Se non specificato, gli oggetti vengono scaricate dall'UpdatedStartDate specificata fino al giorno corrente. |
Parametri di output dell'azione DownloadObjects
Se il download è riuscito, questa azione restituisce lo stato 200 (OK).
Per capire come configurare l'azione DownloadObjects
:
consulta gli esempi di azioni.
Azione UploadObject
Questa azione consente di caricare un oggetto in un bucket.
Parametri di input dell'azione UploadObject
Nome parametro | Tipo di dati | Obbligatorio | Descrizione |
---|---|---|---|
Bucket | Stringa | Sì | Nome del bucket in cui deve essere caricato l'oggetto. |
ContentBytes | Stringa | No | I contenuti in byte da caricare come file. |
HasBytes | Booleano | Sì | Specifica se il contenuto deve essere caricato come stringa codificata Base64. |
AccessPolicy | Stringa | No | Il criterio di accesso per questo oggetto. I valori consentiti sono PRIVATE, ANONREAD, ANONREADWRITE e AUTHREAD. Il valore predefinito è PRIVATE. |
Contenuti | Stringa | No | I contenuti da caricare. |
FileName | Stringa | No | Nome del file da caricare. Questo valore è obbligatorio quando specifichi il parametro FileContent. |
Parametri di output dell'azione UploadObject
Questa azione restituisce lo stato 200 (OK) se il caricamento dell'oggetto è riuscito.
Per capire come configurare l'azione UploadObject
:
consulta gli esempi di azioni.
Azione DeleteObject
Questa azione consente di eliminare un oggetto da un bucket.
Parametri di input dell'azione DeleteObject
Nome parametro | Tipo di dati | Obbligatorio | Descrizione |
---|---|---|---|
Bucket | Stringa | Sì | Il nome del bucket in cui è presente l'oggetto da eliminare. |
Oggetto | Stringa | Sì | Nome dell'oggetto che deve essere eliminato. |
Parametri di output dell'azione DeleteObject
Se l'eliminazione è riuscita, questa azione restituisce lo stato 200 (OK).
Per capire come configurare l'azione DeleteObject
:
consulta gli esempi di azioni.
Azione MoveObject
Questa azione consente agli utenti di spostare un oggetto esistente di un bucket specifico in un altro bucket o nello stesso bucket.
Parametri di input dell'azione MoveObject
Nome parametro | Tipo di dati | Obbligatorio | Descrizione |
---|---|---|---|
BucketSource | Stringa | Sì | Il nome del bucket di origine in cui è presente l'oggetto da spostare. |
ObjectSource | Stringa | Sì | Nome dell'oggetto che deve essere spostato. |
BucketDestination | Stringa | Sì | Il nome del bucket di destinazione in cui deve essere spostato l'oggetto. |
ObjectDestination | Stringa | No | Nome dell'oggetto nel bucket di destinazione. Se non specificato, viene mantenuto il nome originale. |
Parametri di output dell'azione MoveObject
Se l'operazione di spostamento ha esito positivo, questa azione restituisce lo stato 200 (OK).
Per capire come configurare l'azione MoveObject
:
consulta gli esempi di azioni.
Azione PutBucketAcl
Questa azione consente di aggiornare l'elenco di controllo dell'accesso (ACL) di un bucket.
Parametri di input dell'azione PutBucketAcl
Nome parametro | Tipo di dati | Obbligatorio | Descrizione |
---|---|---|---|
Bucket | Stringa | Sì | Nome del bucket per il quale deve essere applicato l'ACL. |
ACL | Stringa | Sì | Livello di accesso da applicare al bucket. |
Parametri di output dell'azione PutBucketAcl
Questa azione restituisce lo stato 200 (OK) se l'aggiornamento dell'ACL del bucket ha esito positivo.
Per capire come configurare l'azione PutBucketAcl
:
consulta gli esempi di azioni.
Azione PutObjectAcl
Questa azione consente di aggiornare l'elenco di controllo dell'accesso (ACL) di un oggetto in un bucket.
Parametri di input dell'azione PutObjectAcl
Nome parametro | Tipo di dati | Obbligatorio | Descrizione |
---|---|---|---|
Bucket | Stringa | Sì | Nome del bucket in cui è presente l'oggetto. |
ACL | Stringa | Sì | Livello di accesso da applicare all'oggetto. |
KEY | Stringa | Sì | Nome dell'oggetto a cui deve essere applicato l'ACL. |
Parametri di output dell'azione PutObjectAcl
Questa azione restituisce lo stato 200 (OK) se l'aggiornamento dell'ACL dell'oggetto ha esito positivo.
Per capire come configurare l'azione PutObjectAcl
:
consulta gli esempi di azioni.
Esempi di azioni
In questa sezione viene descritto come eseguire alcune azioni in questo connettore.
Esempio: copiare un oggetto
In questo esempio viene copiato un oggetto da un bucket a un altro.
- Nella finestra di dialogo
Configure connector task
, fai clic suActions
. - Seleziona l'azione
CopyObject
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
, quindi inserisci un valore simile al seguente nella CampoDefault Value
:{ "BucketSource": "aws-s3-bucket-source", "ObjectSource": "pic.jpg", "BucketDestination": "aws-s3-bucket-destination", "ObjectDestination": "new_pic.jpg" }
Se l'azione viene eseguita correttamente,
Risposta connectorOutputPayload
dell'attività CopyObject
avrà un valore simile al seguente:
[{ "Status": "Success" }]
Esempio: download di un oggetto
Questo esempio scarica un oggetto dal bucket specificato.
- Nella finestra di dialogo
Configure connector task
, fai clic suActions
. - Seleziona l'azione
DownloadObjects
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
, quindi inserisci un valore simile al seguente nella CampoDefault Value
:{ "Bucket": "aws-s3-bucket-source", "HasBytes": true }
Se l'azione viene eseguita correttamente,
Risposta connectorOutputPayload
dell'attività DownloadObjects
avrà un valore simile al seguente:
[{ "Success": "True", "RemoteFile": "prefix1%2Faws-s3-bucket-source%2Finventory-test-1%2F2023-09-10T01-00Z%2Fmanifest.json", "ContentBytes": "ewogICJzb3VyY2VCdWNrZXQiIDogImF3cy1zMy1idWNrZXQtYmNvbmUiLAogICJnOK" }, { "Success": "True", "RemoteFile": "upload1.txt", "ContentBytes": "VGhpcyBpcyBhIHRlc3RpbmcgZmlsZQ==" }]
Esempio: caricare un oggetto
Questo esempio carica un oggetto nel bucket specificato.
- Nella finestra di dialogo
Configure connector task
, fai clic suActions
. - Seleziona l'azione
UploadObject
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
, quindi inserisci un valore simile al seguente nella CampoDefault Value
:{ "Bucket": "aws-s3-bucket-source", "FileName": "upload_1.txt", "Content": "This is a testing file", "AccessPolicy": "PUBLIC" }
Se l'azione viene eseguita correttamente,
Risposta connectorOutputPayload
dell'attività UploadObject
avrà un valore simile al seguente:
[{ "Status": "success", "bucket": "aws-s3-bucket-source", "rss:title": "Object 'upload_1.txt' was created in the bucket: aws-s3-bucket-source", "object": "upload_1.txt" }]
Esempio: eliminare un oggetto
In questo esempio viene eliminato un oggetto dal bucket specificato.
- Nella finestra di dialogo
Configure connector task
, fai clic suActions
. - Seleziona l'azione
DeleteObject
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
, quindi inserisci un valore simile al seguente nella CampoDefault Value
:{ "Bucket": "aws-s3-bucket-source", "Object": "abc.png" }
Se l'azione viene eseguita correttamente,
Risposta connectorOutputPayload
dell'attività DeleteObject
avrà un valore simile al seguente:
[{ "Status": "Success" }]
Esempio: spostare un oggetto
Questo esempio sposta un oggetto da un bucket a un altro.
- Nella finestra di dialogo
Configure connector task
, fai clic suActions
. - Seleziona l'azione
MoveObject
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
, quindi inserisci un valore simile al seguente nella CampoDefault Value
:{ "BucketSource": "aws-s3-bucket-source", "ObjectSource": "abc.png", "BucketDestination": "aws-s3-bucket-destination", "ObjectDestination": "moved.png" }
Se l'azione viene eseguita correttamente,
Risposta connectorOutputPayload
dell'attività MoveObject
avrà un valore simile al seguente:
[{ "Status": "Success" }]
Esempio: aggiorna l'ACL di un bucket
Questo esempio aggiorna le autorizzazioni di controllo dell'accesso per un bucket.
- Nella finestra di dialogo
Configure connector task
, fai clic suActions
. - Seleziona l'azione
PutBucketAcl
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
, quindi inserisci un valore simile al seguente nella CampoDefault Value
:{ "BucketSource": "aws-s3-bucket-source", "ACL": "public-read" }
Se l'azione viene eseguita correttamente,
Risposta connectorOutputPayload
dell'attività PutBucketAcl
avrà un valore simile al seguente:
[{ "Status": "Success" }]
Esempio: aggiornamento dell'ACL di un oggetto
In questo esempio vengono aggiornate le autorizzazioni di controllo dell'accesso per un oggetto in un bucket.
- Nella finestra di dialogo
Configure connector task
, fai clic suActions
. - Seleziona l'azione
PutObjectAcl
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
, quindi inserisci un valore simile al seguente nella CampoDefault Value
:{ "Bucket": "aws-s3-bucket-source", "ACL": "aws-exec-read", "Key": "AWS_S3_BusinessCase_V2.xlsx" }
Se l'azione viene eseguita correttamente,
Risposta connectorOutputPayload
dell'attività PutObjectAcl
avrà un valore simile al seguente:
[{ "Status": "Success" }]
Esempi di operazioni con entità
Questa sezione mostra come eseguire alcune delle operazioni relative alle entità in questo connettore.
Esempio: elenca i metadati di tutti gli oggetti
Questo esempio recupera i metadati di tutti gli oggetti nell'entità Object
.
- Nella finestra di dialogo
Configure connector task
, fai clic suEntities
. - Seleziona
Object
dall'elencoEntity
. - Seleziona l'operazione
List
e fai clic su Fine. - Facoltativamente, nella sezione Input attività dell'attività Connettori, puoi
filtra il set di risultati specificando una clausola di filtro.
Specifica il valore della clausola di filtro sempre tra virgolette singole ('). Ad esempio,
Bucket='test-bucket'
. Tu puoi anche specificare più condizioni di filtro utilizzando gli operatori logici. Ad esempio,Bucket='test-bucket' and OwnerId='b1ecc809ad8467088afb'
.
Esempio: recupero dei metadati di un bucket
Questo esempio ottiene i metadati del bucket con l'ID specificato dall'entità Bucket
.
- Nella finestra di dialogo
Configure connector task
, fai clic suEntities
. - Seleziona
Bucket
dall'elencoEntity
. - Seleziona l'operazione
Get
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su EntityId e
quindi inserisci
demo_replication
nel campo Valore predefinito.Qui,
demo_replication
è un ID bucket univoco nell'entitàBucket
.
Esempio: creare un bucket
Questo esempio crea un bucket nell'entità Bucket
.
- Nella finestra di dialogo
Configure connector task
, fai clic suEntities
. - Seleziona
Bucket
dall'elencoEntity
. - Seleziona l'operazione
Create
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
, quindi inserisci un valore simile al seguente nella CampoDefault Value
:{ "Bucket": "Demo1697528098686", "OwnerId": "b1ecc809ad8467088afb6beed9581815e4f203f70d19553de2e5d23623ac6647", "OwnerDisplayName": "awsr_adm.cpp" }
Se l'integrazione ha esito positivo, il campo
connectorOutputPayload
dell'attività del connettore avrà un simile al seguente:[{ "Bucket": "Demo1697528098686" }]
Esempio: eliminazione di un bucket
Questo esempio elimina il bucket con l'ID specificato nell'entità Bucket
.
- Nella finestra di dialogo
Configure connector task
, fai clic suEntities
. - Seleziona
Bucket
dall'elencoEntity
. - Seleziona l'operazione
Delete
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su entityId e
quindi inserisci
demo1697528098686
nel campo Valore predefinito.
Utilizzare la connessione Amazon S3 in un'integrazione
Dopo aver creato la connessione, questa diventa disponibile in Apigee Integration e Application Integration. Puoi usare la connessione in un'integrazione tramite l'attività Connettori.
- Per capire come creare e utilizzare l'attività Connectors in Apigee Integration, vedi Attività connettori.
- Per capire come creare e utilizzare l'attività Connettori in Application Integration, vedi Attività connettori.
Ricevi assistenza dalla community Google Cloud
Puoi pubblicare le tue domande e discutere di questo connettore in Google Cloud community presso i forum Cloud.Passaggi successivi
- Scopri come sospendere e ripristinare una connessione.
- Scopri come monitorare l'utilizzo dei connettori.
- Scopri come visualizzare i log del connettore.