Distribuzione e iscrizione della pipeline di ricerca di eventi e di analisi - Amazon Simple Notification Service

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

Distribuzione e iscrizione della pipeline di ricerca di eventi e di analisi

Per l'archiviazione e l'analisi degli eventi, Amazon SNS ora consiglia di utilizzare la sua integrazione nativa con Amazon Data Firehose. Puoi abbonare i flussi di distribuzione Firehose agli argomenti SNS, il che ti consente di inviare notifiche a endpoint di archiviazione e analisi come i bucket Amazon Simple Storage Service (Amazon S3), le tabelle Amazon Redshift, Amazon Service (Service) e altro ancora. OpenSearch OpenSearch L'uso di Amazon SNS con i flussi di distribuzione Firehose è una soluzione completamente gestita e priva di codice che non richiede l'utilizzo di funzioni. AWS Lambda Per ulteriori informazioni, consulta Flussi di distribuzione da Fanout a Firehose.

Questo tutorial mostra come distribuire la pipeline di ricerca di eventi e di analisi e iscriverla a un argomento Amazon SNS. Questo processo trasforma automaticamente il modello AWS SAM associato alla pipeline in uno stack AWS CloudFormation, che viene quindi distribuito nel tuo Account AWS. Il processo inoltre crea e configura il set di risorse che compongono la pipeline di ricerca di eventi e di analisi, tra cui:

  • Coda Amazon SQS

  • Funzione Lambda

  • Flussi di distribuzione Firehose

  • Dominio Amazon OpenSearch Service

  • Bucket di Amazon S3

Per ulteriori informazioni sulla configurazione di uno stream con un indice come destinazione, consulta ElasticsearchDestinationConfiguration Amazon Data Firehose API Reference.

Per ulteriori informazioni sulla trasformazione degli eventi e sulla configurazione del buffering, della compressione degli eventi e della crittografia degli eventi, consulta Creating an Amazon Data Firehose Delivery Stream nella Amazon Data Firehose Developer Guide.

Per ulteriori informazioni su come filtrare gli eventi, consulta Policy di filtro degli abbonamenti Amazon SNS in questa guida.

  1. Accedi alla console AWS Lambda.

  2. Nel riquadro di navigazione, selezionare Functions (Funzioni) e quindi Create function (Crea funzione).

  3. Nella pagina Create function (Crea funzione), procedere come segue:

    1. Scegliere Browse serverless app repository (Sfoglia repository app serverless), Public applications (Applicazioni pubbliche), Show apps that create custom IAM roles or resource policies (Mostra applicazioni in grado di creare ruoli IAM o policy di risorse personalizzati).

    2. Cercare fork-event-search-analytics-pipeline e scegliere l'applicazione.

  4. Nella pagina fork-event-search-analytics-pipeline, procedi come segue:

    1. Nella sezione Application settings (Impostazioni applicazione), immettere un Application name (Nome applicazione) (ad esempio my-app-search).

      Nota

      Il nome dell'applicazione deve essere univoco per ogni distribuzione. Se tale nome viene riutilizzato, la distribuzione si limiterà ad aggiornare lo stack AWS CloudFormation distribuito in precedenza (anziché crearne uno nuovo).

    2. (Facoltativo) Per DataTransformationFunctionArn, immettete l'ARN della funzione Lambda utilizzata per trasformare gli eventi in entrata. In assenza di valori immessi, la trasformazione dei dati è disabilitata.

    3. (Facoltativo) Immettete una delle seguenti LogLevelimpostazioni per l'esecuzione della funzione Lambda dell'applicazione:

      • DEBUG

      • ERROR

      • INFO (predefinito)

      • WARNING

    4. (Facoltativo) Per SearchDomainArn, inserisci l'ARN del dominio del OpenSearch servizio, un cluster che configura le funzionalità di elaborazione e archiviazione necessarie. In assenza di valori immessi, viene creato un nuovo dominio con la configurazione predefinita.

    5. Per esempio TopicArn, inserisci l'ARN dell'argomento Amazon SNS a cui deve essere sottoscritta questa istanza della pipeline fork.

    6. Per SearchIndexName, inserisci il nome dell'indice dei OpenSearch servizi per la ricerca e l'analisi degli eventi.

      Nota

      I seguenti limiti si applicano ai nomi degli indici:

      • Non possono includere lettere maiuscole

      • Non possono includere i seguenti caratteri: \ / * ? " < > | ` , #

      • Non possono iniziare con i seguenti caratteri: - + _

      • Non possono corrispondere a: . ..

      • Non possono essere più lunghi di 80 caratteri

      • Non possono essere più lunghi di 255 byte

      • Non può contenere due punti (da OpenSearch Service 7.0)

    7. (Facoltativo) Immettete una delle seguenti SearchIndexRotationPeriodimpostazioni per il periodo di rotazione dell'indice di OpenSearch servizio:

      • NoRotation (predefinito)

      • OneDay

      • OneHour

      • OneMonth

      • OneWeek

      La rotazione dell'indice aggiunge un timestamp al nome dell'indice, facilitando così la scadenza dei dati meno recenti.

    8. Per SearchTypeName, inserisci il nome del tipo di OpenSearch servizio per l'organizzazione degli eventi in un indice.

      Nota
      • OpenSearch I nomi dei tipi di servizio possono contenere qualsiasi carattere (eccetto i byte nulli) ma non possono iniziare con. _

      • Per OpenSearch Service 6.x, può esistere un solo tipo per indice. Se si specifica un nuovo tipo per un indice esistente che ha già un altro tipo, Firehose restituisce un errore di runtime.

    9. (Facoltativo) Per StreamBufferingIntervalInSecondse StreamBufferingSizeInMB, inserite i valori per configurare il buffering degli eventi in entrata. In assenza di valori immessi, vengono impostati 300 secondi e 5 MB.

    10. (Facoltativo) Immettete una delle seguenti StreamCompressionFormatimpostazioni per la compressione degli eventi in arrivo:

      • GZIP

      • SNAPPY

      • UNCOMPRESSED (predefinito)

      • ZIP

    11. (Facoltativo) Per StreamPrefix, inserisci il prefisso di stringa per assegnare un nome ai file archiviati nel bucket con lettere morte S3. In assenza di valori immessi, non viene utilizzato alcun prefisso.

    12. (Facoltativo) Per StreamRetryDurationInSecons, inserire la durata dei nuovi tentativi nei casi in cui Firehose non è in grado di indicizzare gli eventi nell'indice OpenSearch dei servizi. In assenza di valori immessi, viene utilizzato un valore di 300 secondi.

    13. (Facoltativo) Per SubscriptionFilterPolicy, inserisci la politica di filtro degli abbonamenti Amazon SNS, in formato JSON, da utilizzare per filtrare gli eventi in arrivo. La politica di filtro decide quali eventi sono indicizzati nell'indice del servizio. OpenSearch In assenza di valori immessi, non viene applicato alcun filtro (tutti gli eventi vengono indicizzati).

    14. Scegliere I acknowledge that this app creates custom IAM roles, resource policies and deploys nested applications. (Riconosco che questa app crea ruoli IAM e policy di risorse personalizzati e distribuisce applicazioni nidificate.), quindi selezionare Deploy (Distribuisci).

Nella my-app-searchpagina Stato di distribuzione per, Lambda visualizza lo stato L'applicazione è in fase di distribuzione.

Nella sezione Resources (Risorse), AWS CloudFormation avvia la creazione dello stack e mostra lo stato CREATE_IN_PROGRESS per ciascuna risorsa. Al termine del processo, AWS CloudFormation mostra lo stato CREATE_COMPLETE.

Al termine della distribuzione, Lambda mostra lo stato Your application has been deployed (L'applicazione è stata distribuita).

I messaggi pubblicati sul tuo argomento Amazon SNS vengono indicizzati automaticamente nell'indice dei OpenSearch servizi fornito dalla pipeline Event Search and Analytics. Se la pipeline non riesce a indicizzare un evento, lo archivia in un bucket S3 per dead-letter.