

Versi 5 (V5) dari Alat AWS untuk PowerShell telah dirilis\$1

Untuk informasi tentang melanggar perubahan dan memigrasi aplikasi Anda, lihat [topik migrasi](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html).

 [https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html)

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

# AWS Layanan panggilan di Alat AWS untuk PowerShell
<a name="pstools-using"></a>

Bagian ini memberikan contoh penggunaan Alat AWS untuk PowerShell untuk mengakses AWS layanan. Contoh-contoh ini membantu mendemonstrasikan cara menggunakan cmdlet untuk melakukan tugas yang sebenarnya AWS . Contoh-contoh ini bergantung pada cmdlet yang disediakan oleh Tools for PowerShell . Untuk melihat cmdlet apa yang tersedia, lihat Referensi [Alat AWS untuk PowerShell Cmdlet](https://docs.aws.amazon.com/powershell/v5/reference/).

Anda dapat menemukan lebih banyak Alat AWS untuk PowerShell contoh di bagian [Contoh kode](powershell_code_examples.md) ini.

## PowerShell Pengkodean Penggabungan File
<a name="powershell-file-concatenation-encoding"></a>

Beberapa cmdlet dalam Alat AWS untuk PowerShell mengedit file atau catatan yang ada yang Anda miliki. AWS Contohnya adalah`Edit-R53ResourceRecordSet`, yang memanggil [ChangeResourceRecordSets](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html)API untuk Amazon Route 53.

Saat Anda mengedit atau menggabungkan file dalam rilis PowerShell 5.1 atau yang lebih lama, PowerShell mengkodekan output dalam UTF-16, bukan UTF-8. Ini dapat menambahkan karakter yang tidak diinginkan dan membuat hasil yang tidak valid. Editor heksadesimal dapat mengungkapkan karakter yang tidak diinginkan.

Untuk menghindari konversi output file ke UTF-16, Anda dapat menyalurkan perintah Anda ke PowerShell `Out-File` cmdlet dan menentukan pengkodean UTF-8, seperti yang ditunjukkan pada contoh berikut:

```
PS > *some file concatenation command* | Out-File filename.txt -Encoding utf8
```

Jika Anda menjalankan AWS CLI perintah dari dalam PowerShell konsol, perilaku yang sama berlaku. Anda dapat menyalurkan output AWS CLI perintah ke `Out-File` dalam PowerShell konsol. Cmdlet lainnya, seperti `Export-Csv` atau `Export-Clixml`, juga memiliki parameter `Encoding`. Untuk daftar lengkap cmdlet yang memiliki parameter `Encoding`, dan yang memungkinkan Anda untuk memperbaiki pengkodean output dari file tergabung, jalankan perintah berikut:

```
PS > Get-Command -ParameterName "Encoding"
```

**catatan**  
PowerShell 6.0 dan yang lebih baru, termasuk PowerShell Core, secara otomatis mempertahankan pengkodean UTF-8 untuk output file gabungan.

## Objek yang Dikembalikan untuk PowerShell Alat
<a name="returned-objects-for-the-powershell-tools"></a>

Agar Alat AWS untuk PowerShell lebih berguna di PowerShell lingkungan asli, objek yang dikembalikan oleh Alat AWS untuk PowerShell cmdlet adalah objek.NET, bukan objek teks JSON yang biasanya dikembalikan dari API yang sesuai di SDK. AWS Misalnya, `Get-S3Bucket` memancarkan kumpulan `Buckets`, bukan objek jawaban JSON Amazon S3. `Buckets`Koleksi dapat ditempatkan di dalam PowerShell pipa dan berinteraksi dengan cara yang tepat. Demikian pula, `Get-EC2Instance` memancarkan `Reservation` kumpulan obyek .NET, bukan obyek hasil JSON `DescribeEC2Instances`. Perilaku ini dirancang dan memungkinkan Alat AWS untuk PowerShell pengalaman menjadi lebih konsisten dengan idiomatik PowerShell.

Jawaban layanan aktual tersedia untuk Anda jika Anda membutuhkannya. Jawaban-jawaban disimpan sebagai properti `note` pada objek yang dikembalikan. Untuk tindakan API yang mendukung pembagian dengan menggunakan bidang `NextToken`, ini juga dilampirkan sebagai properti `note`.

## [Amazon EC2](pstools-ec2.md)
<a name="using-ec2"></a>

Bagian ini membahas langkah-langkah yang diperlukan untuk meluncurkan instans Amazon EC2 termasuk cara:
+ Ambil daftar Amazon Machine Images (AMIs).
+ Membuat pasangan kunci untuk otentikasi SSH.
+ Membuat dan mengkonfigurasi grup keamanan Amazon EC2.
+ Meluncurkan instans dan mengambil informasi tentang hal itu.

## [Amazon S3](pstools-s3.md)
<a name="using-s3"></a>

Bagian ini membahas langkah-langkah yang diperlukan untuk membuat situs web statis yang ditempatkan di Amazon S3. Bagian ini menunjukkan bagaimana cara:
+ Membuat dan menghapus bucket Amazon S3.
+ Mengunggah file ke bucket Amazon S3 sebagai obyek.
+ Menghapus obyek dari bucket Amazon S3.
+ Memfungsikan bucket Amazon S3 sebagai situs web.

## [AWS Lambda dan Alat AWS untuk PowerShell](pstools-lambda.md)
<a name="using-lambda"></a>

Bagian ini memberikan gambaran singkat tentang Alat AWS Lambda untuk PowerShell modul dan menjelaskan langkah-langkah yang diperlukan untuk menyiapkan modul.

## [Amazon SNS dan Amazon SQS](pstools-sqs-queue-sns-topic.md)
<a name="using-sns"></a>

Bagian ini membahas langkah-langkah yang diperlukan untuk berlangganan antrean Amazon SQS untuk topik Amazon SNS. Bagian ini menunjukkan bagaimana cara:
+ Membuat topik Amazon SNS.
+ Membuat antrean Amazon SQS.
+ Berlangganan antrean ke topik.
+ Mengirim pesan ke topik.
+ Menerima pesan dari antrean.

## [CloudWatch](pstools-cw.md)
<a name="using-cw"></a>

Bagian ini memberikan contoh cara mempublikasikan data kustom ke CloudWatch.
+ Publikasikan Metrik Kustom ke CloudWatch Dasbor Anda.

## Lihat Juga
<a name="see-also"></a>
+  [Mengkonfigurasi dan menggunakan Alat AWS untuk PowerShell](pstools-getting-started.md) 

## Topik
<a name="w2aac13c23"></a>
+ [Amazon S3 dan Alat untuk Windows PowerShell](pstools-s3.md)
+ [Amazon EC2 dan Alat untuk Windows PowerShell](pstools-ec2.md)
+ [AWS Lambda dan Alat AWS untuk PowerShell](pstools-lambda.md)
+ [Amazon SQS, Amazon SNS dan Alat untuk Windows PowerShell](pstools-sqs-queue-sns-topic.md)
+ [CloudWatch dari AWS Tools for Windows PowerShell](pstools-cw.md)
+ [Menggunakan ClientConfig parameter dalam cmdlet](pstools-clientconfig.md)

# Amazon S3 dan Alat untuk Windows PowerShell
<a name="pstools-s3"></a>

Di bagian ini, kami membuat situs web statis AWS Tools for Windows PowerShell menggunakan Amazon S3 dan. CloudFront Dalam prosesnya, kami menunjukkan sejumlah tugas umum dengan layanan ini. Panduan ini dimodelkan setelah Panduan Memulai untuk [Host Situs Web Statis](https://aws.amazon.com/getting-started/projects/host-static-website/), yang menjelaskan proses serupa menggunakan [Konsol Manajemen AWS](https://console.aws.amazon.com/s3/home).

Perintah yang ditampilkan di sini mengasumsikan bahwa Anda telah menetapkan kredensi default dan wilayah default untuk sesi Anda PowerShell . Oleh karena itu, kredensial dan wilayah tidak termasuk dalam invokasi cmdlet.

**catatan**  
Saat ini tidak ada API Amazon S3 untuk mengganti nama bucket atau objek, dan oleh karena itu, tidak ada satu pun PowerShell cmdlet Alat untuk Windows untuk melakukan tugas ini. Untuk mengganti nama objek di S3, kami sarankan Anda menyalin objek ke objek dengan nama baru, dengan menjalankan [Copy-S3Object](https://docs.aws.amazon.com/powershell/v5/reference/items/Copy-S3Object.html)cmdlet, dan kemudian menghapus objek asli dengan menjalankan cmdlet. [Remove-S3Object](https://docs.aws.amazon.com/powershell/v5/reference/items/Remove-S3Object.html)

**Lihat juga**
+  [AWS Layanan panggilan di Alat AWS untuk PowerShell](pstools-using.md) 
+  [Hosting Situs Web Statis di Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) 
+  [Konsol Amazon S3](https://console.aws.amazon.com/s3/home) 

**Topics**
+ [Membuat Bucket Amazon S3, Memverifikasi Wilayahnya, dan Memilih Menghapusnya](pstools-s3-bucket-create.md)
+ [Konfigurasi Bucket Amazon S3 sebagai Situs Web dan Aktifkan Pencatatan](pstools-s3-create-website.md)
+ [Unggah Objek ke Bucket Amazon S3](pstools-s3-upload-object.md)
+ [Hapus Obyek dan Bucket Amazon S3](pstools-s3-delete-website.md)
+ [Unggah Konten Teks Selaras ke Amazon S3](pstools-s3-upload-in-line-text.md)

# Membuat Bucket Amazon S3, Memverifikasi Wilayahnya, dan Memilih Menghapusnya
<a name="pstools-s3-bucket-create"></a>

Menggunakan cmdlet `New-S3Bucket` untuk membuat bucket Amazon S3 baru. Contoh berikut membuat bucket dengan nama `website-example`. Nama bucket harus unik di semua wilayah. Contoh tersebut membuat bucket di wilayah `us-west-1`.

```
PS > New-S3Bucket -BucketName website-example -Region us-west-2

CreationDate         BucketName
------------         ----------
8/16/19 8:45:38 PM   website-example
```

Anda dapat memverifikasi wilayah tempat bucket berada menggunakan cmdlet `Get-S3BucketLocation`.

```
PS > Get-S3BucketLocation -BucketName website-example

Value
-----
us-west-2
```

Setelah selesai dengan tutorial ini, Anda dapat menggunakan baris berikut untuk menghapus bucket ini. Kami menyarankan agar Anda membiarkan bucket ini di tempatnya karena kami menggunakannya dalam contoh berikutnya.

```
PS > Remove-S3Bucket -BucketName website-example
```

Perhatikan bahwa proses penghapusan bucket dapat memakan waktu lama hingga selesai. Jika Anda mencoba untuk membuat ulang bucket dengan nama yang sama secara langsung, cmdlet `New-S3Bucket` tidak akan dapat melakukannya hingga bucket lama sepenuhnya hilang.

## Lihat Juga
<a name="pstools-seealso-s3-bucket-create"></a>
+  [AWS Layanan panggilan di Alat AWS untuk PowerShell](pstools-using.md) 
+  [Put Bucket (Referensi Layanan Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUT.html) 
+  [AWS PowerShell Wilayah untuk Amazon S3](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) 

# Konfigurasi Bucket Amazon S3 sebagai Situs Web dan Aktifkan Pencatatan
<a name="pstools-s3-create-website"></a>

Gunakan cmdlet `Write-S3BucketWebsite` untuk mengkonfigurasi bucket Amazon S3 sebagai situs web statis. Contoh berikut menentukan nama `index.html` untuk halaman web konten default dan nama `error.html` untuk halaman web kesalahan default. Perhatikan bahwa cmdlet ini tidak membuat halaman tersebut. Halaman-halaman tersebut harus [diunggah sebagai objek Amazon S3](pstools-s3-upload-object.md).

```
PS > Write-S3BucketWebsite -BucketName website-example -WebsiteConfiguration_IndexDocumentSuffix index.html -WebsiteConfiguration_ErrorDocument error.html
RequestId      : A1813E27995FFDDD
AmazonId2      : T7hlDOeLqA5Q2XfTe8j2q3SLoP3/5XwhUU3RyJBGHU/LnC+CIWLeGgP0MY24xAlI
ResponseStream :
Headers        : {x-amz-id-2, x-amz-request-id, Content-Length, Date...}
Metadata       : {}
ResponseXml    :
```

## Lihat Juga
<a name="pstools-seealso-s3-create-website"></a>
+  [AWS Layanan panggilan di Alat AWS untuk PowerShell](pstools-using.md) 
+  [Letakkan Situs Web Bucket (Referensi API Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html) 
+  [Letakkan Bucket ACL (Referensi API Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html) 

# Unggah Objek ke Bucket Amazon S3
<a name="pstools-s3-upload-object"></a>

Gunakan cmdlet `Write-S3Object` untuk meng-unggah file dari sistem file lokal ke bucket Amazon S3 sebagai objek. Contoh di bawah ini menciptakan dan meng-unggah dua file HTML sederhana ke bucket Amazon S3, dan memverifikasi keberadaan objek yang di-unggah. Parameter `-File` ke `Write-S3Object` menentukan nama file dalam sistem file lokal. Parameter `-Key` menentukan nama yang akan dimiliki objek terkait di Amazon S3.

Amazon menyimpulkan konten-jenis objek dari ekstensi file, dalam hal ini, ".html".

```
PS > # Create the two files using here-strings and the Set-Content cmdlet
PS > $index_html = @"
>> <html>
>>   <body>
>>     <p>
>>       Hello, World!
>>     </p>
>>   </body>
>> </html>
>> "@
>>
PS > $index_html | Set-Content index.html
PS > $error_html = @"
>> <html>
>>   <body>
>>     <p>
>>       This is an error page.
>>     </p>
>>   </body>
>> </html>
>> "@
>>
>>$error_html | Set-Content error.html
>># Upload the files to Amazon S3 using a foreach loop
>>foreach ($f in "index.html", "error.html") {
>> Write-S3Object -BucketName website-example -File $f -Key $f -CannedACLName public-read
>> }
>>
PS > # Verify that the files were uploaded
PS > Get-S3BucketWebsite -BucketName website-example

IndexDocumentSuffix                                         ErrorDocument
-------------------                                         -------------
index.html                                                  error.html
```

 *Opsi ACL Kalengan* 

Nilai untuk menentukan kalengan ACLs dengan Alat untuk Windows PowerShell sama dengan yang digunakan oleh. AWS SDK untuk .NET Perhatikan, bagaimanapun, ini berbeda dari nilai-nilai yang digunakan oleh tindakan`Put Object` Amazon S3. Alat untuk Windows PowerShell mendukung kaleng berikut ini ACLs:
+ NoACL
+ private
+ public-read
+ public-read-write
+ aws-exec-read
+ authenticated-read
+ bucket-owner-read
+ bucket-owner-full-control
+ log-delivery-write

Untuk informasi selengkapnya tentang pengaturan canned ACL, lihat [Gambaran Umum Daftar Kontrol Akses](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl).

## Catatan Mengenai Unggahan Multipart
<a name="note-regarding-multipart-upload"></a>

Jika Anda menggunakan API Amazon S3 untuk meng-upload file yang berukuran lebih besar dari 5 GB, Anda perlu menggunakan unggahan multipart. Namun, `Write-S3Object` cmdlet yang disediakan oleh Tools for Windows PowerShell dapat secara transparan menangani unggahan file yang lebih besar dari 5 GB.

### Uji Situs Webnya
<a name="pstools-amazon-s3-test-website"></a>

Pada titik ini, Anda dapat menguji situs web dengan menavigasi ke sana menggunakan browser. URLs untuk situs web statis yang dihosting di Amazon S3 ikuti format standar.

```
http://<bucket-name>.s3-website-<region>.amazonaws.com
```

Misalnya:

```
http://website-example.s3-website-us-west-1.amazonaws.com
```

### Lihat Juga
<a name="pstools-seealso-amazon-s3-test-website"></a>
+  [AWS Layanan panggilan di Alat AWS untuk PowerShell](pstools-using.md) 
+  [Letakkan Objek (Referensi API Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html) 
+  [Kalengan ACLs (Referensi API Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/dev/ACLOverview.html#CannedACL) 

# Hapus Obyek dan Bucket Amazon S3
<a name="pstools-s3-delete-website"></a>

Bagian ini menjelaskan cara menghapus situs web yang Anda buat di bagian sebelumnya. Anda cukup menghapus objek untuk file HTML, dan kemudian menghapus bucket Amazon S3 untuk situs tersebut.

Pertama, jalankan cmdlet `Remove-S3Object` untuk menghapus objek untuk file HTML dari bucket Amazon S3.

```
PS > foreach ( $obj in "index.html", "error.html" ) {
>> Remove-S3Object -BucketName website-example -Key $obj
>> }
>> 
IsDeleteMarker
--------------
False
```

Respon `False` merupakan artefak yang diharapkan dari cara Amazon S3 memproses permintaan. Dalam hal ini, ini bukanlah masalah.

Sekarang Anda dapat menjalankan cmdlet `Remove-S3Bucket` untuk menghapus bucket Amazon S3 yang sudah kosong untuk situs tersebut.

```
PS > Remove-S3Bucket -BucketName website-example

RequestId      : E480ED92A2EC703D
AmazonId2      : k6tqaqC1nMkoeYwbuJXUx1/UDa49BJd6dfLN0Ls1mWYNPHjbc8/Nyvm6AGbWcc2P
ResponseStream :
Headers        : {x-amz-id-2, x-amz-request-id, Date, Server}
Metadata       : {}
ResponseXml    :
```

Di 1.1 dan versi yang lebih baru Alat AWS untuk PowerShell, Anda dapat menambahkan `-DeleteBucketContent` parameter ke`Remove-S3Bucket`, yang pertama-tama menghapus semua objek dan versi objek di bucket yang ditentukan sebelum mencoba menghapus bucket itu sendiri. Bergantung pada jumlah objek atau versi objek dalam bucket, operasi ini dapat memerlukan waktu lama. Dalam versi Tools untuk Windows PowerShell yang lebih tua dari 1.1, bucket harus kosong sebelum `Remove-S3Bucket` bisa menghapusnya.

**catatan**  
Kecuali Anda menambahkan `-Force` parameter, Alat AWS untuk PowerShell meminta Anda untuk konfirmasi sebelum cmdlet berjalan.

## Lihat Juga
<a name="pstools-seealso-amazon-s3-delete-website"></a>
+  [AWS Layanan panggilan di Alat AWS untuk PowerShell](pstools-using.md) 
+  [Hapus Objek (Referensi API Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html) 
+  [DeleteBucket (Referensi API Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETE.html) 

# Unggah Konten Teks Selaras ke Amazon S3
<a name="pstools-s3-upload-in-line-text"></a>

Cmdlet `Write-S3Object` mendukung kemampuan untuk meng-upload konten teks selaras ke Amazon S3. Menggunakan parameter `-Content` (alias `-Text`), Anda dapat menentukan konten berbasis teks yang harus di-unggah ke Amazon S3 tanpa perlu menempatkannya ke dalam file terlebih dahulu. Parameter tersebut menerima string satu baris sederhana serta here string yang berisi beberapa baris.

```
PS > # Specifying content in-line, single line text:
PS > write-s3object amzn-s3-demo-bucket -key myobject.txt -content "file content"

PS > # Specifying content in-line, multi-line text: (note final newline needed to end in-line here-string)
PS > write-s3object amzn-s3-demo-bucket -key myobject.txt -content @"
>> line 1
>> line 2
>> line 3
>> "@
>> 
PS > # Specifying content from a variable: (note final newline needed to end in-line here-string)
PS > $x = @"
>> line 1
>> line 2
>> line 3
>> "@
>> 
PS > write-s3object amzn-s3-demo-bucket -key myobject.txt -content $x
```

# Amazon EC2 dan Alat untuk Windows PowerShell
<a name="pstools-ec2"></a>

Anda dapat melakukan tugas-tugas umum yang terkait dengan Amazon EC2 menggunakan file Alat AWS untuk PowerShell.

Contoh perintah yang ditampilkan di sini mengasumsikan bahwa Anda telah menetapkan kredensi default dan wilayah default untuk sesi Anda PowerShell . Oleh karena itu, kami tidak menyertakan kredensial atau wilayah saat kami membuka cmdlet. Lihat informasi yang lebih lengkap di [Autentikasi dengan AWS](creds-idc.md) dan [AWS Wilayah](pstools-installing-specifying-region.md).

**Topics**
+ [Buat Pasangan Kunci](pstools-ec2-keypairs.md)
+ [Buat Grup Keamanan](pstools-ec2-sg.md)
+ [Temukan AMI](pstools-ec2-get-amis.md)
+ [Luncurkan sebuah Instans](pstools-ec2-launch.md)

# Membuat Pasangan Kunci
<a name="pstools-ec2-keypairs"></a>

`New-EC2KeyPair`Contoh berikut menciptakan key pair dan menyimpan dalam PowerShell variabel `$myPSKeyPair` 

```
PS > $myPSKeyPair = New-EC2KeyPair -KeyName myPSKeyPair
```

Kirim objek pasangan kunci ke dalam cmdlet `Get-Member` untuk melihat struktur objek.

```
PS > $myPSKeyPair | Get-Member

     TypeName: Amazon.EC2.Model.KeyPair

  Name                MemberType   Definition
  ----                ----------   ----------
  Equals              Method       bool Equals(System.Object obj)
  GetHashCode         Method       int GetHashCode()
  GetType             Method       type GetType()
  ToString            Method       string ToString()
  KeyFingerprint      Property     System.String KeyFingerprint {get;set;}
  KeyMaterial         Property     System.String KeyMaterial {get;set;}
  KeyName             Property     System.String KeyName {get;set;}
```

Kirim objek pasangan kunci ke dalam cmdlet `Format-List` untuk melihat nilai-nilai anggota `KeyName`, `KeyFingerprint`, dan `KeyMaterial`. (Output telah dipotong agar lebih mudah dibaca.)

```
PS > $myPSKeyPair | Format-List KeyName, KeyFingerprint, KeyMaterial

  KeyName        : myPSKeyPair
  KeyFingerprint : 09:06:70:8e:26:b6:e7:ef:8f:fe:4a:1d:bc:9c:6a:63:11:ac:ad:3c
  KeyMaterial    : ----BEGIN RSA PRIVATE KEY----
                   MIIEogIBAAKCAQEAkK+ANYUS9c7niNjYfaCn6KYj/D0I6djnFoQE...
                   Mz6btoxPcE7EMeH1wySUp8nouAS9xbl9l7+VkD74bN9KmNcPa/Mu...
                   Zyn4vVe0Q5il/MpkrRogHqOB0rigeTeV5Yc3lvO0RFFPu0Kz4kcm...
                   w3Jg8dKsWn0plOpX7V3sRC02KgJIbejQUvBFGi5OQK9bm4tXBIeC...
                   daxKIAQMtDUdmBDrhR1/YMv8itFe5DiLLbq7Ga+FDcS85NstBa3h...
                   iuskGkcvgWkcFQkLmRHRoDpPb+OdFsZtjHZDpMVFmA9tT8EdbkEF...
                   3SrNeqZPsxJJIxOodb3CxLJpg75JU5kyWnb0+sDNVHoJiZCULCr0...
                   GGlLfEgB95KjGIk7zEv2Q7K6s+DHclrDeMZWa7KFNRZuCuX7jssC...
                   xO98abxMr3o3TNU6p1ZYRJEQ0oJr0W+kc+/8SWb8NIwfLtwhmJEy...
                   1BX9X8WFX/A8VLHrT1elrKmLkNECgYEAwltkV1pOJAFhz9p7ZFEv...
                   vvVsPaF0Ev9bk9pqhx269PB5Ox2KokwCagDMMaYvasWobuLmNu/1...
                   lmwRx7KTeQ7W1J3OLgxHA1QNMkip9c4Tb3q9vVc3t/fPf8vwfJ8C...
                   63g6N6rk2FkHZX1E62BgbewUd3eZOS05Ip4VUdvtGcuc8/qa+e5C...
                   KXgyt9nl64pMv+VaXfXkZhdLAdY0Khc9TGB9++VMSG5TrD15YJId...
                   gYALEI7m1jJKpHWAEs0hiemw5VmKyIZpzGstSJsFStERlAjiETDH...
                   YAtnI4J8dRyP9I7BOVOn3wNfIjk85gi1/0Oc+j8S65giLAfndWGR...
                   9R9wIkm5BMUcSRRcDy0yuwKBgEbkOnGGSD0ah4HkvrUkepIbUDTD...
                   AnEBM1cXI5UT7BfKInpUihZi59QhgdK/hkOSmWhlZGWikJ5VizBf...
                   drkBr/vTKVRMTi3lVFB7KkIV1xJxC5E/BZ+YdZEpWoCZAoGAC/Cd...
                   TTld5N6opgOXAcQJwzqoGa9ZMwc5Q9f4bfRc67emkw0ZAAwSsvWR...
                   x3O2duuy7/smTwWwskEWRK5IrUxoMv/VVYaqdzcOajwieNrblr7c...
                   -----END RSA PRIVATE KEY-----
```

Anggota `KeyMaterial` menyimpan kunci privat untuk pasangan kunci. Kunci publik disimpan di AWS. Anda tidak dapat mengambil kunci publik dari AWS, tetapi Anda dapat memverifikasi kunci publik dengan membandingkan `KeyFingerprint` untuk kunci pribadi dengan yang dikembalikan dari AWS untuk kunci publik.

## Melihat Sidik Jari Pasangan Kunci Anda
<a name="get-ec2keypair"></a>

Anda dapat menggunakan cmdlet `Get-EC2KeyPair` untuk melihat sidik jari untuk pasangan kunci Anda.

```
PS > Get-EC2KeyPair -KeyName myPSKeyPair | format-list KeyName, KeyFingerprint

  KeyName        : myPSKeyPair
  KeyFingerprint : 09:06:70:8e:26:b6:e7:ef:8f:fe:4a:1d:bc:9c:6a:63:11:ac:ad:3c
```

## Menyimpan Kunci Privat Anda
<a name="store-ec2keypair"></a>

Untuk menyimpan kunci privat ke file, kirim anggota `KeyFingerMaterial` ke cmdlet `Out-File`.

```
PS > $myPSKeyPair.KeyMaterial | Out-File -Encoding ascii myPSKeyPair.pem
```

Anda harus menentukan `-Encoding ascii` saat menuliskan kunci privat ke file. Jika tidak, alat seperti `openssl` mungkin tidak dapat membaca file dengan benar. Anda dapat memverifikasi bahwa format file yang dihasilkan benar dengan menggunakan perintah seperti berikut:

```
PS > openssl rsa -check < myPSKeyPair.pem
```

(`openssl`Alat ini tidak disertakan dengan Alat AWS untuk PowerShell atau AWS SDK untuk .NET.)

## Menghapus Pasangan Kunci Anda
<a name="remove-ec2keypair"></a>

Anda memerlukan pasangan kunci Anda untuk meluncurkan dan terhubung ke sebuah instans. Setelah selesai menggunakan pasangan kunci, Anda dapat menghapusnya. Untuk menghapus kunci publik dari AWS, gunakan `Remove-EC2KeyPair` cmdlet. Saat diminta, tekan `Enter` untuk menghapus pasangan kunci.

```
PS > Remove-EC2KeyPair -KeyName myPSKeyPair

Confirm
Performing the operation "Remove-EC2KeyPair (DeleteKeyPair)" on target "myPSKeyPair".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
```

Variabel,`$myPSKeyPair`, masih ada di PowerShell sesi saat ini dan masih berisi informasi key pair. File `myPSKeyPair.pem` juga ada. Namun, kunci privat tidak berlaku lagi karena kunci publik untuk pasangan kunci tidak lagi disimpan di AWS.

# Buat Grup Keamanan Menggunakan Windows PowerShell
<a name="pstools-ec2-sg"></a>

Anda dapat menggunakan Alat AWS untuk PowerShell untuk membuat dan mengkonfigurasi grup keamanan. Jawabannya adalah ID dari grup keamanan.

Jika Anda perlu terhubung ke instans Anda, Anda harus mengkonfigurasi grup keamanan untuk mengizinkan lalu lintas SSH (Linux) atau lalu lintas RDP (Windows).

**Topics**
+ [Prasyarat](#sg-prerequisites)
+ [Membuat Grup Keamanan untuk EC2 -VPC](#new-ec2securitygroup-vpc)

## Prasyarat
<a name="sg-prerequisites"></a>

Anda memerlukan alamat IP publik komputer Anda, dalam notasi CIDR. Anda bisa mendapatkan alamat IP publik dari komputer lokal menggunakan layanan. Misalnya, Amazon menyediakan layanan berikut: [http://checkip.amazonaws.com/](http://checkip.amazonaws.com/) atau [https://checkip.amazonaws.com/](https://checkip.amazonaws.com/). Untuk menemukan layanan lain yang menyediakan alamat IP Anda, gunakan frasa pencarian "apa alamat IP saya". Jika Anda terhubung melalui ISP atau dari belakang firewall Anda tanpa alamat IP statis, Anda perlu mencari tahu rentang alamat IP yang digunakan oleh komputer klien.

**Awas**  
Jika Anda menentukan `0.0.0.0/0`, Anda mengaktifkan lalu lintas dari alamat IP manapun di dunia. Untuk protokol SSH dan RDP, Anda mungkin menganggap ini dapat diterima untuk waktu yang singkat di lingkungan pengujian, tetapi tidak aman untuk lingkungan produksi. Dalam produksi, pastikan untuk mengotorisasi akses hanya dari alamat IP individu atau rentang alamat yang sesuai.

## Membuat Grup Keamanan untuk EC2 -VPC
<a name="new-ec2securitygroup-vpc"></a>

**Awas**  
EC2-Classic pensiun pada 15 Agustus 2022. Kami menyarankan Anda bermigrasi dari EC2 -Classic ke VPC. Untuk informasi lebih lanjut, lihat posting blog [EC2-Jaringan Klasik Pensiun - Inilah Cara Mempersiapkan](https://aws.amazon.com/blogs/aws/ec2-classic-is-retiring-heres-how-to-prepare/).

Contoh `New-EC2SecurityGroup` berikut ini menambahkan parameter `-VpcId` untuk membuat grup keamanan untuk VPC tertentu.

```
PS > $groupid = New-EC2SecurityGroup `
    -VpcId "vpc-da0013b3" `
    -GroupName "myPSSecurityGroup" `
    -GroupDescription "EC2-VPC from PowerShell"
```

Untuk melihat konfigurasi awal grup keamanan, gunakan cmdlet `Get-EC2SecurityGroup`. Secara default, grup keamanan untuk VPC berisi aturan yang memungkinkan semua lalu lintas ke luar. Perhatikan bahwa Anda tidak dapat mereferensikan grup keamanan untuk EC2 -VPC berdasarkan nama.

```
PS > Get-EC2SecurityGroup -GroupId sg-5d293231

OwnerId             : 123456789012
GroupName           : myPSSecurityGroup
GroupId             : sg-5d293231
Description         : EC2-VPC from PowerShell
IpPermissions       : {}
IpPermissionsEgress : {Amazon.EC2.Model.IpPermission}
VpcId               : vpc-da0013b3
Tags                : {}
```

Untuk menentukan izin untuk lalu lintas masuk pada TCP port 22 (SSH) dan TCP port 3389, gunakan cmdlet `New-Object`. Contoh skrip berikut menjabarkan izin untuk TCP port 22 dan 3389 dari alamat IP tunggal, `203.0.113.25/32`.

```
$ip1 = new-object Amazon.EC2.Model.IpPermission 
$ip1.IpProtocol = "tcp" 
$ip1.FromPort = 22 
$ip1.ToPort = 22 
$ip1.IpRanges.Add("203.0.113.25/32") 
$ip2 = new-object Amazon.EC2.Model.IpPermission 
$ip2.IpProtocol = "tcp" 
$ip2.FromPort = 3389 
$ip2.ToPort = 3389 
$ip2.IpRanges.Add("203.0.113.25/32") 
Grant-EC2SecurityGroupIngress -GroupId $groupid -IpPermissions @( $ip1, $ip2 )
```

Untuk memverifikasi grup keamanan telah diperbarui, gunakan cmdlet `Get-EC2SecurityGroup` lagi.

```
PS > Get-EC2SecurityGroup -GroupIds sg-5d293231

OwnerId             : 123456789012
GroupName           : myPSSecurityGroup
GroupId             : sg-5d293231
Description         : EC2-VPC from PowerShell
IpPermissions       : {Amazon.EC2.Model.IpPermission}
IpPermissionsEgress : {Amazon.EC2.Model.IpPermission}
VpcId               : vpc-da0013b3
Tags                : {}
```

Untuk melihat aturan inbound, Anda dapat mengambil proeprti `IpPermissions` dari objek pengambilan yang dikembalikan oleh perintah sebelumnya.

```
PS > (Get-EC2SecurityGroup -GroupIds sg-5d293231).IpPermissions

IpProtocol       : tcp
FromPort         : 22
ToPort           : 22
UserIdGroupPairs : {}
IpRanges         : {203.0.113.25/32}

IpProtocol       : tcp
FromPort         : 3389
ToPort           : 3389
UserIdGroupPairs : {}
IpRanges         : {203.0.113.25/32}
```

# Temukan Gambar Mesin Amazon Menggunakan Windows PowerShell
<a name="pstools-ec2-get-amis"></a>

Saat meluncurkan EC2 instans Amazon, Anda menentukan Amazon Machine Image (AMI) untuk dijadikan template instance. Namun, IDs untuk AWS Windows sering AMIs berubah karena AWS menyediakan pembaruan terbaru dan peningkatan keamanan terbaru. AMIs Anda dapat menggunakan [Get-EC2Image](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-EC2Image.html)cmdlet untuk menemukan Windows saat ini AMIs dan mendapatkannya. IDs

## Get-EC2Image
<a name="pstools-ec2-get-image"></a>

`Get-EC2Image`Cmdlet mengambil daftar yang dapat Anda AMIs gunakan.

Gunakan `-Owner` parameter dengan nilai array `amazon, self` sehingga hanya `Get-EC2Image` mengambil AMIs yang milik Amazon atau milik Anda. Dalam konteks ini, *Anda* merujuk ke pengguna yang kredensialnya Anda gunakan untuk membuka cmdlet.

```
PS > Get-EC2Image -Owner amazon, self
```

Anda dapat melihat hasilnya menggunakan parameter `-Filter`. Untuk menentukan filter, buat objek jenis `Amazon.EC2.Model.Filter`. Misalnya, gunakan filter berikut untuk hanya menampilkan Windows AMIs.

```
$platform_values = New-Object 'collections.generic.list[string]'
$platform_values.add("windows")
$filter_platform = New-Object Amazon.EC2.Model.Filter -Property @{Name = "platform"; Values = $platform_values}
Get-EC2Image -Owner amazon, self -Filter $filter_platform
```

Berikut ini adalah contoh dari salah satu yang AMIs dikembalikan oleh cmdlet; output aktual dari perintah sebelumnya memberikan informasi bagi banyak orang. AMIs

```
Architecture        : x86_64
BlockDeviceMappings : {/dev/sda1, xvdca, xvdcb, xvdcc…}
CreationDate        : 2019-06-12T10:41:31.000Z
Description         : Microsoft Windows Server 2019 Full Locale English with SQL Web 2017 AMI provided by Amazon
EnaSupport          : True
Hypervisor          : xen
ImageId             : ami-000226b77608d973b
ImageLocation       : amazon/Windows_Server-2019-English-Full-SQL_2017_Web-2019.06.12
ImageOwnerAlias     : amazon
ImageType           : machine
KernelId            : 
Name                : Windows_Server-2019-English-Full-SQL_2017_Web-2019.06.12
OwnerId             : 801119661308
Platform            : Windows
ProductCodes        : {}
Public              : True
RamdiskId           : 
RootDeviceName      : /dev/sda1
RootDeviceType      : ebs
SriovNetSupport     : simple
State               : available
StateReason         : 
Tags                : {}
VirtualizationType  : hvm
```

**catatan**  
Versi 4 dari `Get-EC2ImageByName` cmdlet yang Alat AWS untuk PowerShell disediakan untuk memfilter daftar AMIs berdasarkan pola nama. Untuk versi 5 alat, gunakan cmdlet [Get- SSMLatest EC2 Image](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-SSMLatestEC2Image.html) sebagai gantinya.

# Luncurkan EC2 Instans Amazon Menggunakan Windows PowerShell
<a name="pstools-ec2-launch"></a>

Untuk meluncurkan EC2 instans Amazon, Anda memerlukan key pair dan grup keamanan yang Anda buat di bagian sebelumnya. Anda juga memerlukan ID dari Amazon Machine Image (AMI). Untuk informasi lebih lanjut, lihat dokumentasi berikut ini:
+  [Membuat Pasangan Kunci](pstools-ec2-keypairs.md) 
+  [Buat Grup Keamanan Menggunakan Windows PowerShell](pstools-ec2-sg.md) 
+  [Temukan Gambar Mesin Amazon Menggunakan Windows PowerShell](pstools-ec2-get-amis.md) 

**penting**  
Jika Anda meluncurkan sebuah instans yang tidak berada dalam Tingkat Gratis, Anda akan ditagih setelah Anda meluncurkan instans dan dikenai biaya selama instans tersebut berjalan, meskipun instans dalam posisi siaga.

**Topics**
+ [Meluncurkan Instans di VPC](#new-ec2instance-vpc)
+ [Meluncurkan Instans Spot di VPC](#new-ec2instance-spot)

## Meluncurkan Instans di VPC
<a name="new-ec2instance-vpc"></a>

**Awas**  
EC2-Classic pensiun pada 15 Agustus 2022. Kami menyarankan Anda bermigrasi dari EC2 -Classic ke VPC. Untuk informasi lebih lanjut, lihat posting blog [EC2-Jaringan Klasik Pensiun - Inilah Cara Mempersiapkan](https://aws.amazon.com/blogs/aws/ec2-classic-is-retiring-heres-how-to-prepare/).

Perintah berikut membuat satu instans `m1.small` di subnet privat yang ditentukan. Grup keamanan harus berlaku untuk subnet yang ditentukan.

```
PS > New-EC2Instance `
    -ImageId ami-c49c0dac `
    -MinCount 1 -MaxCount 1 `
    -KeyName myPSKeyPair `
    -SecurityGroupId sg-5d293231 `
    -InstanceType m1.small `
    -SubnetId subnet-d60013bf

ReservationId   : r-b70a0ef1
OwnerId         : 123456789012
RequesterId     :
Groups          : {}
GroupName       : {}
Instances       : {}
```

Instans Anda awalnya ada dalam keadaan `pending`, tetapi setelah beberapa menit kemudian dalam keadaan `running`. Untuk melihat informasi tentang instans Anda, gunakan cmdlet `Get-EC2Instance`. Jika Anda memiliki lebih dari satu instans, Anda dapat mem-filter hasil pada ID reservasi menggunakan parameter `Filter`. Pertama, buat obyek tipe `Amazon.EC2.Model.Filter`. Selanjutnya, panggil `Get-EC2Instance` yang menggunakan filter, dan kemudian tampilkan properti `Instances`.

```
PS > $reservation = New-Object 'collections.generic.list[string]'
PS > $reservation.add("r-b70a0ef1")
PS > $filter_reservation = New-Object Amazon.EC2.Model.Filter -Property @{Name = "reservation-id"; Values = $reservation}
PS > (Get-EC2Instance -Filter $filter_reservation).Instances

AmiLaunchIndex        : 0
Architecture          : x86_64
BlockDeviceMappings   : {/dev/sda1}
ClientToken           :
EbsOptimized          : False
Hypervisor            : xen
IamInstanceProfile    :
ImageId               : ami-c49c0dac
InstanceId            : i-5203422c
InstanceLifecycle     :
InstanceType          : m1.small
KernelId              :
KeyName               : myPSKeyPair
LaunchTime            : 12/2/2018 3:38:52 PM
Monitoring            : Amazon.EC2.Model.Monitoring
NetworkInterfaces     : {}
Placement             : Amazon.EC2.Model.Placement
Platform              : Windows
PrivateDnsName        :
PrivateIpAddress      : 10.25.1.11
ProductCodes          : {}
PublicDnsName         :
PublicIpAddress       : 198.51.100.245
RamdiskId             :
RootDeviceName        : /dev/sda1
RootDeviceType        : ebs
SecurityGroups        : {myPSSecurityGroup}
SourceDestCheck       : True
SpotInstanceRequestId :
SriovNetSupport       :
State                 : Amazon.EC2.Model.InstanceState
StateReason           :
StateTransitionReason :
SubnetId              : subnet-d60013bf
Tags                  : {}
VirtualizationType    : hvm
VpcId                 : vpc-a01106c2
```

## Meluncurkan Instans Spot di VPC
<a name="new-ec2instance-spot"></a>

Contoh skrip berikut meminta Instans Spot di subnet yang ditentukan. Grup keamanan harus menjadi salah satu yang Anda buat untuk VPC yang berisi subnet yang ditentukan.

```
$interface1 = New-Object Amazon.EC2.Model.InstanceNetworkInterfaceSpecification
$interface1.DeviceIndex = 0
$interface1.SubnetId = "subnet-b61f49f0"
$interface1.PrivateIpAddress = "10.0.1.5"
$interface1.Groups.Add("sg-5d293231")
Request-EC2SpotInstance `
    -SpotPrice 0.007 `
    -InstanceCount 1 `
    -Type one-time `
    -LaunchSpecification_ImageId ami-7527031c `
    -LaunchSpecification_InstanceType m1.small `
    -Region us-west-2 `
    -LaunchSpecification_NetworkInterfaces $interface1
```

# AWS Lambda dan Alat AWS untuk PowerShell
<a name="pstools-lambda"></a>

Dengan menggunakan [AWSLambdaPSCore](https://www.powershellgallery.com/packages/AWSLambdaPSCore)modul, Anda dapat mengembangkan AWS Lambda fungsi di PowerShell Core 6.0 menggunakan runtime .NET Core 2.1. PowerShell pengembang dapat mengelola AWS sumber daya dan menulis skrip otomatisasi di PowerShell lingkungan dengan menggunakan Lambda. PowerShell dukungan di Lambda memungkinkan Anda menjalankan PowerShell skrip atau fungsi sebagai respons terhadap peristiwa Lambda apa pun, seperti acara Amazon S3 atau acara terjadwal Amazon. CloudWatch AWSLambdaPSCore Modul ini adalah AWS modul terpisah untuk PowerShell; itu bukan bagian dari Alat AWS untuk PowerShell, juga tidak menginstal AWSLambda PSCore modul menginstal Alat AWS untuk PowerShell.

Setelah Anda menginstal AWSLambda PSCore modul, Anda dapat menggunakan PowerShell cmdlet yang tersedia — atau mengembangkan sendiri — untuk membuat fungsi tanpa server. Alat AWS Lambda untuk PowerShell modul mencakup templat proyek untuk aplikasi tanpa server PowerShell berbasis, dan alat untuk mempublikasikan proyek. AWS

AWSLambdaPSCore dukungan modul tersedia di semua wilayah yang mendukung Lambda. Untuk informasi selengkapnya tentang wilayah yang didukung, lihat [tabel wilayah AWS](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/).

## Prasyarat
<a name="prerequisites"></a>

Langkah-langkah berikut diperlukan sebelum Anda dapat menginstal dan menggunakan AWSLambda PSCore modul. Untuk detail selengkapnya tentang langkah-langkah ini, lihat [Menyiapkan Lingkungan PowerShell Pengembangan](https://docs.aws.amazon.com/lambda/latest/dg/lambda-powershell-setup-dev-environment.html) di Panduan AWS Lambda Pengembang.
+  **Instal rilis yang benar PowerShell** — Dukungan Lambda untuk PowerShell didasarkan pada rilis PowerShell Core 6.0 lintas platform. Anda dapat mengembangkan fungsi PowerShell Lambda di Windows, Linux, atau Mac. Jika Anda tidak PowerShell menginstal setidaknya rilis ini, instruksi tersedia di situs [web PowerShell dokumentasi Microsoft](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell).
+  **Instal .NET Core 2.1 SDK** — Karena PowerShell Core didasarkan pada .NET Core, dukungan Lambda PowerShell untuk menggunakan runtime .NET Core 2.1 Lambda yang sama untuk fungsi.NET Core dan Lambda. PowerShell Cmdlet PowerShell penerbitan Lambda menggunakan .NET Core 2.1 SDK untuk membuat paket penyebaran Lambda. .NET Core 2.1 SDK tersedia dari [Pusat Unduhan Microsoft](https://www.microsoft.com/net/download). Pastikan untuk menginstal SDK, bukan Runtime.

## Instal AWSLambda PSCore Modul
<a name="install-the-awslambdapscore-module"></a>

Setelah menyelesaikan prasyarat, Anda siap untuk menginstal modul. AWSLambda PSCore Jalankan perintah berikut dalam sesi PowerShell Core.

```
PS> Install-Module AWSLambdaPSCore -Scope CurrentUser
```

Anda siap untuk mulai mengembangkan fungsi Lambda di. PowerShell Untuk informasi selengkapnya tentang cara memulai, lihat [Model Pemrograman untuk Menulis Fungsi Lambda PowerShell](https://docs.aws.amazon.com/lambda/latest/dg/powershell-programming-model.html) di Panduan AWS Lambda Pengembang.

## Lihat Juga
<a name="see-also"></a>
+  [Mengumumkan PowerShell Dukungan Lambda untuk Core AWS di Blog Pengembang](https://aws.amazon.com/blogs/developer/announcing-lambda-support-for-powershell-core/) 
+  [AWSLambdaPSCore modul di situs PowerShell Galeri](https://www.powershellgallery.com/packages/AWSLambdaPSCore/1.0.0.2) 
+  [Menyiapkan Lingkungan PowerShell Pembangunan](https://docs.aws.amazon.com/lambda/latest/dg/lambda-powershell-setup-dev-environment.html) 
+ [AWS Alat Lambda untuk Powershell aktif GitHub](https://github.com/aws/aws-lambda-dotnet/tree/master/PowerShell)
+  [AWS Konsol Lambda](https://console.aws.amazon.com/lambda/home) 

# Amazon SQS, Amazon SNS dan Alat untuk Windows PowerShell
<a name="pstools-sqs-queue-sns-topic"></a>

Bagian ini menyajikan contoh yang menunjukkan cara:
+ Membuat antrean Amazon SQS dan mendapatkan antrean ARN (Amazon Resource Name).
+ Membuat topik Amazon SNS.
+ Memberikan izin untuk topik Amazon SNS sehingga dapat mengirim pesan ke antrean.
+ Berlangganan antrean ke topik SNS
+ Berikan izin kepada pengguna atau AWS akun IAM untuk mempublikasikan ke topik SNS dan membaca pesan dari antrian SQS.
+ Memverifikasi hasil dengan menerbitkan pesan ke topik dan membaca pesan dari antrean.

## Membuat antrean Amazon SQS dan mendapatkan ARN antrean
<a name="pstools-create-sqs-queue"></a>

Perintah berikut membuat antrean SQS di wilayah default Anda. Output menunjukkan URL dari antrean baru.

```
PS > New-SQSQueue -QueueName myQueue
https://sqs.us-west-2.amazonaws.com/123456789012/myQueue
```

Perintah berikut mengambil ARN antrean.

```
PS > Get-SQSQueueAttribute -QueueUrl https://sqs.us-west-2.amazonaws.com/123456789012/myQueue -AttributeName QueueArn
...
QueueARN               : arn:aws:sqs:us-west-2:123456789012:myQueue
...
```

## Membuat topik Amazon SNS
<a name="pstools-create-sns-topic"></a>

Perintah berikut membuat topik SNS di wilayah default Anda, dan mengembalikan ARN topik baru.

```
PS > New-SNSTopic -Name myTopic
arn:aws:sns:us-west-2:123456789012:myTopic
```

## Memberikan izin untuk topik SNS
<a name="pstools-permissions-sns-topic"></a>

Skrip contoh berikut membuat antrean SQS dan topik SNS, dan memberikan izin untuk topik SNS sehingga dapat mengirim pesan ke antrean SQS:

```
# create the queue and topic to be associated
$qurl = New-SQSQueue -QueueName "myQueue"
$topicarn = New-SNSTopic -Name "myTopic"

# get the queue ARN to inject into the policy; it will be returned
# in the output's QueueARN member but we need to put it into a variable
# so text expansion in the policy string takes effect
$qarn = (Get-SQSQueueAttribute -QueueUrl $qurl -AttributeNames "QueueArn").QueueARN

# construct the policy and inject arns
$policy = @"
{
    "Version": "2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Principal": "*",
        "Action": "SQS:SendMessage",
        "Resource": "$qarn",
        "Condition": { "ArnEquals": { "aws:SourceArn": "$topicarn" } }
    }
}
"@

# set the policy
Set-SQSQueueAttribute -QueueUrl $qurl -Attribute @{ Policy=$policy }
```

## Berlangganan antrean ke topik SNS
<a name="pstools-subscribe-queue-topic"></a>

Perintah berikut berlangganan antrian `myQueue` ke topik SNS `myTopic`, dan mengembalikan ID Langganan:

```
PS > Connect-SNSNotification `
    -TopicARN arn:aws:sns:us-west-2:123456789012:myTopic `
    -Protocol SQS `
    -Endpoint arn:aws:sqs:us-west-2:123456789012:myQueue
arn:aws:sns:us-west-2:123456789012:myTopic:f8ff77c6-e719-4d70-8e5c-a54d41feb754
```

## Verifikasi izin
<a name="pstools-permissions-publish-read"></a>

Perintah berikut memberikan izin untuk melakukan tindakan `sns:Publish` pada topik `myTopic`

```
PS > Add-SNSPermission `
    -TopicArn arn:aws:sns:us-west-2:123456789012:myTopic `
    -Label ps-cmdlet-topic `
    -AWSAccountIds 123456789012 `
    -ActionNames publish
```

Perintah berikut memberikan izin untuk melakukan tindakan `sqs:ReceiveMessage` dan `sqs:DeleteMessage` pada antrean `myQueue`.

```
PS > Add-SQSPermission `
    -QueueUrl https://sqs.us-west-2.amazonaws.com/123456789012/myQueue `
    -AWSAccountId "123456789012" `
    -Label queue-permission `
    -ActionName SendMessage, ReceiveMessage
```

## Verifikasi hasil
<a name="pstools-verify-publish-read"></a>

Perintah berikut menguji antrean dan topik baru Anda dengan menerbitkan pesan ke topik SNS `myTopic` dan mengembalikan `MessageId`.

```
PS > Publish-SNSMessage `
    -TopicArn arn:aws:sns:us-west-2:123456789012:myTopic `
    -Message "Have A Nice Day!"
728180b6-f62b-49d5-b4d3-3824bb2e77f4
```

Perintah berikut mengambil pesan dari antrean SQS `myQueue` dan menampilkannya.

```
PS > Receive-SQSMessage -QueueUrl https://sqs.us-west-2.amazonaws.com/123456789012/myQueue

Attributes             : {}
Body                   : {
                           "Type" : "Notification",
                           "MessageId" : "491c687d-b78d-5c48-b7a0-3d8d769ee91b",
                           "TopicArn" : "arn:aws:sns:us-west-2:123456789012:myTopic",
                           "Message" : "Have A Nice Day!",
                           "Timestamp" : "2019-09-09T21:06:27.201Z",
                           "SignatureVersion" : "1",
                           "Signature" : "llE17A2+XOuJZnw3TlgcXz4C4KPLXZxbxoEMIirelhl3u/oxkWmz5+9tJKFMns1ZOqQvKxk+ExfEZcD5yWt6biVuBb8pyRmZ1bO3hUENl3ayv2WQiQT1vpLpM7VEQN5m+hLIiPFcs
                         vyuGkJReV7lOJWPHnCN+qTE2lId2RPkFOeGtLGawTsSPTWEvJdDbLlf7E0zZ0q1niXTUtpsZ8Swx01X3QO6u9i9qBFt0ekJFZNJp6Avu05hIklb4yoRs1IkbLVNBK/y0a8Yl9lWp7a7EoWaBn0zhCESe7o
                         kZC6ncBJWphX7KCGVYD0qhVf/5VDgBuv9w8T+higJyvr3WbaSvg==",
                           "SigningCertURL" : "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-6aad65c2f9911b05cd53efda11f913f9.pem",
                           "UnsubscribeURL" : 
                         "https://sns.us-west-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-west-2:123456789012:myTopic:22b77de7-a216-4000-9a23-bf465744ca84"
                         }
MD5OfBody              : 5b5ee4f073e9c618eda3718b594fa257
MD5OfMessageAttributes : 
MessageAttributes      : {}
MessageId              : 728180b6-f62b-49d5-b4d3-3824bb2e77f4
ReceiptHandle          : AQEB2vvk1e5cOKFjeIWJticabkc664yuDEjhucnIOqdVUmie7bX7GiJbl7F0enABUgaI2XjEcNPxixhVc/wfsAJZLNHnl8SlbQa0R/kD+Saqa4OIvfj8x3M4Oh1yM1cVKpYmhAzsYrAwAD5g5FvxNBD6zs
                         +HmXdkax2Wd+9AxrHlQZV5ur1MoByKWWbDbsqoYJTJquCclOgWIak/sBx/daBRMTiVQ4GHsrQWMVHtNC14q7Jy/0L2dkmb4dzJfJq0VbFSX1G+u/lrSLpgae+Dfux646y8yFiPFzY4ua4mCF/SVUn63Spy
                         sHN12776axknhg3j9K/Xwj54DixdsegnrKoLx+ctI+0jzAetBR66Q1VhIoJAq7s0a2MseyOeM/Jjucg6Sr9VUnTWVhV8ErXmotoiEg==
```

# CloudWatch dari AWS Tools for Windows PowerShell
<a name="pstools-cw"></a>

Bagian ini menunjukkan contoh cara menggunakan Alat untuk Windows PowerShell untuk mempublikasikan data metrik kustom ke CloudWatch.

Contoh ini mengasumsikan bahwa Anda telah menetapkan kredensi default dan wilayah default untuk sesi Anda. PowerShell 

## Publikasikan Metrik Kustom ke CloudWatch Dasbor Anda
<a name="pstools-cw-custom-metric-publish"></a>

 PowerShell Kode berikut menginisialisasi CloudWatch `MetricDatum` objek dan mempostingnya ke layanan. [Anda dapat melihat hasil operasi ini dengan menavigasi ke konsol. CloudWatch ](https://console.aws.amazon.com/cloudwatch/home)

```
$dat = New-Object Amazon.CloudWatch.Model.MetricDatum
$dat.Timestamp = (Get-Date).ToUniversalTime()
$dat.MetricName = "New Posts"
$dat.Unit = "Count"
$dat.Value = ".50"
Write-CWMetricData -Namespace "Usage Metrics" -MetricData $dat
```

Perhatikan hal-hal berikut:
+ Informasi tanggal-waktu yang Anda gunakan untuk menginisialisasi `$dat.Timestamp` harus dalam Waktu Universal (UTC).
+ Nilai yang Anda gunakan untuk menginisialisasi `$dat.Value` dapat berupa nilai string yang diberi tanda kutip, atau nilai numerik (tanpa tanda kutip). Contoh ini menunjukkan nilai string.

## Lihat Juga
<a name="see-also"></a>
+  [AWS Layanan panggilan di Alat AWS untuk PowerShell](pstools-using.md) 
+  [AmazonCloudWatchClient. PutMetricData](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudWatch/MCloudWatchPutMetricDataPutMetricDataRequest.html)(.NET SDK Referensi)
+  [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)(Referensi API Layanan)
+  [ CloudWatch Konsol Amazon](https://console.aws.amazon.com/cloudwatch/home) 

# Menggunakan ClientConfig parameter dalam cmdlet
<a name="pstools-clientconfig"></a>

`ClientConfig`Parameter dapat digunakan untuk menentukan pengaturan konfigurasi tertentu ketika Anda terhubung ke layanan. Sebagian besar properti yang mungkin dari parameter ini didefinisikan di [https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TClientConfig.html](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TClientConfig.html)kelas, yang diwarisi ke APIs untuk AWS layanan. Untuk contoh pewarisan sederhana, lihat [https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Keyspaces/TKeyspacesConfig.html](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Keyspaces/TKeyspacesConfig.html)kelasnya. Selain itu, beberapa layanan mendefinisikan properti tambahan yang hanya sesuai untuk layanan itu. Untuk contoh properti tambahan yang telah didefinisikan, lihat [https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/S3/TS3Config.html](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/S3/TS3Config.html)kelas, khususnya `ForcePathStyle` properti.

## Menggunakan `ClientConfig` parameter
<a name="clientconfig-operation"></a>

Untuk menggunakan `ClientConfig` parameter, Anda dapat menentukannya pada baris perintah sebagai `ClientConfig` objek atau menggunakan PowerShell percikan untuk meneruskan kumpulan nilai parameter ke perintah sebagai unit. Metode-metode ini ditunjukkan dalam contoh berikut. Contoh mengasumsikan bahwa `AWS.Tools.S3` modul telah diinstal dan diimpor, dan bahwa Anda memiliki profil `[default]` kredensional dengan izin yang sesuai.

******Mendefinisikan objek `ClientConfig`**

```
$s3Config = New-Object -TypeName Amazon.S3.AmazonS3Config
$s3Config.ForcePathStyle = $true
$s3Config.Timeout = [TimeSpan]::FromMilliseconds(150000)
Get-S3Object -BucketName <BUCKET_NAME> -ClientConfig $s3Config
```

**Menambahkan `ClientConfig` properti dengan menggunakan PowerShell percikan**

```
$params=@{
    ClientConfig=@{
        ForcePathStyle=$true
        Timeout=[TimeSpan]::FromMilliseconds(150000)
    }
    BucketName="<BUCKET_NAME>"
}

Get-S3Object @params
```

## Menggunakan properti yang tidak ditentukan
<a name="clientconfig-undefined"></a>

Saat menggunakan PowerShell percikan, jika Anda menentukan `ClientConfig` properti yang tidak ada, Alat AWS untuk PowerShell tidak mendeteksi kesalahan hingga runtime, pada saat itu ia mengembalikan pengecualian. Memodifikasi contoh dari atas:

```
$params=@{
    ClientConfig=@{
        ForcePathStyle=$true
        UndefinedProperty="Value"
        Timeout=[TimeSpan]::FromMilliseconds(150000)
    }
    BucketName="<BUCKET_NAME>"
}

Get-S3Object @params
```

Contoh ini menghasilkan pengecualian yang mirip dengan berikut ini:

```
Cannot bind parameter 'ClientConfig'. Cannot create object of type "Amazon.S3.AmazonS3Config". The UndefinedProperty property was not found for the Amazon.S3.AmazonS3Config object.
```

## Menentukan Wilayah AWS
<a name="clientconfig-region"></a>

Anda dapat menggunakan `ClientConfig` parameter Wilayah AWS untuk mengatur perintah. Wilayah diatur melalui `RegionEndpoint` properti. Alat AWS untuk PowerShell Menghitung Wilayah yang akan digunakan sesuai dengan prioritas berikut:

1. `-Region`Parameternya

1. Wilayah dilewatkan dalam `ClientConfig` parameter

1. Keadaan PowerShell sesi

1.  AWS `config`File yang dibagikan

1. Variabel lingkungan

1. Metadata EC2 instans Amazon, jika diaktifkan.