Abilita il richiedente a pagare i bucket Amazon S3 in Athena per Spark - Amazon Athena

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Abilita il richiedente a pagare i bucket Amazon S3 in Athena per Spark

Quando un bucket Amazon S3 è configurato per il pagamento a carico del richiedente, all'account dell'utente che esegue la query vengono addebitati i costi di accesso e trasferimento dei dati associati alla richiesta. Per ulteriori informazioni, consulta la sezione Utilizzo dei bucket con pagamento a carico del richiedente per i trasferimenti e l'utilizzo dello storage nella Guida per l'utente di Amazon S3.

In Athena for Spark, i bucket di pagamento del richiedente sono abilitati per sessione, non per gruppo di lavoro. Ad alto livello, l'abilitazione dei bucket requester pay include i seguenti passaggi:

  1. Nella console Amazon S3, abilita i pagamenti del richiedente sulle proprietà del bucket e aggiungi una policy del bucket per specificare l'accesso.

  2. Nella IAM console, crea una IAM policy per consentire l'accesso al bucket, quindi allega la policy al IAM ruolo che verrà utilizzato per accedere al bucket di pagamento del richiedente.

  3. In Athena for Spark, aggiungi una proprietà di sessione per abilitare la funzionalità di pagamento del richiedente.

Passaggio 1: abilitare i pagamenti del richiedente su un bucket Amazon S3 e aggiungere una policy sui bucket

Come abilitare il pagamento a carico del richiedente su un bucket Amazon S3
  1. Apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

  2. Nell'elenco dei bucket scegli il il link per il bucket per il quale vuoi abilitare il pagamento a carico del richiedente.

  3. Nella pagina dei bucket scegli la scheda Proprietà.

  4. Scorri verso il basso fino alla sezione Pagamento a carico del richiedente e seleziona Modifica.

  5. Nella pagina Modifica i pagamenti a carico del richiedente, seleziona Abilita, quindi seleziona Salva modifiche.

  6. Scegli la scheda Autorizzazioni.

  7. Seleziona Modifica nella sezione Policy bucket.

  8. Nella pagina Modifica policy bucket, applica la policy del bucket che desideri al bucket di origine. La seguente politica di esempio dà accesso a tutti AWS principals ("AWS": "*"), ma il tuo accesso può essere più granulare. Ad esempio, potresti voler specificare solo un IAM ruolo specifico in un altro account.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "s3:*", "Resource": [ "arn:aws:s3:::account_number-us-east-1-my-s3-requester-pays-bucket", "arn:aws:s3:::account_number-us-east-1-my-s3-requester-pays-bucket/*" ] } ] }

Fase 2: Creare una IAM policy e associarla a un IAM ruolo

Successivamente, crei una IAM politica per consentire l'accesso al bucket. Quindi alleghi la policy al ruolo che verrà utilizzato per accedere al bucket con costi a carico del richiedente.

Per creare una IAM policy per il richiedente, paga un bucket e associa la policy a un ruolo
  1. Apri la IAM console all'indirizzo. https://console.aws.amazon.com/iam/

  2. Nel riquadro di navigazione della IAM console, scegli Politiche.

  3. Scegli Create Policy (Crea policy).

  4. Scegli JSON.

  5. In Editor di policy, aggiungi una policy come quella che segue:

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:*" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::account_number-us-east-1-my-s3-requester-pays-bucket", "arn:aws:s3:::account_number-us-east-1-my-s3-requester-pays-bucket/*" ] } ] }
  6. Scegli Next (Successivo).

  7. Nella pagina Esamina e crea, immetti un nome per la policy e una descrizione facoltativa, quindi seleziona Crea policy.

  8. Nel riquadro di navigazione, seleziona Ruoli.

  9. Nella pagina Ruoli, trova il ruolo che desideri utilizzare, quindi scegli il link al nome del ruolo.

  10. Nella sezione Policy di autorizzazioni, seleziona Aggiungi autorizzazioni, Collega policy.

  11. Nella sezione Altre policy di autorizzazione, seleziona la casella di controllo relativa alla policy che hai creato, quindi seleziona Aggiungi autorizzazioni.

Passaggio 3: aggiungere una proprietà di sessione Athena for Spark

Dopo aver configurato il bucket Amazon S3 e le autorizzazioni associate per i pagamenti dei richiedenti, puoi abilitare la funzionalità in una sessione di Athena for Spark.

Per abilitare i bucket requester pay in una sessione di Athena for Spark
  1. Nell'editor notebook, nel menu Session (Sessione) in alto a destra, scegli Edit session (Modifica sessione).

  2. Espandi le proprietà di Spark.

  3. Scegli Modifica in. JSON

  4. Nell'editor JSON di testo, inserisci quanto segue:

    { "spark.hadoop.fs.s3.useRequesterPaysHeader":"true" }
  5. Seleziona Salva.