

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memulai AWS SDK for Ruby
<a name="getting-started"></a>

Pelajari cara menginstal, menyiapkan, dan menggunakan SDK untuk membuat aplikasi Ruby untuk mengakses AWS sumber daya secara terprogram.

**Topics**
+ [Autentikasi dengan AWS](credentials.md)
+ [Menginstal SDK](setup-install.md)
+ [Membuat aplikasi sederhana](hello.md)

# Mengautentikasi dengan AWS menggunakan AWS SDK for Ruby
<a name="credentials"></a>

Anda harus menetapkan bagaimana kode Anda mengautentikasi AWS saat mengembangkan dengan Layanan AWS. Anda dapat mengonfigurasi akses terprogram ke AWS sumber daya dengan cara yang berbeda tergantung pada lingkungan dan AWS akses yang tersedia untuk Anda. 

Untuk memilih metode otentikasi dan mengonfigurasinya untuk SDK, lihat [Autentikasi dan akses](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) di Panduan Referensi *Alat AWS SDKs dan Alat*. 

## Menggunakan kredensil konsol
<a name="using-con-creds"></a>

Untuk pengembangan lokal, kami menyarankan agar pengguna baru menggunakan kredenal masuk Konsol AWS Manajemen yang ada untuk akses terprogram ke layanan. AWS Setelah otentikasi berbasis browser, buat AWS kredenal sementara yang bekerja dengan alat pengembangan lokal seperti Command AWS Line Interface (AWS CLI) dan SDK for Ruby. AWS 

Jika Anda memilih metode ini, ikuti petunjuk untuk [Login untuk pengembangan AWS lokal menggunakan kredensil konsol menggunakan CLI AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sign-in.html).

 AWS SDK for Ruby tidak memerlukan permata tambahan (`aws-sdk-signin`seperti) untuk ditambahkan ke aplikasi Anda untuk menggunakan login dengan kredenal konsol.

## Menggunakan autentikasi IAM Identity Center
<a name="using-iam-auth"></a>

Jika Anda memilih metode ini, selesaikan prosedur untuk [autentikasi Pusat Identitas IAM di Panduan](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html) *Referensi Alat AWS SDKs dan Alat*. Setelah itu, lingkungan Anda harus mengandung elemen-elemen berikut:
+ Itu AWS CLI, yang Anda gunakan untuk memulai sesi portal AWS akses sebelum Anda menjalankan aplikasi Anda.
+ [AWS`config`File bersama](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) yang memiliki `[default]` profil dengan serangkaian nilai konfigurasi yang dapat direferensikan dari SDK. Untuk menemukan lokasi file ini, lihat [Lokasi file bersama di](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html) *Panduan Referensi Alat AWS SDKs dan*.
+  `config`File bersama menetapkan [https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html](https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html)pengaturan. Ini menetapkan default Wilayah AWS yang digunakan SDK untuk AWS permintaan. Wilayah ini digunakan untuk permintaan layanan SDK yang tidak ditentukan dengan Wilayah yang akan digunakan. 
+  SDK menggunakan [konfigurasi penyedia token SSO](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html#feature-sso-credentials-profile) profil untuk memperoleh kredensil sebelum mengirim permintaan ke. AWS`sso_role_name`Nilai, yang merupakan peran IAM yang terhubung ke set izin Pusat Identitas IAM, memungkinkan akses ke yang Layanan AWS digunakan dalam aplikasi Anda.

  `config`File contoh berikut menunjukkan profil default yang diatur dengan konfigurasi penyedia token SSO. `sso_session`Pengaturan profil mengacu pada [`sso-session`bagian](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#section-session) bernama. `sso-session`Bagian ini berisi pengaturan untuk memulai sesi portal AWS akses.

  ```
  [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
  ```

 AWS SDK for Ruby tidak memerlukan permata tambahan (`aws-sdk-sso``aws-sdk-ssooidc`seperti dan) untuk ditambahkan ke aplikasi Anda untuk menggunakan autentikasi IAM Identity Center.

### Memulai sesi portal AWS akses
<a name="accessportal"></a>

Sebelum menjalankan aplikasi yang mengakses Layanan AWS, Anda memerlukan sesi portal AWS akses aktif agar SDK menggunakan autentikasi IAM Identity Center untuk menyelesaikan kredensialnya. Bergantung pada panjang sesi yang dikonfigurasi, akses Anda pada akhirnya akan kedaluwarsa dan SDK akan mengalami kesalahan otentikasi. Untuk masuk ke portal AWS akses, jalankan perintah berikut di AWS CLI.

```
aws sso login
```

Jika Anda mengikuti panduan dan memiliki pengaturan profil default, Anda tidak perlu memanggil perintah dengan `--profile` opsi. Jika konfigurasi penyedia token SSO Anda menggunakan profil bernama, perintahnya adalah`aws sso login --profile named-profile`.

Untuk menguji secara opsional apakah Anda sudah memiliki sesi aktif, jalankan AWS CLI perintah berikut.

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

Jika sesi Anda aktif, respons terhadap perintah ini melaporkan akun Pusat Identitas IAM dan set izin yang dikonfigurasi dalam `config` file bersama.

**catatan**  
Jika Anda sudah memiliki sesi portal AWS akses aktif dan menjalankannya`aws sso login`, Anda tidak akan diminta untuk memberikan kredensil.   
Proses masuk mungkin meminta Anda untuk mengizinkan AWS CLI akses ke data Anda. Karena AWS CLI dibangun di atas SDK untuk Python, pesan izin mungkin berisi variasi nama. `botocore`

## Informasi otentikasi lebih lanjut
<a name="credother"></a>

Pengguna manusia, juga dikenal sebagai *identitas manusia*, adalah orang, administrator, pengembang, operator, dan konsumen aplikasi Anda. Mereka harus memiliki identitas untuk mengakses AWS lingkungan dan aplikasi Anda. Pengguna manusia yang merupakan anggota organisasi Anda - itu berarti Anda, pengembang - dikenal sebagai *identitas tenaga kerja*. 

Gunakan kredensi sementara saat mengakses. AWS Anda dapat menggunakan penyedia identitas bagi pengguna manusia Anda untuk menyediakan akses gabungan ke AWS akun dengan mengambil peran, yang menyediakan kredensi sementara. Untuk manajemen akses terpusat, kami sarankan Anda menggunakan AWS IAM Identity Center (IAM Identity Center) untuk mengelola akses ke akun Anda dan izin dalam akun tersebut. Untuk alternatif lainnya, lihat yang berikut ini:
+ Untuk mempelajari lebih lanjut tentang praktik terbaik, lihat [Praktik terbaik keamanan di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) di *Panduan Pengguna IAM*.
+ *Untuk membuat AWS kredensil jangka pendek, lihat [Kredensial Keamanan Sementara di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) IAM.*
+ Untuk mempelajari tentang rantai penyedia kredensi AWS SDK for Ruby, dan cara metode otentikasi yang berbeda dicoba secara otomatis oleh SDK secara berurutan, lihat. [Rantai penyedia kredensi](credential-providers.md#credchain) 
+ *Untuk setelan konfigurasi penyedia kredensi AWS SDK, lihat Penyedia [kredensi terstandarisasi di Panduan Referensi](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) Alat dan AWS SDKs Alat.*

# Memasang AWS SDK for Ruby
<a name="setup-install"></a>

Bagian ini mencakup prasyarat dan petunjuk instalasi untuk SDK for AWS Ruby.

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

Sebelum Anda menggunakan AWS SDK for Ruby, Anda harus mengautentikasi dengan. AWS Untuk informasi tentang pengaturan otentikasi, lihat[Mengautentikasi dengan AWS menggunakan AWS SDK for Ruby](credentials.md).

## Menginstal SDK
<a name="installing-the-sdk"></a>

Anda dapat menginstal AWS SDK for Ruby seperti halnya permata Ruby. Permata tersedia di [RubyGems](https://rubygems.org/gems/aws-sdk/). AWS SDK for Ruby dirancang untuk modular dan dipisahkan oleh. Layanan AWS Memasang seluruh `aws-sdk` permata itu besar dan mungkin memakan waktu lebih dari satu jam. 

Kami sarankan hanya menginstal permata untuk Layanan AWS Anda gunakan. Ini diberi nama seperti `aws-sdk-service_abbreviation` dan daftar lengkapnya ditemukan di tabel [Layanan yang Didukung](https://github.com/aws/aws-sdk-ruby/#supported-services) dari file AWS SDK for Ruby README. Misalnya, permata untuk berinteraksi dengan layanan Amazon S3 tersedia langsung di. [https://rubygems.org/gems/aws-sdk-s3](https://rubygems.org/gems/aws-sdk-s3)

### Manajer versi Ruby
<a name="installing-rvm"></a>

Alih-alih menggunakan sistem Ruby, sebaiknya gunakan pengelola versi Ruby seperti berikut ini: 
+ [RVM](http://rvm.io/)
+ [chruby](https://github.com/postmodern/chruby)
+ [rbenv](https://github.com/rbenv/rbenv)

Misalnya, jika Anda menggunakan sistem operasi Amazon Linux 2, perintah berikut dapat digunakan untuk memperbarui RVM, daftar versi Ruby yang tersedia, lalu pilih versi yang ingin Anda gunakan untuk pengembangan dengan SDK for AWS Ruby. Versi Ruby minimum yang diperlukan adalah 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>

 Jika Anda menggunakan [Bundler](http://bundler.io/), perintah berikut menginstal AWS SDK for Ruby gem untuk Amazon S3:

1. Instal Bundler dan buat: `Gemfile`

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

1. Buka yang dibuat `Gemfile` dan tambahkan `gem` baris untuk setiap permata AWS layanan yang akan digunakan kode Anda. Untuk mengikuti contoh Amazon S3, tambahkan baris berikut ke bagian bawah file:

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

1. Simpan Gemfile.

1. Instal dependensi yang ditentukan dalam: `Gemfile`

   ```
   $ bundle install
   ```

# Membuat aplikasi sederhana menggunakan AWS SDK for Ruby
<a name="hello"></a>

Sapa Amazon S3 menggunakan AWS SDK for Ruby. Contoh berikut menampilkan daftar bucket Amazon S3 Anda.

## Menulis kode
<a name="aws-ruby-sdk-hello-world-code"></a>

Salin dan tempel kode berikut ke file sumber baru. Beri nama 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 dirancang untuk modular dan dipisahkan oleh. Layanan AWS Setelah permata diinstal, `require` pernyataan di bagian atas file sumber Ruby Anda mengimpor kelas dan metode AWS SDK untuk layanan Amazon S3. Untuk daftar lengkap AWS service gems yang tersedia, lihat tabel [Layanan yang Didukung](https://github.com/aws/aws-sdk-ruby/#supported-services) dari file AWS SDK for Ruby README.

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

## Menjalankan program
<a name="aws-ruby-sdk-hello-world-running"></a>

Buka prompt perintah untuk menjalankan program Ruby Anda. Sintaks perintah khas untuk menjalankan program Ruby adalah: 

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

Kode contoh ini tidak menggunakan argumen. Untuk menjalankan kode ini, masukkan yang berikut ini ke command prompt: 

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

## Catatan untuk pengguna Windows
<a name="aws-ruby-sdk-quick-start-windows"></a>

Saat Anda menggunakan sertifikat SSL di Windows dan menjalankan kode Ruby Anda, Anda mungkin melihat kesalahan yang mirip dengan yang berikut ini.

```
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'
...
```

Untuk memperbaiki masalah ini, tambahkan baris berikut ke file sumber Ruby Anda, di suatu tempat sebelum AWS panggilan pertama Anda.

```
Aws.use_bundled_cert!
```

Jika Anda hanya menggunakan `aws-sdk-s3` permata dalam program Ruby Anda dan Anda ingin menggunakan sertifikat yang dibundel, Anda juga perlu menambahkan permata. `aws-sdk-core`

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

Untuk menguji banyak operasi Amazon S3 lainnya, lihat [Repositori Contoh AWS Kode](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/ruby/example_code//s3) di. GitHub