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
Nisha Gambhir, Amazon Web Services
Riepilogo
Questo modello descrive come migrare un'applicazione web.NET Framework o.NET Core o console dall'uso 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. publish/subscribe
Amazon SQS è un servizio di accodamento dei 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 Amazon SQS, 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 account AWS attivo
Un'applicazione web o console DI.NET Framework o .NET Core che usa le code dei bus di servizio di Azure (codice di esempio allegato)
Versioni del prodotto
.NET Framework 3.5 o versione successiva oppure .NET Core 1.0.1, 2.0.0 o versione successiva
Architecture
Stack di tecnologia di origine
Un'applicazione web.NET (Core o Framework) o console che usa una coda del bus di servizio di Azure per inviare messaggi
Stack tecnologico Target
Amazon SQS
Tools (Strumenti)
Strumenti
Microsoft Visual Studio
Codice
Per creare una policy di AWS Identity and Access management (IAM) per Amazon SQS:
1. Accedi alla Console di gestione AWS, quindi apri la console di IAM 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 scheda JSON 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 Review policy, digita un nome, quindi scegli Crea policy.
5. Collega la policy appena creata al tuo ruolo IAM esistente o crea un nuovo ruolo.
Poemi epici
| Operazione | Description | Competenze richieste |
|---|---|---|
| Crea una policy IAM per Amazon SQS. | Crea la policy IAM che fornirà l'accesso ad Amazon SQS. Consulta la sezione Codice per un esempio di policy. | Ingegnere di sistema |
| Crea un profilo AWS. | Crea un nuovo profilo eseguendo il PowerShell comando AWS Tools for 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 policy Amazon SQS che hai creato in precedenza a questo account. Conserva l'ID della chiave di accesso AWS e la chiave di accesso segreta. Questi saranno necessari nei passaggi successivi. | Ingegnere di sistema |
| Crea una coda SQS. | È possibile creare una coda standard o una coda FIFO (First In-First Out). Per istruzioni, consulta il link nella sezione Riferimenti. | Ingegnere di sistema |
| Operazione | Description | Competenze richieste |
|---|---|---|
| Installa AWS Toolkit per Visual Studio. | Questo toolkit è un'estensione per Microsoft Visual Studio e semplifica la creazione e la distribuzione di applicazioni.NET in AWS. Per istruzioni di installazione e utilizzo, consulta il link nella sezione Riferimenti. | Sviluppatore di applicazioni |
| Installa il AWSSDK.SQS NuGet pacchetto. | Puoi installare AWSSDK.SQS scegliendo « NuGet Manage Package» in Visual Studio o eseguendo il comando "Install-Package AWSSDK.SQS». | Sviluppatore di applicazioni |
| Crea un oggetto AWSCredentials nella tua applicazione.NET. | L'applicazione di esempio nell'allegato mostra come creare un oggetto BasicAWSCredentials, che eredita da AWSCredentials. È possibile utilizzare l'ID della chiave di accesso e la chiave di accesso segreta delle versioni precedenti 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 client SQS. | Crea un oggetto client SQS (AmazonSQSClient) per.NET Framework. Questo fa parte del namespace. Amazon.SQS Questo oggetto è obbligatorio invece di IQueueClient, che fa parte del namespace. Microsoft.Azure.ServiceBus | Sviluppatore di applicazioni |
| Chiama il SendMessageAsync metodo per inviare messaggi alla coda SQS. | Modifica il codice che invia il messaggio alla coda per utilizzare il metodo amazon. SqsClient.SendMessageAsync Per i dettagli, consulta l'esempio di codice allegato. | Sviluppatore di applicazioni |
| Chiama il ReceiveMessageAsync metodo per ricevere messaggi dalla coda SQS. | Cambia il codice che riceve il messaggio per utilizzare il metodo amazonSqsClient.ReceiveMessageAsync . Per i dettagli, consulta l'esempio di codice allegato. | Sviluppatore di applicazioni |
| Chiama il DeleteMessageAsync metodo per eliminare i messaggi dalla coda SQS. | Per eliminare i messaggi, modifica il codice dal metodo di coda al Client.CompleteAsync metodo amazon. SqsClient.DeleteMessageAsync Per i dettagli, consulta l'esempio di codice allegato. | Sviluppatore di applicazioni |
Risorse correlate
Informazioni aggiuntive
Questo modello include due applicazioni di esempio (consulta la sezione allegati):
AzureSbTestAppinclude codice che usa la coda del bus di servizio di Azure.
AmazonSqsTestApputilizza Amazon SQS. Si tratta di un'applicazione console che utilizza.NET Core 2.2 e include esempi per l'invio e la ricezione di messaggi.
Note:
QueueClient è un oggetto di IQueueClient, che fa parte del Microsoft.Azure.ServiceBus namespace (incluso nel pacchetto). Microsoft.Azure.ServiceBus NuGet
amazon SqsClient è un oggetto di AmazonSQSClient, che fa parte del namespace (incluso nel pacchetto). Amazon.SQS AWSSDK.SQS NuGet
A seconda di dove viene eseguito il codice, ad esempio se è in esecuzione su EC2, il ruolo deve avere l'autorizzazione per scrivere nella coda SQS.