Tutorial: Utilizzo AWS Lambda con Amazon Simple Notification Service - AWS Lambda

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à.

Tutorial: Utilizzo AWS Lambda con Amazon Simple Notification Service

In questo tutorial, utilizzi una funzione Lambda in un'unica funzione Account AWS per iscriverti a un argomento di Amazon Simple Notification Service SNS (Amazon) separato. Account AWS Quando pubblichi messaggi sul tuo SNS argomento Amazon, la funzione Lambda legge il contenuto del messaggio e lo invia in Amazon Logs. CloudWatch Per completare questo tutorial, usi il pulsante (). AWS Command Line Interface AWS CLI

Un SNS argomento Amazon connesso a una funzione Lambda connessa a un gruppo di CloudWatch log Logs

Per completare questo tutorial, esegui i passaggi riportati:

  • Nell'account A, crea un SNS argomento Amazon.

  • Nell'account B, crea una funzione Lambda che leggerà i messaggi dall'argomento.

  • Nell'account B, crea una sottoscrizione all'argomento.

  • Pubblica messaggi SNS sull'argomento Amazon nell'account A e conferma che la funzione Lambda nell'account B li invii nei log. CloudWatch

Completando questi passaggi, imparerai come configurare un SNS argomento Amazon per richiamare una funzione Lambda. Imparerai anche come creare una policy AWS Identity and Access Management (IAM) che autorizzi una risorsa in un'altra Account AWS a richiamare Lambda.

Nel tutorial, vengono utilizzati due Account AWS separati. I AWS CLI comandi lo illustrano utilizzando due profili denominati chiamati accountA eaccountB, ciascuno configurato per l'uso con un altro. Account AWS Per informazioni su come configurare l'utilizzo AWS CLI di profili diversi, consulta Impostazioni dei file di configurazione e credenziali nella Guida per l'AWS Command Line Interface utente della versione 2. Assicurati di configurare lo stesso valore predefinito Regione AWS per entrambi i profili.

Se i AWS CLI profili creati per i due Account AWS utilizzano nomi diversi o se utilizzi il profilo predefinito e un profilo denominato, modifica i AWS CLI comandi nei passaggi seguenti in base alle esigenze.

Prerequisiti

Se non ne hai uno Account AWS, completa i seguenti passaggi per crearne uno.

Per iscriverti a un Account AWS
  1. Apri la https://portal.aws.amazon.com/billing/registrazione.

  2. Segui le istruzioni online.

    Nel corso della procedura di registrazione riceverai una telefonata, durante la quale sarà necessario inserire un codice di verifica attraverso la tastiera del telefono.

    Quando ti iscrivi a un Account AWS, Utente root dell'account AWSviene creato un. L'utente root dispone dell'accesso a tutte le risorse e tutti i Servizi AWS nell'account. Come best practice di sicurezza, assegna l'accesso amministrativo a un utente e utilizza solo l'utente root per eseguire attività che richiedono l'accesso di un utente root.

AWS ti invia un'email di conferma dopo il completamento della procedura di registrazione. In qualsiasi momento, puoi visualizzare l'attività corrente del tuo account e gestirlo accedendo a https://aws.amazon.com/e scegliendo Il mio account.

Dopo esserti registrato Account AWS, proteggi Utente root dell'account AWS AWS IAM Identity Center, abilita e crea un utente amministrativo in modo da non utilizzare l'utente root per le attività quotidiane.

Proteggi i tuoi Utente root dell'account AWS
  1. Accedi AWS Management Consolecome proprietario dell'account scegliendo Utente root e inserendo il tuo indirizzo Account AWS email. Nella pagina successiva, inserisci la password.

    Per informazioni sull'accesso utilizzando un utente root, consulta la pagina Signing in as the root user della Guida per l'utente di Accedi ad AWS .

  2. Attiva l'autenticazione a più fattori (MFA) per il tuo utente root.

    Per istruzioni, consulta Abilitare un MFA dispositivo virtuale per l'utente Account AWS root (console) nella Guida per l'IAMutente.

Crea un utente con accesso amministrativo
  1. Abilita IAM Identity Center.

    Per istruzioni, consulta Abilitazione di AWS IAM Identity Center nella Guida per l'utente di AWS IAM Identity Center .

  2. In IAM Identity Center, concedi l'accesso amministrativo a un utente.

    Per un tutorial sull'utilizzo di IAM Identity Center directory come fonte di identità, consulta Configurare l'accesso utente con i valori predefiniti IAM Identity Center directory nella Guida per l'AWS IAM Identity Center utente.

Accesso come utente amministratore
  • Per accedere con l'utente dell'IAMIdentity Center, utilizza l'accesso URL che è stato inviato al tuo indirizzo e-mail quando hai creato l'utente IAM Identity Center.

    Per informazioni sull'accesso tramite un utente di IAM Identity Center, consulta Accesso al portale di AWS accesso nella Guida per l'Accedi ad AWS utente.

Assegna l'accesso a ulteriori utenti
  1. In IAM Identity Center, crea un set di autorizzazioni che segua la migliore pratica di applicazione delle autorizzazioni con privilegi minimi.

    Segui le istruzioni riportate nella pagina Creazione di un set di autorizzazioni nella Guida per l'utente di AWS IAM Identity Center .

  2. Assegna al gruppo prima gli utenti e poi l'accesso con autenticazione unica (Single Sign-On).

    Per istruzioni, consulta Aggiungere gruppi nella Guida per l'utente di AWS IAM Identity Center .

Se non l'hai ancora installato AWS Command Line Interface, segui i passaggi indicati in Installazione o aggiornamento della versione più recente di AWS CLI per installarlo.

Per eseguire i comandi nel tutorial, sono necessari un terminale a riga di comando o una shell (interprete di comandi). In Linux e macOS, utilizza la shell (interprete di comandi) e il gestore pacchetti preferiti.

Nota

In Windows, alcuni CLI comandi Bash comunemente utilizzati con Lambda (zipcome) non sono supportati dai terminali integrati del sistema operativo. Per ottenere una versione integrata su Windows di Ubuntu e Bash, installa il sottosistema Windows per Linux.

Crea un SNS argomento Amazon (account A)

Primo passaggio: creare l'SNSargomento Amazon
Per creare l'argomento
  • Nell'account A, crea un argomento SNS standard Amazon utilizzando il seguente AWS CLI comando.

    aws sns create-topic --name sns-topic-for-lambda --profile accountA

    Verrà visualizzato un output simile al seguente.

    { "TopicArn": "arn:aws:sns:us-west-2:123456789012:sns-topic-for-lambda" }

    Prendi nota dell'Amazon Resource Name (ARN) del tuo argomento. Sarà necessario in seguito nel tutorial, quando aggiungerai autorizzazioni alla funzione Lambda per effettuare la sottoscrizione all'argomento.

Creazione di un ruolo di esecuzione della funzione (account B)

Passaggio successivo: creare il ruolo di esecuzione

Un ruolo di esecuzione è un IAM ruolo che concede a una funzione Lambda l'autorizzazione ad AWS accedere a servizi e risorse. Prima di creare la funzione nell'account B, si crea un ruolo che fornisce alla funzione le autorizzazioni di base per scrivere i log nei registri. CloudWatch Aggiungeremo le autorizzazioni per la lettura dal tuo SNS argomento Amazon in un passaggio successivo.

Creazione di un ruolo di esecuzione
  1. Nell'account B apri la pagina dei ruoli nella IAM console.

  2. Scegliere Crea ruolo.

  3. Per Tipo di entità attendibile, scegli Servizio AWS .

  4. In Caso d'uso, scegli Lambda.

  5. Scegli Next (Successivo).

  6. Aggiungi una policy di autorizzazioni di base al ruolo completando le seguenti operazioni:

    1. Nella casella di ricerca Policy di autorizzazione, inserisci AWSLambdaBasicExecutionRole.

    2. Scegli Next (Successivo).

  7. Completa la creazione del ruolo effettuando le seguenti operazioni:

    1. In Dettagli ruolo, immetti lambda-sns-role per Nome ruolo.

    2. Scegliere Crea ruolo.

Creare una funzione Lambda (account B)

Passaggio successivo: creare la funzione

Crea una funzione Lambda che elabori i tuoi messaggi AmazonSNS. Il codice funzione registra il contenuto dei messaggi di ogni record in Amazon CloudWatch Logs.

Questo tutorial utilizza il runtime Node.js 18.x, ma è fornito anche un codice di esempio in altri linguaggi di runtime. Per visualizzare il codice per il runtime che ti interessa, seleziona la scheda corrispondente nella casella seguente. Il JavaScript codice che utilizzerai in questo passaggio è nel primo esempio mostrato nella JavaScriptscheda.

.NET
AWS SDK for .NET
Nota

C'è altro su GitHub. Trova l'esempio completo e scopri come eseguire la configurazione e l'esecuzione nel repository di Esempi serverless.

Consumo di un SNS evento con Lambda che utilizza. NET.

// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 using Amazon.Lambda.Core; using Amazon.Lambda.SNSEvents; // Assembly attribute to enable the Lambda function's JSON input to be converted into a .NET class. [assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.SystemTextJson.DefaultLambdaJsonSerializer))] namespace SnsIntegration; public class Function { public async Task FunctionHandler(SNSEvent evnt, ILambdaContext context) { foreach (var record in evnt.Records) { await ProcessRecordAsync(record, context); } context.Logger.LogInformation("done"); } private async Task ProcessRecordAsync(SNSEvent.SNSRecord record, ILambdaContext context) { try { context.Logger.LogInformation($"Processed record {record.Sns.Message}"); // TODO: Do interesting work based on the new message await Task.CompletedTask; } catch (Exception e) { //You can use Dead Letter Queue to handle failures. By configuring a Lambda DLQ. context.Logger.LogError($"An error occurred"); throw; } } }
Go
SDKper Go V2
Nota

C'è altro da fare. GitHub Trova l'esempio completo e scopri come eseguire la configurazione e l'esecuzione nel repository di Esempi serverless.

Consumare un SNS evento con Lambda utilizzando Go.

// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 package main import ( "context" "fmt" "github.com/aws/aws-lambda-go/events" "github.com/aws/aws-lambda-go/lambda" ) func handler(ctx context.Context, snsEvent events.SNSEvent) { for _, record := range snsEvent.Records { processMessage(record) } fmt.Println("done") } func processMessage(record events.SNSEventRecord) { message := record.SNS.Message fmt.Printf("Processed message: %s\n", message) // TODO: Process your record here } func main() { lambda.Start(handler) }
Java
SDKper Java 2.x
Nota

C'è altro su. GitHub Trova l'esempio completo e scopri come eseguire la configurazione e l'esecuzione nel repository di Esempi serverless.

Consumo di un SNS evento con Lambda utilizzando Java.

// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 package example; import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.LambdaLogger; import com.amazonaws.services.lambda.runtime.RequestHandler; import com.amazonaws.services.lambda.runtime.events.SNSEvent; import com.amazonaws.services.lambda.runtime.events.SNSEvent.SNSRecord; import java.util.Iterator; import java.util.List; public class SNSEventHandler implements RequestHandler<SNSEvent, Boolean> { LambdaLogger logger; @Override public Boolean handleRequest(SNSEvent event, Context context) { logger = context.getLogger(); List<SNSRecord> records = event.getRecords(); if (!records.isEmpty()) { Iterator<SNSRecord> recordsIter = records.iterator(); while (recordsIter.hasNext()) { processRecord(recordsIter.next()); } } return Boolean.TRUE; } public void processRecord(SNSRecord record) { try { String message = record.getSNS().getMessage(); logger.log("message: " + message); } catch (Exception e) { throw new RuntimeException(e); } } }
JavaScript
SDKper JavaScript (v3)
Nota

C'è di più su. GitHub Trova l'esempio completo e scopri come eseguire la configurazione e l'esecuzione nel repository di Esempi serverless.

Consumo di un SNS evento con Lambda che utilizza. JavaScript

// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 exports.handler = async (event, context) => { for (const record of event.Records) { await processMessageAsync(record); } console.info("done"); }; async function processMessageAsync(record) { try { const message = JSON.stringify(record.Sns.Message); console.log(`Processed message ${message}`); await Promise.resolve(1); //Placeholder for actual async work } catch (err) { console.error("An error occurred"); throw err; } }

Consumo di un SNS evento con Lambda che utilizza. TypeScript

// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 import { SNSEvent, Context, SNSHandler, SNSEventRecord } from "aws-lambda"; export const functionHandler: SNSHandler = async ( event: SNSEvent, context: Context ): Promise<void> => { for (const record of event.Records) { await processMessageAsync(record); } console.info("done"); }; async function processMessageAsync(record: SNSEventRecord): Promise<any> { try { const message: string = JSON.stringify(record.Sns.Message); console.log(`Processed message ${message}`); await Promise.resolve(1); //Placeholder for actual async work } catch (err) { console.error("An error occurred"); throw err; } }
PHP
SDK per PHP
Nota

C'è altro da fare. GitHub Trova l'esempio completo e scopri come eseguire la configurazione e l'esecuzione nel repository di Esempi serverless.

Consumo di un SNS evento con Lambda che utilizza. PHP

// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 <?php /* Since native PHP support for AWS Lambda is not available, we are utilizing Bref's PHP functions runtime for AWS Lambda. For more information on Bref's PHP runtime for Lambda, refer to: https://bref.sh/docs/runtimes/function Another approach would be to create a custom runtime. A practical example can be found here: https://aws.amazon.com/blogs/apn/aws-lambda-custom-runtime-for-php-a-practical-example/ */ // Additional composer packages may be required when using Bref or any other PHP functions runtime. // require __DIR__ . '/vendor/autoload.php'; use Bref\Context\Context; use Bref\Event\Sns\SnsEvent; use Bref\Event\Sns\SnsHandler; class Handler extends SnsHandler { public function handleSns(SnsEvent $event, Context $context): void { foreach ($event->getRecords() as $record) { $message = $record->getMessage(); // TODO: Implement your custom processing logic here // Any exception thrown will be logged and the invocation will be marked as failed echo "Processed Message: $message" . PHP_EOL; } } } return new Handler();
Python
SDKper Python (Boto3)
Nota

C'è di più su. GitHub Trova l'esempio completo e scopri come eseguire la configurazione e l'esecuzione nel repository di Esempi serverless.

Consumo di un SNS evento con Lambda usando Python.

# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 def lambda_handler(event, context): for record in event['Records']: process_message(record) print("done") def process_message(record): try: message = record['Sns']['Message'] print(f"Processed message {message}") # TODO; Process your record here except Exception as e: print("An error occurred") raise e
Ruby
SDKper Ruby
Nota

c'è altro da fare. GitHub Trova l'esempio completo e scopri come eseguire la configurazione e l'esecuzione nel repository di Esempi serverless.

Consumare un SNS evento con Lambda usando Ruby.

# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 def lambda_handler(event:, context:) event['Records'].map { |record| process_message(record) } end def process_message(record) message = record['Sns']['Message'] puts("Processing message: #{message}") rescue StandardError => e puts("Error processing message: #{e}") raise end
Rust
SDKper Rust
Nota

c'è altro da fare GitHub. Trova l'esempio completo e scopri come eseguire la configurazione e l'esecuzione nel repository di Esempi serverless.

Consumare un SNS evento con Lambda utilizzando Rust.

// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 use aws_lambda_events::event::sns::SnsEvent; use aws_lambda_events::sns::SnsRecord; use lambda_runtime::{run, service_fn, Error, LambdaEvent}; use tracing::info; // Built with the following dependencies: // aws_lambda_events = { version = "0.10.0", default-features = false, features = ["sns"] } // lambda_runtime = "0.8.1" // tokio = { version = "1", features = ["macros"] } // tracing = { version = "0.1", features = ["log"] } // tracing-subscriber = { version = "0.3", default-features = false, features = ["fmt"] } async fn function_handler(event: LambdaEvent<SnsEvent>) -> Result<(), Error> { for event in event.payload.records { process_record(&event)?; } Ok(()) } fn process_record(record: &SnsRecord) -> Result<(), Error> { info!("Processing SNS Message: {}", record.sns.message); // Implement your record handling code here. Ok(()) } #[tokio::main] async fn main() -> Result<(), Error> { tracing_subscriber::fmt() .with_max_level(tracing::Level::INFO) .with_target(false) .without_time() .init(); run(service_fn(function_handler)).await }
Creazione della funzione
  1. Crea una directory per il progetto, quindi passa a quella directory.

    mkdir sns-tutorial cd sns-tutorial
  2. Copia il JavaScript codice di esempio in un nuovo file denominatoindex.js.

  3. Crea un pacchetto di implementazione utilizzando il seguente comando zip.

    zip function.zip index.js
  4. Esegui il AWS CLI comando seguente per creare la tua funzione Lambda nell'account B.

    aws lambda create-function --function-name Function-With-SNS \ --zip-file fileb://function.zip --handler index.handler --runtime nodejs18.x \ --role arn:aws:iam::<AccountB_ID>:role/lambda-sns-role \ --timeout 60 --profile accountB

    Verrà visualizzato un output simile al seguente.

    { "FunctionName": "Function-With-SNS", "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:Function-With-SNS", "Runtime": "nodejs18.x", "Role": "arn:aws:iam::123456789012:role/lambda_basic_role", "Handler": "index.handler", ... "RuntimeVersionConfig": { "RuntimeVersionArn": "arn:aws:lambda:us-west-2::runtime:7d5f06b69c951da8a48b926ce280a9daf2e8bb1a74fc4a2672580c787d608206" } }
  5. Registra l'Amazon Resource Name (ARN) della tua funzione. Ti servirà più avanti nel tutorial quando aggiungerai le autorizzazioni per consentire ad Amazon di SNS richiamare la tua funzione.

Aggiunta di autorizzazioni alla funzione (account B)

Passaggio successivo: aggiungere le autorizzazioni alla funzione

Affinché Amazon possa SNS richiamare la tua funzione, devi concederle l'autorizzazione in una dichiarazione su una politica basata sulle risorse. Aggiungi questa dichiarazione utilizzando il comando. AWS CLI add-permission

Per concedere ad Amazon SNS il permesso di richiamare la tua funzione
  • Nell'account B, esegui il AWS CLI comando seguente utilizzando l'SNSargomento ARN per il tuo Amazon che hai registrato in precedenza.

    aws lambda add-permission --function-name Function-With-SNS \ --source-arn arn:aws:sns:us-east-1:<AccountA_ID>:sns-topic-for-lambda \ --statement-id function-with-sns --action "lambda:InvokeFunction" \ --principal sns.amazonaws.com --profile accountB

    Verrà visualizzato un output simile al seguente.

    { "Statement": "{\"Condition\":{\"ArnLike\":{\"AWS:SourceArn\": \"arn:aws:sns:us-east-1:<AccountA_ID>:sns-topic-for-lambda\"}}, \"Action\":[\"lambda:InvokeFunction\"], \"Resource\":\"arn:aws:lambda:us-east-1:<AccountB_ID>:function:Function-With-SNS\", \"Effect\":\"Allow\",\"Principal\":{\"Service\":\"sns.amazonaws.com\"}, \"Sid\":\"function-with-sns\"}" }
Nota

Se l'account con l'SNSargomento Amazon è ospitato in un opt-in Regione AWS, devi specificare la regione nella pagina principale. Ad esempio, se lavori su un SNS argomento di Amazon nella regione Asia Pacifico (Hong Kong), devi specificare sns.ap-east-1.amazonaws.com invece che sns.amazonaws.com per il principale.

Concedi l'autorizzazione per più account per SNS l'abbonamento Amazon (account A)

Passaggio successivo: concedere l'autorizzazione per più account

Affinché la tua funzione Lambda nell'account B possa iscriversi all'SNSargomento Amazon che hai creato nell'account A, devi concedere l'autorizzazione all'account B per iscriversi al tuo argomento. Concedi questa autorizzazione utilizzando il AWS CLI add-permission comando.

Concessione dell'autorizzazione per consentire all'account B la sottoscrizione all'argomento
  • Nell'account A, esegui il seguente AWS CLI comando. Usa il ARN per l'SNSargomento Amazon che hai registrato in precedenza.

    aws sns add-permission --label lambda-access --aws-account-id <AccountB_ID> \ --topic-arn arn:aws:sns:us-east-1:<AccountA_ID>:sns-topic-for-lambda \ --action-name Subscribe ListSubscriptionsByTopic --profile accountA

Creare una sottoscrizione (account B)

Passaggio successivo: creare un abbonamento

Nell'account B, ora sottoscrivi la tua funzione Lambda all'SNSargomento Amazon che hai creato all'inizio del tutorial nell'account A. Quando viene inviato un messaggio a questo argomento (sns-topic-for-lambda), Amazon SNS richiama la funzione Function-With-SNS Lambda nell'account B.

Creazione di una sottoscrizione
  • Nell'account B, esegui il seguente comando. AWS CLI Usa l'area predefinita in cui hai creato l'argomento e la funzione ARNs for your topic e Lambda.

    aws sns subscribe --protocol lambda \ --region us-east-1 \ --topic-arn arn:aws:sns:us-east-1:<AccountA_ID>:sns-topic-for-lambda \ --notification-endpoint arn:aws:lambda:us-east-1:<AccountB_ID>:function:Function-With-SNS \ --profile accountB

    Verrà visualizzato un output simile al seguente.

    { "SubscriptionArn": "arn:aws:sns:us-east-1:<AccountA_ID>:sns-topic-for-lambda:5d906xxxx-7c8x-45dx-a9dx-0484e31c98xx" }

Pubblicazione di messaggi sull'argomento (account A e account B)

Passaggio successivo: pubblicare messaggi

Ora che la tua funzione Lambda nell'account B è iscritta al tuo SNS argomento Amazon nell'account A, è il momento di testare la configurazione pubblicando messaggi sul tuo argomento. Per confermare che Amazon SNS ha richiamato la funzione Lambda, CloudWatch utilizza Logs per visualizzare l'output della funzione.

Pubblicazione di un messaggio sull' argomento e visualizzazione dell'output della tua funzione
  1. Digita Hello World in un file di testo e salvalo come message.txt.

  2. Dalla stessa directory in cui hai salvato il file di testo, esegui il seguente AWS CLI comando nell'account A. Utilizzalo ARN per il tuo argomento.

    aws sns publish --message file://message.txt --subject Test \ --topic-arn arn:aws:sns:us-east-1:<AccountA_ID>:sns-topic-for-lambda \ --profile accountA

    Ciò restituirà un ID messaggio con un identificatore univoco, che indica che Amazon SNS ha accettato il messaggio. Amazon tenta SNS quindi di recapitare il messaggio agli abbonati dell'argomento. Per confermare che Amazon SNS ha richiamato la tua funzione Lambda, CloudWatch usa Logs per visualizzare l'output della tua funzione:

  3. Nell'account B, apri la pagina dei gruppi di log della CloudWatch console Amazon.

  4. Scegli il nome del gruppo di log per la funzione (/aws/lambda/Function-With-SNS).

  5. Scegli il flusso di log più recente.

  6. Se la funzione è stata richiamata correttamente, vedrai un output simile al seguente che mostra il contenuto del messaggio pubblicato sull'argomento.

    2023-07-31T21:42:51.250Z c1cba6b8-ade9-4380-aa32-d1a225da0e48 INFO Processed message Hello World 2023-07-31T21:42:51.250Z c1cba6b8-ade9-4380-aa32-d1a225da0e48 INFO done

Pulizia delle risorse

Ora è possibile eliminare le risorse create per questo tutorial, a meno che non si voglia conservarle. Eliminando AWS le risorse che non utilizzi più, eviti addebiti inutili ai tuoi Account AWS.

Nell'Account A, ripulisci il tuo SNS argomento Amazon.

Per eliminare l'SNSargomento Amazon
  1. Apri la pagina Argomenti della SNS console Amazon.

  2. Selezionare l'argomento creato.

  3. Scegli Elimina.

  4. Inserisci delete me nel campo di immissione del testo.

  5. Scegli Elimina.

Nell'Account B, ripulisci il ruolo di esecuzione, la funzione Lambda e l'abbonamento AmazonSNS.

Come eliminare il ruolo di esecuzione
  1. Apri la pagina Ruoli della IAM console.

  2. Selezionare il ruolo di esecuzione creato.

  3. Scegliere Elimina.

  4. Inserisci il nome del ruolo nel campo di immissione testo e seleziona Delete (Elimina).

Per eliminare la funzione Lambda
  1. Aprire la pagina Functions (Funzioni) della console Lambda.

  2. Selezionare la funzione creata.

  3. Scegliere Operazioni, Elimina.

  4. Inserisci delete nel campo di immissione del testo, quindi scegli Elimina.

Per eliminare l'SNSabbonamento Amazon
  1. Apri la pagina Abbonamenti della SNS console Amazon.

  2. Selezionare la sottoscrizione creata.

  3. Scegli Delete (Elimina), poi Delete (Elimina).