Configurazione di un client predefinito per Go - Amazon DynamoDB

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

Configurazione di un client predefinito per Go

In questa guida verranno illustrate le opzioni di configurazione che consentono di ottimizzare le prestazioni, la gestione delle connessioni e il comportamento di registrazione di log del client DAX. Comprendendo le impostazioni predefinite e come personalizzarle è possibile ottimizzare l’interazione dell’applicazione Go con DAX.

Impostazioni predefinite del client SDK DAX per Go

Parametro Tipo Description

Region

obbligatorio

string

Regione AWS Da usare per il client DAX (esempio: 'us-east-1'). Questo è un parametro obbligatorio se non viene fornito tramite l’ambiente.

HostPorts

obbligatorio

[] string

Elenco degli endpoint del cluster DAX a cui si connette l’SDK.

Esempio:

Non crittografato: dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com

Crittografato: daxs://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com

MaxPendingConnectionsPerHost

valore predefinito 10

number

Numero di tentativi di connessione concomitanti. (È possibile che le connessioni siano in fase di creazione simultanea.)

ClusterUpdateThreshold

valore predefinito 125 * time.Millisecond

time.Duration

Il tempo minimo che deve trascorrere tra gli aggiornamenti del cluster.

ClusterUpdateInterval

valore predefinito 4 * time.Second

time.Duration

L’intervallo con cui il client aggiornerà automaticamente le informazioni del cluster DAX.

IdleConnectionsReapDelay

valore predefinito 30 * time.Second

time.Duration

L’intervallo in base al quale il client chiuderà le connessioni inattive nel client DAX.

ClientHealthCheckInterval

valore predefinito 5 * time.Second

time.Duration

L’intervallo con cui il client eseguirà i controlli di integrità sugli endpoint del cluster DAX.

Credentials

default

aws.CredentialsProvider

Le AWS credenziali utilizzate dal client DAX per autenticare le richieste al servizio DAX. Consulta Credentials and Credential Providers.

DialContext

default

func

Una funzione personalizzata utilizzata dal client DAX per stabilire connessioni al cluster DAX.

SkipHostnameVerification

valore predefinito false

bool

Salta la verifica del nome host delle connessioni TLS. Questa impostazione ha effetto solo sui cluster crittografati. Se impostata su True, disabilita la verifica del nome host. La disabilitazione della verifica significa che non è possibile autenticare l’identità del cluster a cui si sta effettuando la connessione, il che comporta rischi per la sicurezza. Per impostazione predefinita, la verifica del nome host è abilitata.

RouteManagerEnabled

valore predefinito false

bool

Questo flag viene utilizzato per rimuovere gli instradamenti soggetti a errori di rete.

RequestTimeout

valore predefinito 60 * time.Second

time.Duration

Definisce il tempo massimo di attesa da parte del client per ricevere una risposta da DAX.

Priorità: timeout contestuale (se impostato) > RequestTimmeout (se impostato) > Valore predefinito 60 s RequestTimeout.

WriteRetries

valore predefinito 2

number

Il numero di ripetizioni di tentativi per le richieste di scrittura che hanno esito negativo.

ReadRetries

valore predefinito 2

number

Il numero di ripetizioni di tentativi per le richieste di lettura che hanno esito negativo.

RetryDelay

valore predefinito 0

time.Duration

Il ritardo per gli errori non sottoposti a limitazione (della larghezza di banda della rete) (in secondi) per le ripetizioni di tentativi quando una richiesta ha esito negativo.

Logger

facoltativo

logging.Logger

Logger è un’interfaccia per la registrazione di log delle voci in determinate classificazioni.

LogLevel

utilità predefinite. LogOff

number

Questo loglevel è definito solo per DAX. Può essere importato usando github. com/aws/aws-dax-go-v2/tree/main/dax/utils.

const ( LogOff LogLevelType = 0 LogDebug LogLevelType = 1 LogDebugWithRequestRetries LogLevelType = 2 )
Nota

Per time.Duration, l’unità predefinita è il nanosecondo. Se non si specifica alcuna unità per un parametro, verranno utilizzati i nano secondi: daxCfg.ClusterUpdateInterval = 10 significa 10 nano secondi. (daxCfg.ClusterUpdateInterval = 10 * time.Millisecond significa 10 millisecondi).

Creazione di client

Come creare un client DAX:
  • Crea la configurazione DAX, quindi crea il client DAX utilizzando la configurazione DAX. In questo modo è possibile sovrascrivere una configurazione DAX, se necessario.

    import ( "github.com/aws/aws-dax-go-v2/dax/utils" "github.com/aws/aws-dax-go-v2/dax" ) // Non - Encrypted : 'dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com'. // Encrypted : daxs://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com'. config := dax.DefaultConfig() config.HostPorts = []string{endpoint} config.Region = region config.LogLevel = utils.LogDebug daxClient, err := dax.New(config)