

**Avviso di fine del supporto:** il 30 ottobre 2026 AWS terminerà il supporto per Amazon Pinpoint. Dopo il 30 ottobre 2026, non potrai più accedere alla console Amazon Pinpoint o alle risorse Amazon Pinpoint (endpoint, segmenti, campagne, percorsi e analisi). Per ulteriori informazioni, consulta [Fine del supporto di Amazon Pinpoint](https://docs.aws.amazon.com/console/pinpoint/migration-guide). **Nota:** le API relative a SMS, voce, push mobile, OTP e convalida del numero di telefono non sono interessate da questa modifica e sono supportate da End User Messaging. 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à.

# Fine del supporto per Amazon Pinpoint
<a name="migrate"></a>

Dopo un'attenta valutazione, abbiamo deciso di interrompere il supporto per Amazon Pinpoint a partire dal 30 ottobre 2026. Amazon Pinpoint non accetterà più nuovi clienti a partire dal 20 maggio 2025. In qualità di cliente esistente con un account registrato al servizio prima del 20 maggio 2025, puoi continuare a utilizzare le funzionalità di Amazon Pinpoint. Dopo il 30 ottobre 2026, non potrai più utilizzare Amazon Pinpoint.

Oggi, i clienti utilizzano Amazon Pinpoint per le sue funzionalità di coinvolgimento (endpoint, segmenti, campagne, percorsi e analisi) o per le API del canale di messaggistica (SMS, MMS WhatsApp, push e funzionalità di messaggistica da testo a voce). Abbiamo creato piani di offboarding per entrambi i gruppi di clienti.

**Cosa significa questo per te**

Se utilizzi le funzionalità di coinvolgimento di Amazon Pinpoint (endpoint, segmenti, campagne, percorsi e analisi), ti consigliamo di migrare a soluzioni di coinvolgimento proattivo di Connect Customer (ad esempio, [campagne in uscita dei clienti Amazon Connect e [profili dei clienti](https://aws.amazon.com/connect/customer-profiles/) Amazon Connect) per promuovere un coinvolgimento personalizzato e](https://aws.amazon.com/connect/outbound/) tempestivo su tutti i canali con il monitoraggio unificato delle prestazioni e la capacità di gestire le entrate (ad es. assistenza clienti) e in uscita (ad es. propoint) comunicazioni attive) utilizzando un'unica applicazione unificata. Se utilizzi la raccolta di eventi e l'analisi mobile, ti consigliamo di utilizzare [Amazon Kinesis](https://aws.amazon.com/kinesis).

I canali di comunicazione di Amazon Pinpoint (SMS, MMS WhatsApp, push e funzionalità di messaggistica da testo a voce) sono stati rinominati nel terzo trimestre 2024 come [messaggistica per utenti AWS finali](https://aws.amazon.com/end-user-messaging) e continueranno a soddisfare le esigenze degli sviluppatori per la consegna dei messaggi ai clienti. L'uso delle API relative a SMS, Voice, Mobile Push, OTP e Phone Number Validate non sarà influenzato da questa modifica. Se utilizzi Amazon Pinpoint per inviare e-mail, ti consigliamo di effettuare la migrazione ad [Amazon Simple Email Service](https://aws.amazon.com/ses) (SES). Se utilizzi la dashboard di consegna delle e-mail in Amazon Pinpoint, offriremo funzionalità simili in SES entro il 30 ottobre 2026.

**Topics**
+ [Scelta del giusto percorso di migrazione](#choosing-migration-path)
+ [Fasi di migrazione: funzionalità di transizione per Amazon Pinpoint Engagement](#migration-steps)
+ [Fasi di offboarding: esportazione dei dati verso terze parti](#offboarding-steps)
+ [Riepilogo](#migration-summary)
+ [Risorse aggiuntive](#migration-additional-resources)

## Scelta del giusto percorso di migrazione
<a name="choosing-migration-path"></a>

Le campagne in uscita di Amazon Connect Customer e AWS End User Messaging (EUM) con Amazon Simple Email Service soddisfano diversi casi d'uso. Prima di iniziare la migrazione, esamina le caratteristiche del carico di lavoro per determinare la destinazione giusta.

**Prendi in considerazione le campagne outbound per i clienti Amazon Connect se il tuo carico di lavoro include:**
+ Coinvolgimento personalizzato dei clienti tramite voce, SMS, e-mail e WhatsApp
+ AI-driven strategie di contatto come la chiamata predittiva, la chiamata progressiva o la segmentazione dei clienti
+ Agent-assisted chiamate in uscita con routing in tempo reale
+ Interazione coordinata in entrata e in uscita in un'unica applicazione

**Prendi in considerazione AWS End User Messaging e Amazon Simple Email Service se il tuo carico di lavoro include:**
+ [Requisiti di throughput che superano i limiti delle campagne in uscita per i clienti Amazon Connect o le esigenze di SLA di consegna garantita (vedi Quote di servizio)](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html)
+ Nessun requisito per il coinvolgimento o il processo decisionale degli agenti AI-driven 
+ Nessun requisito per la segmentazione dei clienti, l'orchestrazione dei contatti o la gestione dei limiti di contatto

Per carichi di lavoro che combinano entrambi i modelli, puoi utilizzare Amazon Connect Customer per il coinvolgimento assistito da agenti e End AWS User Messaging con Amazon Simple Email Service per la distribuzione transazionale ad alto volume.

Per assistenza automatizzata alla migrazione, consulta gli [strumenti di migrazione Pronetx su](https://aws.amazon.com/marketplace/pp/prodview-zzpgnprbmmnj6) Marketplace. AWS 

## Fasi di migrazione: funzionalità di transizione per Amazon Pinpoint Engagement
<a name="migration-steps"></a>

### Clienti che cercano funzionalità di coinvolgimento
<a name="customer-seeking-engagement-features"></a>

Per utilizzare le funzionalità di coinvolgimento proattivo di Connect Customer, tra cui segmenti, modelli di messaggi, campagne, percorsi, analisi, segui questa guida per migrare le funzionalità di coinvolgimento di Amazon Pinpoint a Connect Customer.

#### Migra endpoint e segmenti
<a name="migrate-endpoints-and-segments"></a>

Gli endpoint Amazon Pinpoint possono essere modellati come profili cliente Connect Customer. Customer Profiles ti consente di combinare più endpoint in un unico profilo, permettendo di modellare fino a 3 indirizzi e-mail e 4 numeri di telefono come un unico profilo. Per migrare i tuoi endpoint, puoi

1. Crea un segmento Amazon Pinpoint senza filtri, che comprenda efficacemente tutti i tuoi endpoint.

1. Esporta quel segmento in un bucket S3 o sul tuo computer locale.

1. Carica gli endpoint trasformati nei profili dei clienti e utilizza il connettore S3 di Customer Profiles per [creare un'integrazione dei dati](https://docs.aws.amazon.com/connect/latest/adminguide/integrate-external-apps-customer-profiles.html) nei profili dei clienti.

Se desideri aggregare gli endpoint in un unico profilo cliente, puoi analizzare il segmento Amazon Pinpoint scaricato per raccogliere gli indirizzi e-mail e i numeri di telefono in un unico profilo. Ecco un esempio di script Python per leggere il file esportato in formato JSON e creare i profili che possono essere importati in Customer Profiles.

```
from collections import defaultdict
import json

def process_pinpoint_endpoints(input_file, output_file):
    # Dictionary to store grouped endpoints by user ID
    grouped_endpoints = defaultdict(list)

    endpoints = []

    # Read the input file
    with open(input_file, 'r') as file:
        for line in file:
            endpoints.append(json.loads(line))


    # Group endpoints by user ID
    for endpoint in endpoints:
        user_id = endpoint.get('User', {}).get('UserId')
        if user_id:
            grouped_endpoints[user_id].append(endpoint)

    # Convert grouped endpoints to Customer Profiles format
    # We will assume the userId is stored as an AccountNumber
    # since the AccountNumber can be queried
    customer_profiles = []
    for user_id, user_endpoints in grouped_endpoints.items():
        profile = {
            'AccountNumber': user_id,
            'Attributes': {},
            'Address': {}
        }
        
        phone_numbers = set()
        email_addresses = set()
        
        output_dict = {}

        for endpoint in user_endpoints:
            # Extract attributes
            attributes = endpoint.get('Attributes', {})
            for key, value_list in attributes.items():
                if len(value_list) == 1:
                    output_dict[key] = value_list[0]
                else:
                    for i, item in enumerate(value_list):
                        output_dict[f"{key}_{i}"] = item

            demographics = endpoint.get('Demographic')
            for key, value in demographics.items():
                attributes[f"Demographic_{key}"] = value
            
            location = endpoint.get('Location', {})
            profile['Address']['City'] = location['City']
            profile['Address']['Country'] = location['Country']
            profile['Address']['PostalCode'] = location['PostalCode']
            profile['Address']['County'] = location['Region']
            profile['Attributes']['Latitude'] = location['Latitude']
            profile['Attributes']['Longitude'] = location['Longitude']
            
            metrics = endpoint.get('Metrics', {})
            for key, value in metrics.items():
                profile['Attributes'][f"Metrics_{key}"] = str(value)
            
            user = endpoint.get('User', {})
            user_attributes = user.get('UserAttributes', {})
            for key, value_list in user_attributes.items():
                if len(value_list) == 1:
                    output_dict[key] = value_list[0]
                else:
                    for i, item in enumerate(value_list):
                        output_dict[f"UserAttributes.{key}_{i}"] = item

            profile['Attributes'].update(output_dict)
            
            # Extract phone number
            address = endpoint.get('Address')
            if (endpoint.get('ChannelType') == 'SMS' or endpoint.get('ChannelType') == 'VOICE') and address:
                phone_numbers.add(address)

            # Extract email address
            if endpoint.get('ChannelType') == 'EMAIL' and address:
                email_addresses.add(address)
        
        # Assigning the phone numbers to the different parameters in the Customer Profile
        for i, phone_number in enumerate(phone_numbers):
            if i == 0:
                profile['PhoneNumber'] = phone_number
            elif i == 1:
                profile['HomePhoneNumber'] = phone_number
            elif i == 2:
                profile['MobilePhoneNumber'] = phone_number
            elif i == 3:
                profile['BusinessPhoneNumber'] = phone_number
            else:
                profile['Attributes'][f"PhoneNumber_{i}"] = phone_number
                
        # Assigning the email addresses to the different parameters in the Customer Profile
        for i, email_address in enumerate(email_addresses):
            if i == 0:
                profile['EmailAddress'] = email_address
            elif i == 1:
                profile['PersonalEmailAddress'] = email_address
            elif i == 2:
                profile['BusinessEmailAddress'] = email_address
            else:
                profile['Attributes'][f"EmailAddress_{i}"] = email_address
        
        customer_profiles.append(profile)

    # Write the output to a file
    with open(output_file, 'w') as f:
        json.dump(customer_profiles, f, indent=2)

    print(f"Processed {len(endpoints)} endpoints into {len(customer_profiles)} customer profiles.")

# Example usage
input_file = 'pinpoint_endpoints.json'
output_file = 'customer_profiles.json'
process_pinpoint_endpoints(input_file, output_file)
```

#### Migra le configurazioni dei canali
<a name="migrate-channel-configurations"></a>

Segui i passaggi di onboarding per abilitare le comunicazioni [via SMS](https://docs.aws.amazon.com/connect/latest/adminguide/setup-sms-messaging.html) ed [e-mail](https://docs.aws.amazon.com/connect/latest/adminguide/setup-email-channel.html) in Connect Customer.

#### Migra i modelli
<a name="migrate-templates"></a>

I modelli in Connect Customer utilizzano lo stesso motore di visualizzazione dei messaggi (Handlebars) di Amazon Pinpoint. Tuttavia, i segnaposto degli attributi sono rappresentati in modo diverso.

1. [Puoi utilizzare le nostre API Amazon Pinpoint esistenti per recuperare un modello (ad esempio get-email-template, [get-sms-template](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/get-email-template.html)).](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/get-sms-template.html) In alternativa, puoi seguire [questa guida](https://docs.aws.amazon.com/pinpoint/latest/userguide/message-templates-managing-edit.html) per modificare un modello in modo da copiarne il contenuto.

1. Dopo aver recuperato il modello, aggiorna i segnaposto. Ad esempio, i tuoi modelli Amazon Pinpoint in precedenza utilizzavano un segnaposto come. `{{User.UserAttributes.PurchaseHistory}}` Ora possono essere modificati in. `{{Attributes.Customer.Attributes.PurchaseHistory}}`

1. Successivamente, crea modelli in Q in Connect Customer utilizzando l'API [create-message-template](https://docs.aws.amazon.com/cli/latest/reference/qconnect/create-message-template.html) o utilizzando [questa guida](https://docs.aws.amazon.com/connect/latest/adminguide/create-message-templates1.html) per creare modelli di messaggi.

Per mappare i tuoi attributi, segui le mappature che hai eseguito in precedenza quando hai mappato gli endpoint ai profili, con il prefisso. `Attributes.Customer`

#### Migra le campagne
<a name="migrate-campaigns"></a>

[Per ogni campagna, ti consigliamo di utilizzare l'API [get-campaign](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/get-campaign.html) per recuperarne la definizione e quindi ricrearla in Connect Customer utilizzando la guida alla creazione della campagna.](https://docs.aws.amazon.com/connect/latest/adminguide/how-to-create-campaigns.html)

#### Migra i viaggi
<a name="migrate-journeys"></a>

I percorsi sono ora supportati nelle campagne outbound per i clienti Amazon Connect. Puoi ricreare i tuoi percorsi Amazon Pinpoint utilizzando le funzionalità di orchestrazione delle campagne Amazon Connect Customer. Usa l'API [get-journey](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/get-journey.html) per recuperare le definizioni del percorso, quindi ricreale utilizzando la guida alla creazione del percorso [del cliente Amazon Connect](https://docs.aws.amazon.com/connect/latest/adminguide/create-a-multi-step-and-multi-channel-journey.html).

### Clienti che raccolgono eventi e si occupano di analisi mobile
<a name="events-collectgion-and-mobile-analytics-customers"></a>

#### Clienti Amplify SDK
<a name="amplify-sdk-customers"></a>

Se utilizzi Amplify SDK per inviare eventi ad Amazon Pinpoint per aggiornare gli endpoint, attivare campagne o percorsi o analizzare l'utilizzo dell'applicazione, puoi migrare a Kinesis. Utilizzando Kinesis, puoi trasmettere gli eventi su una piattaforma di elaborazione di tua scelta e inviare aggiornamenti ai profili dei clienti, che possono aggiornare il profilo dell'utente dell'applicazione e attivare le campagne Connect Customer.

#### Put-Events clienti
<a name="put-events-customers"></a>

Se utilizzi Amazon Pinpoint solo per trasmettere eventi dalla tua web/mobile applicazione a uno stream Kinesis, ora puoi utilizzare Amplify SDK per trasmettere direttamente gli eventi a Kinesis.

#### Funzionalità non disponibili
<a name="unavailable-features"></a>

Al momento, le seguenti funzionalità di coinvolgimento di Amazon Pinpoint non sono disponibili in Connect Customer.
+ In-App Messaggistica
+ Le notifiche PUSH (GCM, APNS, BAIDU, ecc.) non sono supportate nativamente nelle campagne. Tuttavia, puoi inviare notifiche push attraverso i percorsi utilizzando un'azione Lambda con i modelli push di Amazon Connect Customer.
+ Il canale personalizzato è disponibile per i viaggi ma non per le campagne.

## Fasi di offboarding: esportazione dei dati verso terze parti
<a name="offboarding-steps"></a>

Se desideri eliminare tutti i dati di Amazon Pinpoint, non esitare a eliminare semplicemente l'applicazione utilizzando l'API [delete-app](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/delete-app.html). Successivamente, elimina tutti i modelli di messaggio non utilizzati utilizzando [questa guida](https://docs.aws.amazon.com/pinpoint/latest/userguide/message-templates-managing-delete.html) sull'eliminazione dei modelli.

In alternativa, se desideri estrarre tutte le tue risorse e archiviarle, procedi nel seguente modo.

### Endpoints
<a name="migration-endpoints"></a>

Per esternalizzare i tuoi endpoint, puoi
+ Crea un segmento Amazon Pinpoint senza filtri, che comprenda efficacemente tutti i tuoi endpoint.
+ Esporta quel segmento in un bucket S3 o sul tuo computer locale.

### Segmenti, campagne e viaggi
<a name="segments-campaigns-journeys"></a>



Per esternalizzare segmenti, campagne e percorsi, utilizza le nostre API o la nostra interfaccia utente per recuperarli. [https://docs.aws.amazon.com/cli/latest/reference/pinpoint/get-campaign.html](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/get-campaign.html)

### Modelli dei messaggi
<a name="migration-message-templates"></a>

[Per esternalizzare i tuoi modelli, puoi utilizzare l'API list-templates seguita dalle API specifiche del canale -](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/list-templates.html)
+ [get-email-template](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/get-email-template.html)
+ [modello get-in-app](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/get-in-app-template.html)
+ [get-push-template](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/get-push-template.html)
+ [get-sms-template](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/get-sms-template.html)

### Amazon Pinpoint e analisi mobili
<a name="pinpoint-and-mobile-analytics"></a>

Per offboard dei tuoi eventi e KPI da Amazon Pinpoint Analytics o Mobile Analytics puoi utilizzare le seguenti opzioni:

1. Per esportare gli eventi non elaborati futuri prima della migrazione, i clienti possono accedere al flusso di dati degli eventi.

1. I clienti possono esportare i KPI degli ultimi 3 mesi utilizzando i seguenti comandi:
   + [get-application-date-range-kpi](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/get-application-date-range-kpi.html)
   + [get-journey-intervallo-date-kpi](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/get-journey-date-range-kpi.html)
   + [get-campaign-date-intervallo-kpi](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/get-campaign-date-range-kpi.html)
   + [metriche get-journey-execution-activity-](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/get-journey-execution-activity-metrics.html)
   + [metriche get-journey-execution-](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/get-journey-execution-metrics.html)
   + [metriche di attività di esecuzione get-journey-run-execution-](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/get-journey-run-execution-activity-metrics.html)
   + [metriche di esecuzione get-journey-run-](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/get-journey-run-execution-metrics.html)

Per i clienti che devono eliminare le applicazioni Mobile Analytics durante la migrazione, è possibile utilizzare il seguente script Python. Questo script utilizza AWS la versione 4 di Signature per l'autenticazione con l'API Mobile Analytics e richiede Python 3.11 o successivo ([Scarica Python](https://www.python.org/downloads/release/python-3110/) 3.11).

1. Salva lo script seguente come. `delete_mobile_analytics_application.py`

   ```
   # Copyright 2010-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
   #
   # This file is licensed under the Apache License, Version 2.0 (the "License").
   # You may not use this file except in compliance with the License. A copy of the
   # License is located at
   #
   # http://aws.amazon.com/apache2.0/
   #
   # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
   # OF ANY KIND, either express or implied. See the License for the specific
   # language governing permissions and limitations under the License.
   #
   # ABOUT THIS PYTHON SAMPLE: This sample is part of the AWS General Reference 
   # Signing AWS API Requests top available at
   # https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html
   #
   
   # AWS Version 4 signing example
   
   # Delete Mobile Analytics application
   
   # See: http://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html
   # This version makes a DELETE request and passes the signature
   # in the Authorization header.
   import sys, os, base64, datetime, hashlib, hmac
   import requests # pip install requests
   import argparse
   
   # Parse command line arguments
   parser = argparse.ArgumentParser(description='Delete a Mobile Analytics application')
   parser.add_argument('--appId', type=str, help='Mobile Analytics application ID to be deleted', required=True)
   args = parser.parse_args()
   
   # ************* REQUEST VALUES *************
   delimiter = "/"
   method = 'DELETE'
   service = 'mobileanalytics'
   host = 'mobileanalytics.us-east-1.amazonaws.com'
   region = 'us-east-1'
   appId = args.appId  # Use the appId from command line arguments
   endpoint = 'https://mobileanalytics.us-east-1.amazonaws.com/2016-07-01/apps' + delimiter + appId
   request_parameters = ''
   
   
   # Function for signing. Refer the AWS documentation below for more details.
   # http://docs.aws.amazon.com/general/latest/gr/signature-v4-examples.html#signature-v4-examples-python
   def sign(key, msg):
       return hmac.new(key, msg.encode('utf-8'), hashlib.sha256).digest()
   
   
   # Function for computing signature key. Refer the AWS documentation below for more details.
   # http://docs.aws.amazon.com/general/latest/gr/signature-v4-examples.html#signature-v4-examples-python.
   def getSignatureKey(key, dateStamp, regionName, serviceName):
       kDate = sign(('AWS4' + key).encode('utf-8'), dateStamp)
       kRegion = sign(kDate, regionName)
       kService = sign(kRegion, serviceName)
       kSigning = sign(kService, 'aws4_request')
       return kSigning
   
   
   # Read AWS access key from environment variables or configuration file. Best practice is NOT
   # to embed credentials in code.
   access_key = os.environ.get('AWS_ACCESS_KEY_ID')
   secret_key = os.environ.get('AWS_SECRET_ACCESS_KEY')
   session_token = os.environ.get('AWS_SESSION_TOKEN')
   if access_key is None or secret_key is None:
       print('No access key is available.')
       sys.exit()
   
   # Create a date for headers and the credential string
   t = datetime.datetime.now(datetime.UTC)
   amzdate = t.strftime('%Y%m%dT%H%M%SZ')
   datestamp = t.strftime('%Y%m%d')  # Date w/o time, used in credential scope
   
   # ************* TASK 1: CREATE A CANONICAL REQUEST *************
   # http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html
   
   # Step 1 is to define the verb (GET, POST, etc.)--already done with defining "method" variable above.
   
   # Step 2: Create canonical URI--the part of the URI from domain to query 
   # string (use '/' if no path)
   canonical_uri = '/2016-07-01/apps' + delimiter + appId
   
   # Step 3: Create the canonical query string. In this example (a DELETE request),
   # request parameters are in the query string. Query string values must
   # be URL-encoded (space=%20). The parameters must be sorted by name.
   # For this example, the query string is pre-formatted in the request_parameters variable.
   canonical_querystring = request_parameters
   
   # Step 4: Create the canonical headers and signed headers. Header names
   # must be trimmed and lowercase, and sorted in code point order from
   # low to high. Note that there is a trailing \n.
   canonical_headers = 'host:' + host + '\n' + 'x-amz-date:' + amzdate + '\n'
   
   # Step 5: Create the list of signed headers. This lists the headers
   # in the canonical_headers list, delimited with ";" and in alpha order.
   # Note: The request can include any headers; canonical_headers and
   # signed_headers lists those that you want to be included in the 
   # hash of the request. "Host" and "x-amz-date" are always required.
   signed_headers = 'host;x-amz-date'
   
   # Step 6: Create payload hash (hash of the request body content). For GET
   # requests, the payload is an empty string ("").
   payload_hash = hashlib.sha256(request_parameters.encode('utf-8')).hexdigest()
   
   # Step 7: Combine elements to create canonical request
   canonical_request = method + '\n' + canonical_uri + '\n' + canonical_querystring + '\n' + canonical_headers + '\n' + signed_headers + '\n' + payload_hash
   
   # ************* TASK 2: CREATE THE STRING TO SIGN*************
   # Match the algorithm to the hashing algorithm you use, either SHA-1 or
   # SHA-256 (recommended)
   algorithm = 'AWS4-HMAC-SHA256'
   credential_scope = datestamp + '/' + region + '/' + service + '/' + 'aws4_request'
   string_to_sign = algorithm + '\n' + amzdate + '\n' + credential_scope + '\n' + hashlib.sha256(
       canonical_request.encode('utf-8')).hexdigest()
   
   # ************* TASK 3: CALCULATE THE SIGNATURE *************
   # Create the signing key using the function defined above.
   signing_key = getSignatureKey(secret_key, datestamp, region, service)
   
   # Compute signature by invoking hmac.new method by passing signingkey, string_to_sign
   signature = hmac.new(signing_key, string_to_sign.encode('utf-8'), hashlib.sha256).hexdigest()
   
   # ************* TASK 4: ADD SIGNING INFORMATION TO THE REQUEST *************
   # The signing information can be either in a query string value or in 
   # a header named Authorization. This code shows how to use a header.
   # Create authorization header and add to request headers
   authorization_header = algorithm + ' ' + 'Credential=' + access_key + '/' + credential_scope + ', ' + 'SignedHeaders=' + signed_headers + ', ' + 'Signature=' + signature
   
   # The request can include any headers, but MUST include "host", "x-amz-date", 
   # and (for this scenario) "Authorization". "host" and "x-amz-date" must
   # be included in the canonical_headers and signed_headers, as noted
   # earlier. Order here is not significant.
   # Python note: The 'host' header is added automatically by the Python 'requests' library.
   headers = {
       'x-amz-date': amzdate,
       'accept': 'application/hal+json',
       'content-type': 'application/json; charset=UTF-8',
       'Authorization': authorization_header}
   
   if session_token:
       headers['X-Amz-Security-Token'] = session_token
   
   # ************* SEND THE REQUEST *************
   request_url = endpoint + '?' + canonical_querystring
   
   print('\nBEGIN REQUEST++++++++++++++++++++++++++++++++++++')
   print('Request URL = ' + request_url)
   print('Request Headers = ', headers)
   
   r = requests.delete(request_url, data=request_parameters, headers=headers)
   
   print('\nRESPONSE++++++++++++++++++++++++++++++++++++')
   print('Response code: %d\n' % r.status_code)
   print(r.text)
   ```

1. Assicurati di avere AWS credenziali valide impostate come variabili di ambiente.

1. Esegui lo script con l'ID dell'applicazione Mobile Analytics:

   ```
   python delete_mobile_analytics_application.py --appId {{<YOUR_MOBILE_ANALYTICS_APP_ID>}}
   ```

Questo script invia una `DELETE` richiesta all'API Mobile Analytics per rimuovere l'applicazione specificata. Assicurati di eseguirlo per ogni applicazione Mobile Analytics che devi eliminare.

**Nota**  
I clienti di Active Mobile Analytics possono continuare a importare eventi tramite `putEvents` API e visualizzarli in Amazon Pinpoint fino alla data di fine del supporto di Amazon Pinpoint.

## Riepilogo
<a name="migration-summary"></a>

Le organizzazioni con almeno un account Amazon Pinpoint possono continuare a utilizzare le funzionalità di coinvolgimento di Amazon Pinpoint, tra cui segmenti, campagne, percorsi, analisi ed e-mail fino al 30 ottobre 2026, quando il supporto per il servizio terminerà.

## Risorse aggiuntive
<a name="migration-additional-resources"></a>

Sono disponibili le seguenti risorse aggiuntive:
+ [Sito Web Amazon Pinpoint](https://aws.amazon.com/pinpoint/)
+ [Guida per l'utente di Amazon Pinpoint](https://docs.aws.amazon.com/pinpoint/latest/userguide/welcome.html)
+ [Campagne in uscita per clienti Amazon Connect](https://aws.amazon.com/connect/outbound/)
+ [Profili clienti Amazon Connect](https://aws.amazon.com/connect/customer-profiles/)
+ [Sito Web Amazon Kinesis](https://aws.amazon.com/kinesis/)
+ [AWS Messaggistica per l'utente finale](https://aws.amazon.com/end-user-messaging/)
+ [Amazon Simple Email Service (SES)](https://aws.amazon.com/ses/)

Se hai bisogno di assistenza o desideri comunicare un feedback, contatta il [Supporto AWS](https://aws.amazon.com/support/).