

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

# Effettuare richieste API
<a name="making-api-requests"></a>

Le richieste di query per AWS Resource Groups sono richieste HTTP o HTTPS che utilizzano un verbo HTTP come `GET` o`POST`.

## Endpoint Resource Groups
<a name="cw-endpoints"></a>

Un *endpoint* è un URL che funge da punto di ingresso per un servizio Web. È possibile selezionare un Regione AWS endpoint appropriato quando si effettuano richieste per ridurre la latenza. Per informazioni sugli endpoint utilizzati da Resource Groups, vedere [AWS Resource Groups](https://docs.aws.amazon.com/general/latest/gr/arg.html)in. *Riferimenti generali di Amazon Web Services*

## Parametri di query
<a name="query-parameters"></a>

Ogni richiesta di interrogazione deve includere alcuni parametri comuni per gestire l'autenticazione e la selezione di un'azione. Per ulteriori informazioni, consulta [Parametri comuni](https://docs.aws.amazon.com//ARG/latest/APIReference/CommonParameters.html) nell'*AWS Resource Groups API Reference*.

Alcune operazioni API richiedono elenchi di parametri. Questi elenchi vengono specificati utilizzando la seguente notazione: 

```
param.member.n
```

 I valori di `n` sono numeri interi a partire da 1. Tutti gli elenchi di parametri devono seguire questa notazione, inclusi gli elenchi che contengono un solo parametro. Un elenco di parametri di interrogazione è simile all'esempio seguente.

```
1. &attribute.member.1=this
2. &attribute.member.2=that
```

## Identificatori della richiesta
<a name="RequestId-common-data-type"></a>

In ogni risposta di un'API di AWS query, c'è un `ResponseMetadata` elemento che contiene un `RequestId` elemento. Questa stringa è un identificatore univoco che viene AWS assegnato per fornire informazioni di tracciamento. Sebbene `RequestId` sia inclusa in ogni risposta, non è elencata nelle pagine della documentazione delle singole API per migliorare la leggibilità e ridurre la ridondanza.

## Autenticazione tramite API Query
<a name="query-authentication"></a>

È possibile inviare richieste di query tramite HTTP o HTTPS. Indipendentemente dal protocollo utilizzato, è necessario includere una firma in ogni richiesta di query. Per ulteriori informazioni sulla creazione e l'inclusione di una firma, consulta [Signing AWS API Requests](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) in *Riferimenti generali di Amazon Web Services*.

## Librerie disponibili
<a name="using-libraries"></a>

AWS fornisce librerie, codice di esempio, tutorial e altre risorse per gli sviluppatori di software che preferiscono creare applicazioni utilizzando API specifiche del linguaggio anziché gli strumenti da riga di comando e l'API Query. Queste librerie forniscono funzioni di base (non incluse nelle API), come l'autenticazione delle richieste, i nuovi tentativi di richiesta e la gestione degli errori, in modo che sia più facile iniziare. Le librerie e le risorse di Resource Groups sono disponibili per le seguenti lingue e piattaforme:
+  [AWS SDK per Go](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/resourcegroups) 
+  [AWS SDK for Java 2.x](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/resourcegroups/package-summary.html) 
+  [AWS SDK per Java 1.x](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/resourcegroups/package-summary.html) 
+  [AWS SDK per JavaScript](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-resource-groups/index.html) 
+  [AWS SDK per in JavaScript Node.js](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-resource-groups/index.html) 
+  [AWS SDK per .NET](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/ResourceGroups/NResourceGroups.html) 
+  [AWS SDK per PHP](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-resource-groups-2017-11-27.html) 
+  [AWS SDK per Python (Boto)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/resource-groups.html) 
+  [AWS SDK per Ruby](https://github.com/aws/aws-sdk-ruby/tree/version-3/apis/resource-groups/2017-11-27) 
+ [AWS SDK per Rust](https://crates.io/crates/aws-sdk-resourcegroups)

Per ulteriori informazioni sulle librerie e sul codice di esempio in tutte le lingue, vedi [Codice di esempio e librerie](https://docs.aws.amazon.com/code-library).

## Effettuare richieste API utilizzando il metodo `POST`
<a name="CloudWatch-API-requests-using-post-method"></a>

Se non utilizzi uno degli AWS SDK, puoi effettuare richieste Resource Groups su HTTP utilizzando il metodo di `POST` richiesta. Il `POST` metodo richiede di specificare l'operazione nell'intestazione della richiesta e di fornire i dati per l'operazione in formato JSON nel corpo della richiesta.


| Nome intestazione | Valore intestazione | 
| --- | --- | 
| Host | L' AWS Resource Groups endpoint. Ad esempio: `tagging.us-east-1.amazonaws.com`  | 
| X-Amz-Date | *È necessario fornire il timestamp nell'intestazione HTTP Date o nell'intestazione x-amz-date. AWS * Alcune librerie client HTTP non consentono di impostare l'intestazione Date. Quando è presente un'intestazione *x-amz-date*, il sistema ignora qualsiasi intestazione Date durante l'autenticazione della richiesta.<br />L'intestazione *x-amz-date* deve essere specificata nel formato base ISO 8601. Ad esempio: `20130315T092054Z`  | 
| Authorization | L'insieme di parametri di autorizzazione AWS utilizzato per garantire la validità e l'autenticità della richiesta. Per ulteriori informazioni sulla creazione di questa intestazione, vedere [Processo di firma della versione 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) di Signature in. *Riferimenti generali di Amazon Web Services* | 
| X-Amz-Target | Specificate lo spazio dei nomi e la versione di Resource Groups e l'operazione che si desidera eseguire. <br />`ResourceGroupsTaggingAPI_20170126.{{API_Name}}` Per i Resource Groups, usa sempre la versione **`20170126`**. <br />Ad esempio, per chiamare l'`GetTagValues`operazione, utilizzate il seguente valore di destinazione.<br />`ResourceGroupsTaggingAPI_20170126.GetTagValues` | 
| Content-Type | Specificate il formato di input. Utilizzate il seguente valore.<br />`application/json` | 
| Accept | Specificate il formato della risposta. Utilizzate il seguente valore.<br />`application/json` | 
| Content-Length | Dimensione del payload in byte. | 
| Content-Encoding | Speciifica il formato di codifica dell'input e dell'output. Utilizzate il seguente valore.<br />`amz-1.0` | 

Di seguito è riportato un esempio di intestazione per una richiesta HTTP per creare un gruppo di risorse che include tutte le risorse `Stage=Test` etichettate. In questo esempio, la `Authorization` riga è racchiusa in parole per facilitarne la lettura. Non inserirla in una parola nella richiesta effettiva.

```
POST / HTTP/1.1
Host: resource-groups.us-east-1.amazonaws.com
X-Amz-Date: 20180112T092034Z
Accept-Encoding: identity
Authorization: AWS4-HMAC-SHA256 Credential=REDACTED/20220113/us-west-2/resource-groups/aws4_request, 
        SignedHeaders=content-encoding;content-length;content-type;host;x-amz-date;x-amz-target, 
        Signature=EXAMPLE5cb91f88f1EXAMPLEa02d3af93dEXAMPLE91e5d03588EXAMPLE88ff1d
Content-Type: application/json
Accept: application/json
Content-Length: 283

{
    "Description": "Resources created for the testing stage.", 
    "Name": "QueryGroup", 
    "ResourceQuery": {
        "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"TagFilters\":[{\"Key\":\"Stage\",\"Values\":[\"Test\"]}]}",
         "Type": "TAG_FILTERS_1_0"
    }, 
    "Tags": {"Department": "Finance"}
}
```