

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

# Connessione a Salesforce Commerce Cloud
<a name="connecting-to-salesforce-commerce-cloud"></a>

 L'API B2C Commerce è una raccolta di istanze RESTful APIs per interagire con le istanze di B2C Commerce. È conosciuta con diversi nomi: come Salesforce Commerce API, con l'acronimo SCAPI o semplicemente come Commerce API.

 L'API consente agli sviluppatori di creare un'ampia gamma di applicazioni: da vetrine complete a strumenti personalizzati per aiutare i commercianti a potenziare Business Manager. L'API è disponibile gratuitamente per tutti i clienti di B2C Commerce. 

 L'API è suddivisa in due gruppi principali di: Shopper e Admin. APIs APIs APIs All'interno di ogni gruppo, sono suddivise in famiglie di API e in gruppi più piccoli basati sulle funzionalità correlate. 

**Topics**
+ [AWS Glue supporto per Salesforce Commerce Cloud](salesforce-commerce-cloud-support.md)
+ [Policy contenenti le operazioni API per creare e utilizzare le connessioni](salesforce-commerce-cloud-configuring-iam-permissions.md)
+ [Configurazione di Salesforce Commerce Cloud](salesforce-commerce-cloud-configuring.md)
+ [Configurazione delle connessioni di Salesforce Commerce Cloud](salesforce-commerce-cloud-configuring-connections.md)
+ [Lettura dalle entità Salesforce Commerce Cloud](salesforce-commerce-cloud-reading-from-entities.md)
+ [Riferimento per le opzioni di connessione a Salesforce Commerce Cloud](salesforce-commerce-cloud-connection-options.md)
+ [Limitazioni](salesforce-commerce-cloud-connector-limitations.md)

# AWS Glue supporto per Salesforce Commerce Cloud
<a name="salesforce-commerce-cloud-support"></a>

AWS Glue supporta Salesforce Commerce Cloud come segue:

**Supportato come origine?**  
Sì. Puoi utilizzare i job AWS Glue ETL per interrogare i dati da Salesforce Commerce Cloud.

**Supportato come destinazione?**  
No.

**Versioni API supportate di Salesforce Commerce Cloud**  
 v1. 

# Policy contenenti le operazioni API per creare e utilizzare le connessioni
<a name="salesforce-commerce-cloud-configuring-iam-permissions"></a>

 La seguente politica di esempio descrive le AWS autorizzazioni richieste per la creazione e l'utilizzo delle connessioni. Se si sta creando un nuovo ruolo, creare una policy che contenga quanto segue: 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:ListConnectionTypes",
        "glue:DescribeConnectionType",
        "glue:RefreshOAuth2Tokens",
        "glue:ListEntities",
        "glue:DescribeEntity"
      ],
      "Resource": "*"
    }
  ]
}
```

------

È anche possibile utilizzare le seguenti policy IAM per autorizzare l'accesso:
+  [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole)— Garantisce l'accesso alle risorse che diversi AWS Glue processi richiedono per l'esecuzione per conto dell'utente. Queste risorse includono Amazon S3 AWS Glue, IAM, CloudWatch Logs e Amazon EC2. Se segui la convenzione di denominazione delle risorse specificata in questa politica, AWS Glue i processi dispongono delle autorizzazioni necessarie. Questa policy è in genere collegata ai ruoli specificati quando si definiscono crawler, processi ed endpoint di sviluppo. 
+  [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess)— Concede l'accesso completo alle AWS Glue risorse quando un'identità a cui è allegata la policy utilizza la AWS console di gestione. Se si segue la convenzione per la denominazione per le risorse specificate nella policy, gli utenti hanno la piena funzionalità della console. Questa policy è in genere associata agli utenti della AWS Glue console. 

# Configurazione di Salesforce Commerce Cloud
<a name="salesforce-commerce-cloud-configuring"></a>

Prima di poter AWS Glue utilizzare il trasferimento di dati da Salesforce Commerce Cloud, devi soddisfare questi requisiti:

## Requisiti minimi
<a name="salesforce-commerce-cloud-configuring-min-requirements"></a>
+  Avere un'applicazione client Salesforce Commerce Cloud con ID client e segreto del client. 
+  L'account Salesforce Commerce Cloud è abilitato all'accesso tramite API. 

 Se soddisfi questi requisiti, sei pronto per connetterti AWS Glue al tuo account Salesforce Commerce Cloud. Per le connessioni tipiche, non è necessario fare nient'altro in Salesforce Commerce Cloud. 

# Configurazione delle connessioni di Salesforce Commerce Cloud
<a name="salesforce-commerce-cloud-configuring-connections"></a>

 Salesforce Commerce Cloud supporta il tipo di concessione CLIENT CREDENTIALS per. OAuth2 
+  Questo tipo di concessione è considerato OAuth 2.0 a 2 gambe in quanto viene utilizzato dai client per ottenere un token di accesso al di fuori del contesto di un utente. AWS Glue è in grado di utilizzare l'ID e il segreto del client per autenticare Salesforce Commerce Cloud APIs , forniti dai servizi personalizzati definiti dall'utente. 
+  Ogni servizio personalizzato è di proprietà di un utente che utilizza solo API e dispone di una serie di ruoli e autorizzazioni che autorizzano il servizio a eseguire azioni specifiche. Un token di accesso è associato a un singolo servizio personalizzato. 
+  Questo tipo di concessione determina un token di accesso di breve durata e che può essere rinnovato chiamando l'endpoint dell'identità. 
+  Per ulteriori informazioni sulla documentazione di Salesforce Commerce Cloud relativa alla generazione delle credenziali del client, consulta la [documentazione di Salesforce](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization.html). 

Per configurare una connessione di Salesforce Commerce Cloud:

1.  Nel Gestione dei segreti AWS, crea un segreto con i seguenti dettagli. È necessario creare un segreto per ogni connessione in AWS Glue. 

   1.  Per l'app connessa gestita dal cliente, il segreto deve contenere l'app connessa Consumer Secret con USER\$1MANAGED\$1CLIENT\$1APPLICATION\$1CLIENT\$1SECRET come chiave. 

1. Nel AWS Glue Studio, crea una connessione in **Connessioni dati** seguendo i passaggi seguenti: 

   1.  In Connessioni dati, scegliere **Crea connessione**. 

   1. Quando si seleziona un'**origine dati**, selezionare Salesforce Commerce Cloud.

   1. Fornire il **codice breve**, l'**ID dell'organizzazione** e l'**ID del sito** di Salesforce Commerce Cloud.

   1. Selezionare l'URL del dominio Salesforce Commerce Cloud dell'account Salesforce Commerce Cloud.

   1.  Seleziona il ruolo IAM che AWS Glue può assumere e dispone delle autorizzazioni per le seguenti azioni: 

------
#### [ JSON ]

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "secretsmanager:DescribeSecret",
              "secretsmanager:GetSecretValue",
              "secretsmanager:PutSecretValue",
              "ec2:CreateNetworkInterface",
              "ec2:DescribeNetworkInterfaces",
              "ec2:DeleteNetworkInterface"
            ],
            "Resource": "*"
          }
        ]
      }
      ```

------

   1.  Fornisci gli OAuth ambiti (opzionale, l'applicazione client gestita dagli utenti) ClientId di Salesforce Commerce Cloud a cui desideri connetterti. 

   1.  Seleziona quello `secretName` che desideri utilizzare per questa connessione per AWS Glue inserire i token. 

   1.  Selezionare le opzioni di rete se si desidera utilizzare la propria rete. 

1.  Concedi il permesso di lettura `secretName` al ruolo IAM associato al tuo AWS Glue lavoro. 

1.  Nella configurazione del tuo AWS Glue lavoro, fornisci `connectionName` una **connessione di rete aggiuntiva**. 

# Lettura dalle entità Salesforce Commerce Cloud
<a name="salesforce-commerce-cloud-reading-from-entities"></a>

 **Prerequisiti** 
+  Un oggetto di Salesforce Commerce Cloud da cui si desidera leggere. Consultare la tabella delle entità supportate qui di seguito per verificare quelle disponibili. 

 **Entità supportate** 


| Entità | Può essere Filtrato | Supporta Limite | Supporta Ordina per | Supporta Seleziona \$1 | Supporta Partizionamento | 
| --- | --- | --- | --- | --- | --- | 
| Incarichi | Sì  | Sì | Sì | Sì | Sì | 
| Campagne | Sì  | Sì | Sì | Sì | Sì | 
| Cataloghi | Sì  | Sì | Sì | Sì | Sì | 
| Categories | Sì  | Sì | Sì | Sì | Sì | 
| Coupon | Sì  | Sì | Sì | Sì | Sì | 
| Certificati regalo | Sì  | Sì | Sì | Sì | Sì | 
| Prodotti | Sì  | Sì | Sì | Sì | Sì | 
| Promozioni | Sì  | Sì | Sì | Sì | Sì | 
| Gruppi di codice sorgente | Sì  | Sì | Sì | Sì | Sì | 

 **Esempio** 

```
salesforce_commerce_cloud_read = glueContext.create_dynamic_frame.from_options(
     connection_type="SalesforceCommerceCloud",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "campaign",
         "API_VERSION": "v1"      
     }
)
```

 **Dettagli dell'entità e del campo di Salesforce Commerce Cloud** 

 Elenco delle entità: 
+  Incarichi: [https://developer.salesforce.com/docs/commerce/commerce-api/references/assignments]( https://developer.salesforce.com/docs/commerce/commerce-api/references/assignments) 
+  Campagne: [https://developer.salesforce.com/docs/commerce/commerce-api/references/campaigns](https://developer.salesforce.com/docs/commerce/commerce-api/references/campaigns) 
+  Cataloghi: [https://developer.salesforce.com/docs/commerce/commerce-api/references/catalogs](https://developer.salesforce.com/docs/commerce/commerce-api/references/catalogs) 
+  [Categorie: https://developer.salesforce.com/docs/commerce/commerce-api/references/catalogs? meta=SearchCategories](https://developer.salesforce.com/docs/commerce/commerce-api/references/catalogs?meta=searchCategories) 
+  [Buoni regalo: -certificati https://developer.salesforce.com/docs/ commerce/commerce-api/references/gift](https://developer.salesforce.com/docs/commerce/commerce-api/references/gift-certificates) 
+  Prodotti: [https://developer.salesforce.com/docs/commerce/commerce-api/references/products](https://developer.salesforce.com/docs/commerce/commerce-api/references/products) 
+  Promozioni: [https://developer.salesforce.com/docs/commerce/commerce-api/references/promotions](https://developer.salesforce.com/docs/commerce/commerce-api/references/promotions) 
+  Gruppi di codice sorgente: [https://developer.salesforce.com/docs/commerce/commerce-api/references/source-code-groups](https://developer.salesforce.com/docs/commerce/commerce-api/references/source-code-groups) 

 **Query di partizionamento** 

 Se si desidera utilizzare la simultaneità in Spark, possono essere fornite opzioni Spark `PARTITION_FIELD`, `LOWER_BOUND`, `UPPER_BOUND`, `NUM_PARTITIONS` aggiuntive. Con questi parametri, la query originale viene suddivisa in `NUM_PARTITIONS` query secondarie che possono essere eseguite contemporaneamente dalle attività Spark. 
+  `PARTITION_FIELD`: il nome del campo da utilizzare per partizionare la query. 
+  `LOWER_BOUND`: un valore limite inferiore inclusivo del campo di partizione scelto. 

   Per la data, accettiamo il formato di data di Spark utilizzato nelle query di Spark SQL. Esempio di valori validi: `"2024-02-06"`. 
+  `UPPER_BOUND`: un valore limite superiore esclusivo del campo di partizione scelto. 
+  `NUM_PARTITIONS`: numero di partizioni. 

 I dettagli di supporto del campo di partizionamento per entità sono riportati nella tabella di seguito: 


| Entità | Campo di partizionamento | DataType | 
| --- | --- | --- | 
| Campagne | lastModified | DateTime | 
| Campagne | startDate | DateTime | 
| Campagne | endDate | DateTime | 
| Cataloghi | creationDate | DateTime | 
| Categories | creationDate | DateTime | 
| Certificati regalo | merchantId | Stringa | 
| Certificati regalo | creationDate | DateTime | 
| Prodotti | creationDate | DateTime | 
| Prodotti | lastModified | DateTime | 
| Gruppi di codice sorgente | creationDate | DateTime | 
| Gruppi di codice sorgente | startTime | DateTime | 
| Gruppi di codice sorgente | endTime | DateTime | 

 **Esempio** 

```
 salesforceCommerceCloud_read = glueContext.create_dynamic_frame.from_options(
     connection_type="SalesforceCommerceCloud",
     connection_options={
         "connectionName": "connectionName",
         "ENTITY_NAME": "coupons",
         "API_VERSION": "v1",
         "PARTITION_FIELD": "creationDate",
         "LOWER_BOUND": "2020-05-01T20:55:02.000Z",
         "UPPER_BOUND": "2024-07-11T20:55:02.000Z",
         "NUM_PARTITIONS": "10"
     }
)
```

# Riferimento per le opzioni di connessione a Salesforce Commerce Cloud
<a name="salesforce-commerce-cloud-connection-options"></a>

Le seguenti sono le opzioni di connessione per Salesforce Commerce Cloud:
+  `ENTITY_NAME`(String): (obbligatorio) utilizzato per la lettura. Il nome dell'oggetto in Salesforce Commerce Cloud. 
+  `API_VERSION`(Stringa): (obbligatorio) utilizzato per lettura/scrittura. Versione dell'API Rest di Salesforce Commerce Cloud da usare. Esempio: v1. 
+  `SELECTED_FIELDS`(List<String>): predefinito, vuoto (SELECT \$1). Utilizzato per la lettura. Colonne da selezionare per l'oggetto. 
+  `FILTER_PREDICATE`(Stringa): predefinito: vuoto. Utilizzato per la lettura. Dev'essere in formato Spark SQL. 
+  `QUERY`(Stringa): predefinito: vuoto. Utilizzato per la lettura. Query Spark SQL completa. 
+  `PARTITION_FIELD`(Stringa): utilizzato per la lettura. Campo da utilizzare per partizionare la query. 
+  `LOWER_BOUND`(Stringa): utilizzato per la lettura. Un valore limite inferiore inclusivo del campo di partizione scelto. 
+  `UPPER_BOUND`(Stringa): utilizzato per la lettura. Un valore limite superiore esclusivo del campo di partizione scelto. 
+  `NUM_PARTITIONS`(Numero intero): predefinito: 1. Utilizzato per la lettura. Numero di partizioni da leggere. 

# Limitazioni
<a name="salesforce-commerce-cloud-connector-limitations"></a>

Di seguito sono riportate le limitazioni per il connettore di Salesforce Commerce Cloud:
+ Il filtro Contains non funziona come previsto durante il partizionamento.
+ L'entità di CDN Zones non supporta le istanze sandbox e supporta solo i tipi di istanze di sviluppo e produzione. Per ulteriori informazioni, vedere [https://help.salesforce.com/s/ArticleView? id=cc.b2c\$1embedded\$1cdn\$1overview.htm.](https://help.salesforce.com/s/articleView?id=cc.b2c_embedded_cdn_overview.htm)
+ In Salesforce Commerce Cloud, non esiste un endpoint API per recuperare i metadati dinamici. Di conseguenza, non è previsto il supporto dei campi personalizzati nell'entità Prodotto e Categoria.
+ L'ID del sito è un parametro di query obbligatorio. È necessario passare il valore di ID del sito tramite l'impostazione del connettore personalizzato. Per ulteriori informazioni, consultare [URL di base e formazione di richiesta](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html).
+ È possibile applicare filtri su un massimo di due campi (esclusi i livelli, se presenti) in una singola richiesta API con la combinazione di diversi operatori come indicato nella tabella seguente:    
<a name="salesforce-commerce-cloud-limitations-filters"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/glue/latest/dg/salesforce-commerce-cloud-connector-limitations.html)
+ In alcune entità, il tipo di dati per i campi durante il recupero è diverso da quando vengono utilizzati come campi ricercabili. Di conseguenza, non è disponibile alcuna funzionalità di filtro per questi campi. La tabella seguente fornisce i dettagli su tali campi.     
<a name="salesforce-commerce-cloud-limitations-filters-provision"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/glue/latest/dg/salesforce-commerce-cloud-connector-limitations.html)