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à | Descrizione | Competenze 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à | Descrizione | Competenze 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 |
Risorse correlate
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.