Esegui la migrazione di una coda di messaggistica da Microsoft Azure Service Bus ad Amazon SQS - Prontuario AWS

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

Esegui la migrazione di una coda di messaggistica da Microsoft Azure Service Bus ad Amazon SQS

Creato da Nisha Gambhir () AWS

Tipo R: Replatform

Fonte: applicazioni che usano le code dei bus di servizio di Azure

Obiettivo: Amazon SQS

Creato da: AWS

Ambiente: PoC o pilota

Tecnologie: app Web e mobili; migrazione

Carico di lavoro: Microsoft

AWSservizi: Amazon SQS

Riepilogo

Questo modello descrive come migrare un. NETFramework o. NETApplicazione web o console principale dall'utilizzo della piattaforma di messaggistica in coda Microsoft Azure Service Bus ad Amazon Simple Queue Service (Amazon). SQS

Le applicazioni utilizzano i servizi di messaggistica per inviare e ricevere dati da altre applicazioni. Questi servizi aiutano a creare microservizi, sistemi distribuiti e applicazioni serverless disaccoppiati e altamente scalabili nel cloud.

Le code dei bus di servizio di Azure fanno parte di un'infrastruttura di messaggistica di Azure più ampia che supporta l'accodamento e la messaggistica di pubblicazione/sottoscrizione. 

Amazon SQS è un servizio di accodamento messaggi completamente gestito che consente di disaccoppiare e scalare microservizi, sistemi distribuiti e applicazioni serverless. Amazon SQS elimina la complessità e il sovraccarico associati alla gestione e al funzionamento del middleware orientato ai messaggi e consente agli sviluppatori di concentrarsi sulla differenziazione del lavoro. Con AmazonSQS, puoi inviare, archiviare e ricevere messaggi tra componenti software a qualsiasi volume, senza perdere messaggi o richiedere la disponibilità di altri servizi.

Prerequisiti e limitazioni

Prerequisiti

  • Un AWS account attivo 

  • UN. NETFramework o. NETApplicazione web o console principale che usa le code dei bus di servizio di Azure (codice di esempio allegato)

Versioni del prodotto

  • . NETFramework 3.5 o versione successiva, oppure. NETCore 1.0.1, 2.0.0 o successivo

Architettura

Stack tecnologico di origine

  • A. NET(Core o Framework) applicazione web o console che usa una coda del bus di servizio di Azure per inviare messaggi

Stack tecnologico Target

  • Amazon SQS

Strumenti

Strumenti

  • Microsoft Visual Studio

Codice

Per creare una policy di gestione delle AWS identità e degli accessi (IAM) per AmazonSQS:

1. Accedi alla console di AWS gestione e apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/.

2. Nel pannello di navigazione sulla sinistra, selezionare Policies (Policy) e fare clic su Create Policy (Crea policy).

3. Scegli la JSONscheda e incolla il seguente codice:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "sqs:DeleteMessage", "sqs:GetQueueUrl", "sqs:ChangeMessageVisibility", "sqs:SendMessageBatch", "sqs:ReceiveMessage", "sqs:SendMessage", "sqs:GetQueueAttributes", "sqs:ListQueueTags", "sqs:ListDeadLetterSourceQueues", "sqs:DeleteMessageBatch", "sqs:PurgeQueue", "sqs:DeleteQueue", "sqs:CreateQueue", "sqs:ChangeMessageVisibilityBatch", "sqs:SetQueueAttributes" ], "Resource": "arn:aws:sqs:*:<AccountId>:*" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "sqs:ListQueues", "Resource": "*" } ] }

4. Scegli Rivedi politica, digita un nome, quindi scegli Crea politica.

5. Allega la politica appena creata al tuo IAM ruolo esistente o crea un nuovo ruolo.

Epiche

AttivitàDescrizioneCompetenze richieste
Crea una IAM politica per AmazonSQS.

Crea la IAM politica che fornirà l'accesso ad AmazonSQS. Consulta la sezione Codice per un esempio di politica.

Ingegnere di sistema
Crea un AWS profilo.

Crea un nuovo profilo eseguendo gli AWS strumenti per il PowerShell comando Set-AWSCredential. Questo comando memorizza la chiave di accesso e la chiave segreta nel file di credenziali predefinito sotto il nome del profilo specificato. Collega la SQS politica Amazon che hai creato in precedenza a questo account. Conserva l'ID della chiave di AWS accesso e la chiave di accesso segreta. Questi saranno necessari nei passaggi successivi.

Ingegnere di sistema
Creare una coda SQS.

È possibile creare una coda standard o una coda first in, first out (FIFO). Per istruzioni, consultate il collegamento nella sezione Riferimenti.

Ingegnere di sistema
AttivitàDescrizioneCompetenze richieste
Installa AWS Toolkit for Visual Studio.

Questo toolkit è un'estensione per Microsoft Visual Studio e semplifica la creazione e la distribuzione. NETapplicazioni in. AWS Per le istruzioni di installazione e utilizzo, consulta il collegamento nella sezione Riferimenti.

Sviluppatore di applicazioni
Installa il AWSSDK. SQS NuGet pacchetto.

È possibile installare AWSSDK. SQSscegliendo « NuGet Manage Package» in Visual Studio o eseguendo il comando « AWSSDKInstall-Package». SQS».

Sviluppatore di applicazioni
Crea un AWSCredentials oggetto nel tuo. NETapplicazione.

L'applicazione di esempio nell'allegato mostra come creare un asicAWSCredentials oggetto B, che eredita da AWSCredentials. È possibile utilizzare l'ID della chiave di accesso e la chiave di accesso segreta utilizzati in precedenza oppure lasciare che l'oggetto li scelga dalla cartella.aws come parte del profilo utente in fase di esecuzione.

Sviluppatore di applicazioni
Crea un oggetto SQS client.

Crea un oggetto SQS client (AmazonSQSClient) per. NETStruttura. Fa parte di Amazon. SQSnamespace. Questo oggetto è richiesto invece diIQueueClient, che fa parte di Microsoft.Azure. ServiceBus spazio dei nomi.

Sviluppatore di applicazioni
Chiama il SendMessageAsync metodo per inviare messaggi alla SQS coda.

Cambia il codice che invia il messaggio alla coda per utilizzare il. amazonSqsClient SendMessageAsync metodo. Per i dettagli, consultate l'esempio di codice allegato.

Sviluppatore di applicazioni
Chiama il ReceiveMessageAsync metodo per ricevere messaggi dalla SQS coda.

Cambia il codice che riceve il messaggio per utilizzare il amazonSqsClient. ReceiveMessageAsync metodo. Per i dettagli, consultate l'esempio di codice allegato.

Sviluppatore di applicazioni
Chiama il DeleteMessageAsync metodo per eliminare i messaggi dalla SQS coda.

Per eliminare i messaggi, modifica il codice da. queueClient CompleteAsync metodo per amazonSqsClient. DeleteMessageAsync metodo. Per i dettagli, consultate l'esempio di codice allegato.

Sviluppatore di applicazioni

Informazioni aggiuntive

Questo modello include due applicazioni di esempio (vedi la sezione allegati):

  • AzureSbTestAppinclude codice che usa la coda del bus di servizio di Azure.

  • AmazonSqsTestApputilizza AmazonSQS. Questa è un'applicazione console che utilizza. NETCore 2.2 e include esempi per l'invio e la ricezione di messaggi.

Note:

  • queueClient è un oggetto diIQueueClient, che fa parte di Microsoft.Azure. ServiceBus namespace (incluso in Microsoft.Azure). ServiceBus NuGet pacchetto).

  • amazonSqsClient è un oggetto di AmazonSQSClient, che fa parte di Amazon. SQSnamespace (incluso in. AWSSDK SQS NuGet pacchetto).

  • A seconda di dove è in esecuzione il codice, ad esempio se è in esecuzioneEC2, il ruolo deve avere il permesso di scrivere nella SQS coda.

Allegati

Per accedere al contenuto aggiuntivo associato a questo documento, decomprimi il seguente file: attachment.zip