

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

# Guida introduttiva all' AWS SDK for Ruby
<a name="getting-started"></a>

Scopri come installare, configurare e utilizzare l'SDK per creare un'applicazione Ruby per accedere a una AWS risorsa a livello di codice.

**Topics**
+ [Autenticazione con AWS](credentials.md)
+ [Installazione dell'SDK](setup-install.md)
+ [Creazione di una semplice applicazione](hello.md)

# Autenticazione con l' AWS utilizzo di AWS SDK for Ruby
<a name="credentials"></a>

È necessario stabilire in che modo il codice si autentica durante lo sviluppo con AWS . Servizi AWSÈ possibile configurare l'accesso programmatico alle AWS risorse in diversi modi a seconda dell'ambiente e dell' AWS accesso a disposizione. 

Per scegliere il metodo di autenticazione e configurarlo per l'SDK, consulta [Autenticazione e accesso](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) nella Guida di *riferimento agli strumenti AWS SDKs e agli strumenti*. 

## Utilizzo delle credenziali della console
<a name="using-con-creds"></a>

Per lo sviluppo locale, consigliamo ai nuovi utenti di utilizzare le credenziali di accesso esistenti alla Console di AWS gestione per l'accesso programmatico ai servizi. AWS Dopo l'autenticazione basata su browser, AWS genera credenziali temporanee che funzionano con strumenti di sviluppo locali come l'interfaccia a riga di AWS comando (AWS CLI) e l'SDK for Ruby. AWS 

Se scegli questo metodo, segui le istruzioni [per accedere allo sviluppo AWS locale utilizzando le credenziali della console utilizzando la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sign-in.html).

L' AWS SDK for Ruby non necessita di gemme aggiuntive (`aws-sdk-signin`ad esempio) da aggiungere all'applicazione per utilizzare l'accesso con le credenziali della console.

## Utilizzo dell'autenticazione IAM Identity Center
<a name="using-iam-auth"></a>

Se scegli questo metodo, completa la procedura per l'[autenticazione IAM Identity Center](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html) nella *AWS SDKs and Tools Reference Guide*. Successivamente, l'ambiente dovrebbe contenere i seguenti elementi:
+ Il AWS CLI, che viene utilizzato per avviare una sessione del portale di AWS accesso prima di eseguire l'applicazione.
+ Un [AWS`config`file condiviso](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) con un `[default]` profilo con un set di valori di configurazione a cui è possibile fare riferimento dall'SDK. Per trovare la posizione di questo file, consulta [Posizione dei file condivisi nella Guida](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html) di *riferimento agli strumenti AWS SDKs e strumenti*.
+  Il `config` file condiviso imposta l'[https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html](https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html)impostazione. Questo imposta l'impostazione predefinita Regione AWS utilizzata dall'SDK per AWS le richieste. Questa regione viene utilizzata per le richieste di servizio SDK che non sono specificate con una regione da utilizzare. 
+  L'SDK utilizza la [configurazione del provider di token SSO](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html#feature-sso-credentials-profile) del profilo per acquisire le credenziali prima di inviare richieste a. AWS Il `sso_role_name` valore, che è un ruolo IAM connesso a un set di autorizzazioni IAM Identity Center, consente l'accesso ai dati Servizi AWS utilizzati nell'applicazione.

  Il seguente `config` file di esempio mostra un profilo predefinito impostato con la configurazione del provider di token SSO. L'`sso_session`impostazione del profilo si riferisce alla [`sso-session`sezione](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#section-session) denominata. La `sso-session` sezione contiene le impostazioni per avviare una sessione del portale di AWS accesso.

  ```
  [default]
  sso_session = my-sso
  sso_account_id = 111122223333
  sso_role_name = SampleRole
  region = us-east-1
  output = json
  
  [sso-session my-sso]
  sso_region = us-east-1
  sso_start_url = https://provided-domain.awsapps.com/start
  sso_registration_scopes = sso:account:access
  ```

L' AWS SDK for Ruby non necessita di gemme aggiuntive (`aws-sdk-sso``aws-sdk-ssooidc`come e) da aggiungere all'applicazione per utilizzare l'autenticazione IAM Identity Center.

### Avvia una sessione del portale di accesso AWS
<a name="accessportal"></a>

Prima di eseguire un'applicazione che consente l'accesso Servizi AWS, è necessaria una sessione attiva del portale di AWS accesso affinché l'SDK utilizzi l'autenticazione IAM Identity Center per risolvere le credenziali. A seconda della durata della sessione configurata, l'accesso alla fine scadrà e l'SDK riscontrerà un errore di autenticazione. Per accedere al portale di AWS accesso, esegui il seguente comando in. AWS CLI

```
aws sso login
```

Se hai seguito le istruzioni e disponi di una configurazione predefinita del profilo, non è necessario richiamare il comando con un'`--profile`opzione. Se la configurazione del provider di token SSO utilizza un profilo denominato, il comando è `aws sso login --profile named-profile`.

Per verificare facoltativamente se hai già una sessione attiva, esegui il AWS CLI comando seguente.

```
aws sts get-caller-identity
```

Se la sessione è attiva, la risposta a questo comando riporta l'account IAM Identity Center e il set di autorizzazioni configurati nel `config` file condiviso.

**Nota**  
Se hai già una sessione attiva del portale di AWS accesso ed esegui`aws sso login`, non ti verrà richiesto di fornire credenziali.   
La procedura di accesso potrebbe richiedere all'utente di consentire l' AWS CLI accesso ai dati. Poiché AWS CLI è basato sull'SDK per Python, i messaggi di autorizzazione potrebbero contenere variazioni del `botocore` nome.

## Ulteriori informazioni di autenticazione
<a name="credother"></a>

Utenti umani, noti anche come *identità umane,* sono le persone, gli amministratori, gli sviluppatori, gli operatori e i consumatori delle tue applicazioni. Devono avere un'identità per accedere agli AWS ambienti e alle applicazioni dell'utente. Gli utenti umani che fanno parte della tua organizzazione, ovvero tu, lo sviluppatore, sono noti come *identità della forza lavoro*. 

Utilizza credenziali temporanee per l'accesso. AWS Puoi utilizzare un provider di identità per i tuoi utenti umani per fornire l'accesso federato agli AWS account assumendo ruoli che forniscono credenziali temporanee. Per la gestione centralizzata degli accessi, ti consigliamo di utilizzare AWS IAM Identity Center (IAM Identity Center) per gestire l'accesso ai tuoi account e le autorizzazioni all'interno di tali account. Per altre alternative, consulta quanto segue:
+ Per ulteriori informazioni sulle best practice, consulta [Best practice per la sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) nella *Guida per l'utente di IAM*.
+ Per creare AWS credenziali a breve termine, consulta [Temporary Security Credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) nella *IAM User Guide*.
+ Per ulteriori informazioni sulla catena di provider di credenziali AWS SDK for Ruby e su come i diversi metodi di autenticazione vengono tentati automaticamente dall'SDK in una sequenza, consulta. [Catena di fornitori di credenziali](credential-providers.md#credchain) 
+ *Per le impostazioni di configurazione dei provider di credenziali AWS SDK, consulta Fornitori di [credenziali standardizzati](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) nella and Tools Reference Guide.AWS SDKs *

# Installazione dell' AWS SDK per Ruby
<a name="setup-install"></a>

Questa sezione include i prerequisiti e le istruzioni di installazione per l' AWS SDK for Ruby.

## Prerequisiti
<a name="aws-ruby-sdk-prerequisites"></a>

Prima di utilizzare l' AWS SDK for Ruby, è necessario autenticarsi con. AWS Per informazioni sulla configurazione dell'autenticazione, consulta. [Autenticazione con l' AWS utilizzo di AWS SDK for Ruby](credentials.md)

## Installazione dell'SDK
<a name="installing-the-sdk"></a>

Puoi installare l' AWS SDK per Ruby come faresti con qualsiasi altra gemma Ruby. Le gemme sono disponibili all'indirizzo. [RubyGems](https://rubygems.org/gems/aws-sdk/) L' AWS SDK for Ruby è progettato per essere modulare ed è separato da. Servizio AWS L'installazione dell'intera `aws-sdk` gemma è complessa e può richiedere più di un'ora. 

Ti consigliamo di installare solo le gemme per il Servizi AWS tuo uso. Questi hanno lo stesso nome `aws-sdk-service_abbreviation` e l'elenco completo si trova nella tabella [Servizi supportati](https://github.com/aws/aws-sdk-ruby/#supported-services) del AWS file README SDK for Ruby. Ad esempio, la gemma per l'interfacciamento con il servizio Amazon S3 è disponibile direttamente all'indirizzo. [https://rubygems.org/gems/aws-sdk-s3](https://rubygems.org/gems/aws-sdk-s3)

### Gestore di versioni di Ruby
<a name="installing-rvm"></a>

Invece di usare il sistema Ruby, consigliamo di utilizzare un gestore di versioni di Ruby come il seguente: 
+ [RVM](http://rvm.io/)
+ [paffuto](https://github.com/postmodern/chruby)
+ [rbenv](https://github.com/rbenv/rbenv)

Ad esempio, se utilizzi un sistema operativo Amazon Linux 2, puoi usare i seguenti comandi per aggiornare RVM, elencare le versioni di Ruby disponibili, quindi scegliere la versione che desideri utilizzare per lo sviluppo con l'SDK for AWS Ruby. La versione minima richiesta di Ruby è 2.5.

```
$ rvm get head
$ rvm list known
$ rvm install ruby-3.1.3
$ rvm --default use 3.1.3
```

### Bundler
<a name="bundler"></a>

 Se usi [Bundler](http://bundler.io/), i seguenti comandi installano la gem AWS SDK for Ruby per Amazon S3:

1. Installa Bundler e crea: `Gemfile`

   ```
   $ gem install bundler
   $ bundle init
   ```

1. Apri il file creato `Gemfile` e aggiungi una `gem` riga per ogni gemma AWS di servizio che utilizzerà il tuo codice. Per seguire l'esempio di Amazon S3, aggiungi la seguente riga alla fine del file:

   ```
   gem "aws-sdk-s3"
   ```

1. Salva il Gemfile.

1. Installa le dipendenze specificate nel tuo: `Gemfile`

   ```
   $ bundle install
   ```

# Creazione di una semplice applicazione utilizzando l' AWS SDK for Ruby
<a name="hello"></a>

Dai il benvenuto ad Amazon S3 utilizzando l' AWS SDK for Ruby. L'esempio seguente mostra un elenco dei tuoi bucket Amazon S3.

## Scrivere il codice
<a name="aws-ruby-sdk-hello-world-code"></a>

Copia e incolla il codice seguente in un nuovo file sorgente. Assegnare un nome al file `hello-s3.rb`.

```
require 'aws-sdk-s3'

# Wraps Amazon S3 resource actions.
class BucketListWrapper
  attr_reader :s3_resource

  # @param s3_resource [Aws::S3::Resource] An Amazon S3 resource.
  def initialize(s3_resource)
    @s3_resource = s3_resource
  end

  # Lists buckets for the current account.
  #
  # @param count [Integer] The maximum number of buckets to list.
  def list_buckets(count)
    puts 'Found these buckets:'
    @s3_resource.buckets.each do |bucket|
      puts "\t#{bucket.name}"
      count -= 1
      break if count.zero?
    end
    true
  rescue Aws::Errors::ServiceError => e
    puts "Couldn't list buckets. Here's why: #{e.message}"
    false
  end
end

# Example usage:
def run_demo
  wrapper = BucketListWrapper.new(Aws::S3::Resource.new)
  wrapper.list_buckets(25)
end

run_demo if $PROGRAM_NAME == __FILE__
```

AWS SDK for Ruby è progettato per essere modulare ed è separato da. Servizio AWS Dopo l'installazione della gem, l'`require`istruzione nella parte superiore del file sorgente Ruby importa le classi e i metodi AWS SDK per il servizio Amazon S3. Per un elenco completo dei AWS service gem disponibili, consulta la tabella [Supported Services](https://github.com/aws/aws-sdk-ruby/#supported-services) del AWS file README SDK for Ruby.

```
require 'aws-sdk-s3'
```

## Esecuzione del programma
<a name="aws-ruby-sdk-hello-world-running"></a>

Apri un prompt dei comandi per eseguire il tuo programma Ruby. La sintassi tipica dei comandi per eseguire un programma Ruby è: 

```
ruby [source filename] [arguments...]
```

Questo codice di esempio non utilizza argomenti. Per eseguire questo codice, inserisci quanto segue nel prompt dei comandi: 

```
$ ruby hello-s3.rb
```

## Nota per gli utenti Windows
<a name="aws-ruby-sdk-quick-start-windows"></a>

Quando utilizzi certificati SSL su Windows ed esegui il codice Ruby, potresti visualizzare un errore simile al seguente.

```
C:\Ruby>ruby buckets.rb
C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:921:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (Seahorse::Client::NetworkingError)
         from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:921:in `block in connect'

         from C:/Ruby200-x64/lib/ruby/2.0.0/timeout.rb:66:in `timeout'
         from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:921:in `connect'
         from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:862:in `do_start'
         from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:857:in `start'
...
```

Per risolvere questo problema, aggiungi la riga seguente al file sorgente di Ruby, da qualche parte prima della prima chiamata. AWS 

```
Aws.use_bundled_cert!
```

Se stai usando solo la `aws-sdk-s3` gemma nel tuo programma Ruby e vuoi usare il certificato in bundle, devi aggiungere anche la gemma. `aws-sdk-core`

## Fasi successive
<a name="aws-ruby-sdk-hello-world-next-steps"></a>

Per testare molte altre operazioni di Amazon S3, consulta il [AWS Code Examples Repository](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/ruby/example_code//s3) su. GitHub