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, svolgi le seguenti attività:
- Nel tuo progetto Google Cloud:
- Assicurati che la connettività di rete sia configurata. Per informazioni sui pattern di rete, consulta Connettività di rete.
- Concedi il ruolo IAM roles/connectors.admin all'utente che configura il 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 un utente "non umano" che deve eseguire l'autenticazione ed essere autorizzato ad accedere ai dati nelle API Google. Se non hai un account di servizio, devi crearne uno. Per maggiori informazioni, consulta Creare un account di servizio.
- Attiva i seguenti servizi:
secretmanager.googleapis.com
(API Secret Manager)connectors.googleapis.com
(API Connectors)
Per scoprire come attivare i servizi, consulta Abilitazione dei servizi.
Se questi servizi o autorizzazioni non sono stati attivati in precedenza per il tuo progetto, ti verrà chiesto di attivarli durante la configurazione del connettore.
Configura il connettore
Per configurare il connettore devi creare una connessione all'origine dati (sistema di backend). Una connessione è specifica per un'origine dati. Ciò significa che se hai molte origini dati, devi creare una connessione distinta per ciascuna. Per creare una connessione:
- Nella console Cloud, vai alla pagina Connettori di integrazione > Connessioni, quindi seleziona o crea un progetto Google Cloud.
- Fai clic su + Crea nuovo per aprire la pagina Crea connessione.
- Nella sezione Località, scegli la località della connessione.
- Regione: seleziona una località dall'elenco a discesa.
Le regioni supportate per i connettori includono:
Per l'elenco di tutte le regioni supportate, consulta Località.
- Fai clic su Avanti.
- Regione: seleziona una località dall'elenco a discesa.
- Nella sezione Dettagli connessione, completa quanto segue:
- Connettore: seleziona Amazon S3 dall'elenco a discesa dei connettori disponibili.
- Versione del 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 49 caratteri.
- (Facoltativo) Inserisci una Descrizione per l'istanza di connessione.
- Se vuoi, attiva Cloud Logging e poi seleziona un livello di log. Per impostazione predefinita, il livello di log è impostato su
Error
. - Account di servizio: seleziona un account di servizio con i ruoli richiesti.
- (Facoltativo) 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, al contrario, sono necessari meno nodi per elaborare meno transazioni. Per capire 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 maggiore disponibilità) e il numero massimo di nodi è impostato su 50.
- Regione AWS: la regione in cui è ospitata l'istanza Amazon S3
- Se vuoi, 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 Allegato endpoint dall'elenco, quindi seleziona l'allegato endpoint richiesto dall'elenco Allegato endpoint.
Se vuoi stabilire una connessione pubblica ai tuoi sistemi di backend con una maggiore sicurezza, puoi prendere in considerazione la configurazione di indirizzi IP statici in uscita per le tue connessioni, quindi configurare le regole del firewall in modo da 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 di root
- Ruoli IAM AWS
- Credenziali temporanee AWS
- Fai clic su Avanti.
Per capire come configurare questi tipi di autenticazione, consulta Configurare l'autenticazione.
- Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.
- Rivedi: controlla i dettagli di connessione e autenticazione.
- Fai clic su Crea.
Configura autenticazione
Inserisci i dettagli in base all'autenticazione che vuoi utilizzare.
-
Credenziali di root
Per eseguire l'autenticazione utilizzando le credenziali dell'account principale.
- Chiave di accesso AWS: la chiave di accesso dell'utente root
- AWS Access Secret: la chiave segreta dell'utente root
-
Ruoli AWS IAM
Per l'autenticazione utilizzando un ruolo AWS IAM.
- Chiave di accesso AWS: la chiave di accesso dell'utente IAM per cui assumere il ruolo
- AWS Access Secret: la chiave segreta dell'utente IAM per cui assumere il ruolo
- ARN del ruolo AWS: specifica l'ARN del ruolo con cui vuoi autenticarti. Verranno recuperate solo le credenziali per il ruolo specificato.
- ID esterno AWS: obbligatorio solo quando assegni 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 assumere il ruolo
- AWS Access Secret: la chiave segreta dell'utente IAM per cui assumere il ruolo
- Token sessione AWS: viene generato insieme alle credenziali temporanee.
- ARN del ruolo AWS: specifica l'ARN del ruolo con cui vuoi autenticarti. Verranno recuperate solo le credenziali per il ruolo specificato.
- ID esterno AWS: obbligatorio solo quando assegni un ruolo in un altro account.
Entità, operazioni e azioni
Tutti gli Integration Connectors forniscono un livello di astrazione per gli oggetti dell'applicazione collegata. Puoi accedere agli oggetti di un'applicazione solo tramite questa astrazione. L'astrazione viene mostrata come entità, operazioni e azioni.
- Entità : un'entità può essere considerata un oggetto o una raccolta di proprietà nell'applicazione o nel servizio collegato. La definizione di un'entità varia da un connettore all'altro. Ad esempio, in un connettore di database le tabelle sono le entità, in un connettore di file server le cartelle sono le entità e in un connettore di sistema di messaggistica le code sono le entità.
Tuttavia, è possibile che un connettore non supporti o non abbia entità, nel qual caso l'elenco
Entities
sarà vuoto. - Operazione: un'operazione è l'attività che puoi eseguire su un'entità. Puoi eseguire su un'entità una delle seguenti operazioni:
La selezione di un'entità dall'elenco disponibile genera un elenco di operazioni disponibili per l'entità. Per una descrizione dettagliata delle operazioni, consulta le operazioni sulle entità dell'attività Connettori. Tuttavia, se un connettore non supporta nessuna delle operazioni sulle entità, queste operazioni non supportate non sono elencate nell'elenco
Operations
. - Azione : un'azione è una funzione di prima classe resa disponibile all'integrazione tramite l'interfaccia del connettore. Un'azione ti consente di apportare modifiche a una o più entità e varia da un connettore all'altro. In genere, un'azione avrà alcuni parametri di input e un parametro di output. Tuttavia, è possibile
che un connettore non supporti alcuna azione, nel qual caso l'elenco
Actions
sarà vuoto.
Azioni
Questa sezione elenca alcune delle azioni supportate dal connettore. Per capire come configurare le azioni, consulta Esempi di azioni.
Azione CopyObject
Questa azione ti consente di copiare un oggetto da un bucket a un altro o all'interno dello stesso bucket.
Parametri di input dell'azione CopiaOggetto
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 da copiare. |
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à uguale a quello originale. |
Parametri di output dell'azione CopiaOggetto
Questa azione restituisce lo stato 200 (OK) se la copia è riuscita.
Per capire come configurare l'azione CopyObject
, consulta 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 da scaricare. Se non viene specificato, vengono scaricati tutti gli oggetti del bucket specificato. |
HasBytes | Booleano | Sì | Specifica se i contenuti devono essere scaricati come stringa con codifica Base64. |
UpdatedStartDate | Data/ora | No | La data di inizio dell'intervallo di tempo per scaricare gli oggetti. Se non specificato, gli oggetti vengono scaricati dal più antico fino alla data UpdatedEndDate. |
UpdatedEndDate | Data/ora | No | La data di fine dell'intervallo di tempo per scaricare gli oggetti. Se non specificato, gli oggetti vengono scaricati dalla data di aggiornamento specificata fino al giorno corrente. |
Parametri di output dell'azione DownloadObjects
Questa azione restituisce lo stato 200 (OK) se il download è riuscito.
Per capire come configurare l'azione DownloadObjects
, consulta Esempi di azioni.
Azione UploadObject
Questa azione ti consente di caricare un oggetto in un bucket.
Parametri di input dell'azione CaricaOggetto
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 i contenuti devono essere caricati come stringa con codifica 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 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ì | Nome del bucket in cui è presente l'oggetto da eliminare. |
Oggetto | Stringa | Sì | Nome dell'oggetto da eliminare. |
Parametri di output dell'azione DeleteObject
Questa azione restituisce lo stato 200 (OK) se l'eliminazione è andata a buon fine.
Per capire come configurare l'azione DeleteObject
, consulta 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 SpostaOggetto
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 da spostare. |
BucketDestination | Stringa | Sì | Il nome del bucket di destinazione in cui spostare l'oggetto. |
ObjectDestination | Stringa | No | Nome dell'oggetto nel bucket di destinazione. Se non viene specificato, viene mantenuto il nome originale. |
Parametri di output dell'azione SpostaOggetto
Questa azione restituisce lo stato 200 (OK) se l'operazione di spostamento è riuscita.
Per capire come configurare l'azione MoveObject
, consulta Esempi di azioni.
Azione PutBucketAcl
Questa azione ti 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 a cui applicare 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 è andato a buon fine.
Per capire come configurare l'azione PutBucketAcl
, consulta Esempi di azioni.
Azione PutObjectAcl
Questa azione ti 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 applicare l'ACL. |
Parametri di output dell'azione PutObjectAcl
Questa azione restituisce lo stato 200 (OK) se l'aggiornamento dell'ACL dell'oggetto è andato a buon fine.
Per capire come configurare l'azione PutObjectAcl
, consulta Esempi di azioni.
Esempi di azioni
Questa sezione descrive come eseguire alcune delle azioni in questo connettore.
Esempio: copiare un oggetto
Questo esempio copia un oggetto da un bucket a un altro.
- Nella finestra di dialogo
Configure connector task
, fai clic suActions
. - Seleziona l'azione
CopyObject
e poi fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
e poi inserisci un valore simile al seguente nel campoDefault Value
:{ "BucketSource": "aws-s3-bucket-source", "ObjectSource": "pic.jpg", "BucketDestination": "aws-s3-bucket-destination", "ObjectDestination": "new_pic.jpg" }
Se l'azione ha esito positivo, il parametro di risposta connectorOutputPayload
della task CopyObject
avrà un valore simile al seguente:
[{ "Status": "Success" }]
Esempio: scarica 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 poi fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
e poi inserisci un valore simile al seguente nel campoDefault Value
:{ "Bucket": "aws-s3-bucket-source", "HasBytes": true }
Se l'azione ha esito positivo, il parametro di risposta connectorOutputPayload
della task 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 poi fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
e poi inserisci un valore simile al seguente nel campoDefault Value
:{ "Bucket": "aws-s3-bucket-source", "FileName": "upload_1.txt", "Content": "This is a testing file", "AccessPolicy": "PUBLIC" }
Se l'azione ha esito positivo, il parametro di risposta connectorOutputPayload
della task 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
Questo esempio elimina un oggetto dal bucket specificato.
- Nella finestra di dialogo
Configure connector task
, fai clic suActions
. - Seleziona l'azione
DeleteObject
e poi fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
e poi inserisci un valore simile al seguente nel campoDefault Value
:{ "Bucket": "aws-s3-bucket-source", "Object": "abc.png" }
Se l'azione ha esito positivo, il parametro di risposta connectorOutputPayload
della task 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 poi fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
e poi inserisci un valore simile al seguente nel campoDefault Value
:{ "BucketSource": "aws-s3-bucket-source", "ObjectSource": "abc.png", "BucketDestination": "aws-s3-bucket-destination", "ObjectDestination": "moved.png" }
Se l'azione ha esito positivo, il parametro di risposta connectorOutputPayload
della task 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 poi fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
e inserisci un valore simile al seguente nel campoDefault Value
:{ "BucketSource": "aws-s3-bucket-source", "ACL": "public-read" }
Se l'azione ha esito positivo, il parametro di risposta connectorOutputPayload
della task PutBucketAcl
avrà un valore simile al seguente:
[{ "Status": "Success" }]
Esempio: aggiorna l'ACL di un oggetto
Questo esempio aggiorna 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 poi fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
e poi inserisci un valore simile al seguente nel campoDefault Value
:{ "Bucket": "aws-s3-bucket-source", "ACL": "aws-exec-read", "Key": "AWS_S3_BusinessCase_V2.xlsx" }
Se l'azione ha esito positivo, il parametro di risposta connectorOutputPayload
della task PutObjectAcl
avrà un valore simile al seguente:
[{ "Status": "Success" }]
Esempi di operazioni sulle entità
Questa sezione mostra come eseguire alcune delle operazioni sulle 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 poi fai clic su Fine. - Se vuoi, nella sezione Input attività dell'attività Connettori, puoi filtrare il set di risultati specificando una clausola di filtro.
Specifica sempre il valore della clausola di filtro tra virgolette singole ('). Ad esempio,
Bucket='test-bucket'
. Puoi anche specificare più condizioni di filtro utilizzando gli operatori logici. Ad esempio,Bucket='test-bucket' and OwnerId='b1ecc809ad8467088afb'
.
Esempio: ottieni i metadati di un bucket
Questo esempio recupera 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 poi fai clic su Fine. - Nella sezione Input dell'attività dell'attività Connettori, fai clic su EntityId e poi inserisci
demo_replication
nel campo Valore predefinito.In questo caso,
demo_replication
è un ID bucket univoco nell'entitàBucket
.
Esempio: crea 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
e poi inserisci un valore simile al seguente nel campoDefault Value
:{ "Bucket": "Demo1697528098686" }
Se l'integrazione è andata a buon fine, il campo
connectorOutputPayload
dell'attività del connettore avrà un valore simile al seguente:[{ "Bucket": "Demo1697528098686" }]
Esempio: eliminare 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 poi inserisci
demo1697528098686
nel campo Valore predefinito.
Utilizzare la connessione Amazon S3 in un'integrazione
Una volta creata, la connessione diventa disponibile sia nell'Apigee Integration sia nell'Application Integration. Puoi utilizzare la connessione in un'integrazione tramite l'attività Connettori.
- Per informazioni su come creare e utilizzare l'attività Connectors in Apigee Integration, consulta Attività Connectors.
- Per informazioni su come creare e utilizzare l'attività Connettori in Application Integration, consulta Attività Connettori.
Ricevere assistenza dalla community Google Cloud
Puoi pubblicare le tue domande e discutere di questo connettore nella community Google Cloud ai forum di Cloud.Passaggi successivi
- Scopri come sospendere e riprendere una connessione.
- Scopri come monitorare l'utilizzo dei connettori.
- Scopri come visualizzare i log del connettore.