AWS IoT Greengrass Version 1 memasuki fase umur panjang pada 30 Juni 2023. Untuk informasi selengkapnya, lihat kebijakan AWS IoT Greengrass V1 pemeliharaan. Setelah tanggal ini, tidak AWS IoT Greengrass V1 akan merilis pembaruan yang menyediakan fitur, penyempurnaan, perbaikan bug, atau patch keamanan. Perangkat yang berjalan AWS IoT Greengrass V1 tidak akan terganggu dan akan terus beroperasi dan terhubung ke cloud. Kami sangat menyarankan Anda bermigrasi ke AWS IoT Greengrass Version 2, yang menambahkan fitur baru yang signifikan dan dukungan untuk platform tambahan.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konektor Umpan balik ML
Awas
Konektor ini telah pindah kefase kehidupan yang diperpanjang, danAWS IoT Greengrasstidak akan merilis pembaruan yang menyediakan fitur, penyempurnaan pada fitur yang ada, tambalan keamanan, atau perbaikan bug. Untuk informasi selengkapnya, lihat AWS IoT Greengrass Version 1kebijakan pemeliharaan.
Konektor Umpan balik ML memudahkan Anda mengakses data model machine learning (ML) untuk pelatihan ulang dan analisis model. Konektor:
Unggah data input (sampel) yang digunakan oleh model ML Anda ke Amazon S3. Model input dapat dalam format apa pun, seperti gambar, JSON, atau audio. Setelah sampel diunggah ke cloud, Anda dapat menggunakannya untuk melatih model untuk meningkatkan akurasi dan ketepatan prediksi. Sebagai contoh, Anda dapat menggunakan SageMaker Ground Truth untuk melabeli sampel Anda dan SageMaker untuk melatih kembali model.
Menerbitkan hasil prediksi dari model sebagai pesan MQTT. Hal ini memungkinkan Anda memantau dan menganalisis kualitas inferensi model Anda secara real time. Anda juga dapat menyimpan hasil prediksi dan menggunakannya untuk menganalisis tren dari waktu ke waktu.
Menerbitkan metrik tentang sampel unggahan dan data sampel ke Amazon CloudWatch.
Untuk mengonfigurasi konektor ini, Anda menjelaskan dukungan Anda konfigurasi umpan balik dalam format JSON. Sebuah konfigurasi umpan balik mendefinisikan properti seperti tujuan bucket Amazon S3, jenis konten, dan strategi sampling. (Strategi pengambilan sampel digunakan untuk menentukan sampel mana yang akan diunggah.)
Anda dapat menggunakan konektor Umpan balik ML dalam skenario berikut:
-
Dengan fungsi Lambda yang ditetapkan pengguna. Fungsi Lambda inferensi lokal Anda menggunakan Machine Learning SDK AWS IoT Greengrass untuk memanggil konektor ini dan lulus dalam konfigurasi umpan balik target, input model, dan output model (hasil prediksi). Sebagai contoh, lihat Contoh Penggunaan.
-
Dengan konektor Klasifikasi Citra ML (v2). Untuk menggunakan konektor ini dengan konektor Klasifikasi Citra ML, konfigurasikan parameter
MLFeedbackConnectorConfigId
untuk konektor Klasifikasi Citra ML. -
Dengan konektor Deteksi Objek ML. Untuk menggunakan konektor ini dengan konektor Deteksi Objek ML, konfigurasikan parameter
MLFeedbackConnectorConfigId
untuk konektor Deteksi Objek ML.
ARN: arn:aws:greengrass:
region
::/connectors/MLFeedback/versions/1
Persyaratan
Konektor ini memiliki persyaratan sebagai berikut:
-
AWS IoT Greengrass perangkat lunak Core v1.9.3 atau yang lebih baru.
-
Python
versi 3.7 atau 3.8 diinstal pada perangkat core dan ditambahkan ke variabel lingkungan PATH. catatan
Untuk menggunakan Python 3.8, jalankan perintah berikut untuk membuat link simbolik dari folder instalasi default Python 3.7 ke binari Python 3.8 yang diinstal.
sudo ln -s
path-to-python-3.8
/python3.8 /usr/bin/python3.7Ini mengonfigurasi perangkat Anda untuk memenuhi persyaratan Python untuk AWS IoT Greengrass.
-
Satu atau lebih bucket Amazon S3. Jumlah bucket yang Anda gunakan tergantung pada strategi pengambilan sampel Anda.
-
Peran grup Greengrass dikonfigurasi untuk mengizinkan
s3:PutObject
tindakan pada objek dalam tujuan bucket Amazon S3, seperti yang ditunjukkan dalam contoh kebijakan IAM berikut.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::
bucket-name
/*" ] } ] }Kebijakan harus mencakup semua bucket tujuan sebagai sumber. Anda dapat memberikan akses terperinci atau bersyarat ke sumber daya (sebagai contoh, dengan menggunakan skema penamaan wildcard *).
Untuk persyaratan peran grup, Anda harus mengonfigurasi peran untuk memberikan izin yang diperlukan dan memastikan peran telah ditambahkan ke grup. Untuk informasi lebih lanjut, lihat Mengelola peran grup Greengrass (konsol) atau Mengelola peran grup Greengrass (CLI).
-
Konektor Metrik CloudWatch ditambahkan ke grup Greengrass dan dikonfigurasi. Hal ini diperlukan hanya jika Anda ingin menggunakan fitur pelaporan metrik.
-
AWS IoT Greengrass Machine Learning SDK v1.1.0 diperlukan untuk berinteraksi dengan konektor ini.
Parameter
FeedbackConfigurationMap
-
Satu set dari satu atau lebih konfigurasi umpan balik yang konektor dapat gunakan untuk mengunggah sampel ke Amazon S3. Konfigurasi umpan balik mendefinisikan parameter seperti bucket tujuan, jenis konten, dan strategi pengambilan sampel. Ketika konektor ini dipanggil, memanggil fungsi Lambda atau konektor menentukan konfigurasi umpan balik target.
Nama tampilanAWS IoTKonsol: Peta konfigurasi umpan balik
Wajib:
true
Jenis: Sebuah string JSON terbentuk yang mendefinisikan himpunan konfigurasi umpan balik yang didukung. Sebagai contoh, lihat Contoh FeedBackConfigurationMap.
-
ID objek konfigurasi umpan balik memiliki persyaratan sebagai berikut.
-
ID:
Harus unik dalam seluruh objek konfigurasi.
Harus mulai dengan angka atau huruf kecil. Dapat berisi huruf kecil dan huruf besar, angka, dan tanda hubung.
Panjangnya harus 2 - 63 karakter.
Wajib:
true
Jenis:
string
Pola yang valid:
^[a-zA-Z0-9][a-zA-Z0-9-]{1,62}$
Contoh:
MyConfig0
,config-a
,12id
Tubuh objek konfigurasi umpan balik berisi properti berikut.
s3-bucket-name
-
Nama bucket Amazon S3 tujuan.
catatan
Peran grup harus mengizinkan tindakan
s3:PutObject
pada semua bucket tujuan. Untuk informasi selengkapnya, lihat Persyaratan.Wajib:
true
Jenis:
string
Pola yang valid:
^[a-z0-9\.\-]{3,63}$
content-type
-
Jenis konten sampel untuk diunggah. Semua konten untuk konfigurasi umpan balik individu harus dari jenis yang sama.
Wajib:
true
Jenis:
string
Contoh:
image/jpeg
,application/json
,audio/ogg
s3-prefix
-
Prefiks kunci yang digunakan untuk sampel yang diunggah. Prefix serupa dengan nama direktori. Itu mengizinkan menyimpan data serupa di bawah direktori yang sama di bucket. Untuk informasi selengkapnya, lihatKunci dan metadata objekdiPanduan Pengguna Amazon Simple Storage Service.
Wajib:
false
Jenis:
string
file-ext
-
Ekstensi file yang digunakan untuk sampel yang diunggah. Harus ekstensi file yang valid untuk jenis konten.
Wajib:
false
Jenis:
string
Contoh:
jpg
,json
,ogg
sampling-strategy
-
Untuk Strategi sampling yang digunakan untuk memfilter sampel yang diunggah. Jika dihilangkan, konektor mencoba untuk mengunggah semua sampel yang diterimanya.
Wajib:
false
Jenis: Sebuah string JSON terbentuk yang berisi properti berikut.
strategy-name
-
Nama strategi sampling.
Wajib:
true
Jenis:
string
Nilai yang valid:
RANDOM_SAMPLING
,LEAST_CONFIDENCE
,MARGIN
, atauENTROPY
rate
-
Tingkat untuk strategi sampling acak.
Wajib:
true
jikastrategy-name
adalahRANDOM_SAMPLING
.Tipe:
number
Nilai yang valid:
0.0 - 1.0
threshold
-
Ambang batas untuk KepercayaanTerkecil, Margin, atau Entropi strategi sampling.
Wajib:
true
jikastrategy-name
adalahLEAST_CONFIDENCE
,MARGIN
, atauENTROPY
.Tipe:
number
Nilai yang valid:
-
0.0 - 1.0
untukLEAST_CONFIDENCE
atauMARGIN
strategi. -
0.0 - no limit
untukENTROPY
strategi.
-
RequestLimit
-
Jumlah maksimum permintaan yang dapat diproses konektor pada satu waktu.
Anda dapat menggunakan parameter ini untuk membatasi konsumsi memori dengan membatasi jumlah permintaan yang konektor proses pada ketika yang sama. Permintaan yang melebihi batas ini diabaikan.
Nama tampilanAWS IoTKonsol: Batas permintaan
Wajib:
false
Jenis:
string
Nilai yang valid:
0 - 999
Pola yang valid:
^$|^[0-9]{1,3}$
Buat Contoh Konektor (AWS CLI)
Perintah CLI berikut membuat ConnectorDefinition
dengan versi awal yang berisi konektor Umpan balik ML.
aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{ "Connectors": [ { "Id": "MyMLFeedbackConnector", "ConnectorArn": "arn:aws:greengrass:
region
::/connectors/MLFeedback/versions/1", "Parameters": { "FeedbackConfigurationMap": "{ \"RandomSamplingConfiguration\": { \"s3-bucket-name\": \"my-aws-bucket-random-sampling\", \"content-type\": \"image/png\", \"file-ext\": \"png\", \"sampling-strategy\": { \"strategy-name\": \"RANDOM_SAMPLING\", \"rate\": 0.5 } }, \"LeastConfidenceConfiguration\": { \"s3-bucket-name\": \"my-aws-bucket-least-confidence-sampling\", \"content-type\": \"image/png\", \"file-ext\": \"png\", \"sampling-strategy\": { \"strategy-name\": \"LEAST_CONFIDENCE\", \"threshold\": 0.4 } } }", "RequestLimit": "10" } } ] }'
Contoh FeedBackConfigurationMap
Berikut ini adalah nilai contoh diperluas untuk parameter FeedbackConfigurationMap
ini. Contoh ini mencakup beberapa konfigurasi umpan balik yang menggunakan strategi sampling yang berbeda.
{ "ConfigID1": { "s3-bucket-name": "my-aws-bucket-random-sampling", "content-type": "image/png", "file-ext": "png", "sampling-strategy": { "strategy-name": "RANDOM_SAMPLING", "rate": 0.5 } }, "ConfigID2": { "s3-bucket-name": "my-aws-bucket-margin-sampling", "content-type": "image/png", "file-ext": "png", "sampling-strategy": { "strategy-name": "MARGIN", "threshold": 0.4 } }, "ConfigID3": { "s3-bucket-name": "my-aws-bucket-least-confidence-sampling", "content-type": "image/png", "file-ext": "png", "sampling-strategy": { "strategy-name": "LEAST_CONFIDENCE", "threshold": 0.4 } }, "ConfigID4": { "s3-bucket-name": "my-aws-bucket-entropy-sampling", "content-type": "image/png", "file-ext": "png", "sampling-strategy": { "strategy-name": "ENTROPY", "threshold": 2 } }, "ConfigID5": { "s3-bucket-name": "my-aws-bucket-no-sampling", "s3-prefix": "DeviceA", "content-type": "application/json" } }
Strategi sampling
Konektor mendukung empat strategi sampling yang menentukan apakah akan mengunggah sampel yang dilewatkan ke konektor. Sampel adalah contoh diskrit data yang menggunakan model untuk prediksi. Anda dapat menggunakan strategi sampling untuk memfilter sampel yang paling mungkin untuk meningkatkan akurasi model.
RANDOM_SAMPLING
Mengunggah sampel secara acak berdasarkan tingkat yang disediakan. Mengunggah sampel jika nilai yang dihasilkan secara acak kurang dari tingkat. Semakin tinggi tingkat, semakin banyak sampel yang diunggah.
catatan
Strategi ini mengabaikan prediksi model yang disediakan.
LEAST_CONFIDENCE
Mengunggah sampel yang probabilitas kepercayaan maksimum jatuh di bawah ambang batas yang disediakan.
- Contoh skenario:
-
Ambang batas:
.6
Prediksi model:
[.2, .2, .4, .2]
Keyakinan maksimum probabilitas:
.4
- Hasil:
Gunakan sampel karena probabilitas kepercayaan maksimum (
.4
) <= ambang batas (.6
).
MARGIN
Unggah sampel jika margin antara dua probabilitas kepercayaan jatuh dalam ambang batas yang disediakan. Margin adalah perbedaan antara dua probabilitas teratas.
- Contoh skenario:
-
Ambang batas:
.02
Prediksi model:
[.3, .35, .34, .01]
Top dua probabilitas kepercayaan:
[.35, .34]
Margin:
.01
(.35 - .34
) - Hasil:
-
Gunakan sampel karena margin (
.01
) <= ambang batas (.02
).
ENTROPY
Unggah sampel yang entropi lebih besar dari ambang batas yang disediakan. Gunakan model prediksi entropi dinormalisasi.
- Contoh skenario:
-
Ambang batas:
0.75
Prediksi model:
[.5, .25, .25]
Entropi untuk prediksi:
1.03972
- Hasil:
-
Gunakan sampel karena entropi (
1.03972
) > ambang batas (0.75
).
Data input
Fungsi Lambda yang ditetapkan pengguna menggunakan fungsi publish
dari klien feedback
dalam AWS IoT Greengrass Machine Learning SDK untuk memanggil konektor. Sebagai contoh, lihat Contoh Penggunaan.
catatan
Konektor ini tidak menerima pesan MQTT sebagai data input.
Fungsi publish
mengambil argumen berikut:
- ConfigId
-
ID dari konfigurasi umpan balik target. Ini harus sesuai dengan ID dari konfigurasi umpan balik yang didefinisikan dalam FeedbackConfigurationMap parameter untuk konektor Umpan balik ML.
Wajib: BETUL
Tipe: string
- ModelInput
-
Data input yang dilewatkan ke model untuk inferensi. Data input ini diunggah menggunakan konfigurasi target kecuali disaring berdasarkan strategi sampling.
Wajib: BETUL
Jenis: byte
- ModelPrediction
-
Hasil prediksi dari model. Jenis hasil dapat berupa kamus atau daftar. Sebagai contoh, hasil prediksi dari konektor Klasifikasi Citra ML adalah daftar probabilitas (seperti
[0.25, 0.60, 0.15]
). Data ini diterbitkan ke topik/feedback/message/prediction
ini.Wajib: BETUL
Jenis: kamus atau daftar
float
nilai - Metadata
-
Pelanggan didefinisikan, aplikasi-spesifik metadata yang terlampir pada sampel yang diunggah dan diterbitkan ke
/feedback/message/prediction
Topik. Konektor juga menyisipkan sebuahpublish-ts
kunci dengan nilai timestamp ke metadata.Wajib: SALAH
Jenis: kamus
Contoh:
{"some-key": "some value"}
Data output
Konektor ini menerbitkan data ke tiga topik MQTT:
-
Informasi status dari konektor pada
feedback/message/status
topik. -
Hasil prediksi pada
feedback/message/prediction
topik. -
Metrik ditakdirkan untuk CloudWatch pada
cloudwatch/metric/put
topik.
Anda harus mengonfigurasi langganan untuk mengizinkan konektor berkomunikasi pada topik MQTT. Untuk informasi selengkapnya, lihat Input dan output.
- Filter topik:
feedback/message/status
-
Gunakan topik ini untuk memantau status unggah sampel dan batalkan sampel. Konektor menerbitkan topik ini setiap kali menerima permintaan.
- Contoh output: Pengunggahan sampel berhasil
-
{ "response": { "status": "success", "s3_response": { "ResponseMetadata": { "HostId": "IOWQ4fDEXAMPLEQM+ey7N9WgVhSnQ6JEXAMPLEZb7hSQDASK+Jd1vEXAMPLEa3Km", "RetryAttempts": 1, "HTTPStatusCode": 200, "RequestId": "79104EXAMPLEB723", "HTTPHeaders": { "content-length": "0", "x-amz-id-2": "lbbqaDVFOhMlyU3gRvAX1ZIdg8P0WkGkCSSFsYFvSwLZk3j7QZhG5EXAMPLEdd4/pEXAMPLEUqU=", "server": "AmazonS3", "x-amz-expiration": "expiry-date=\"Wed, 17 Jul 2019 00:00:00 GMT\", rule-id=\"OGZjYWY3OTgtYWI2Zi00ZDllLWE4YmQtNzMyYzEXAMPLEoUw\"", "x-amz-request-id": "79104EXAMPLEB723", "etag": "\"b9c4f172e64458a5fd674EXAMPLE5628\"", "date": "Thu, 11 Jul 2019 00:12:50 GMT", "x-amz-server-side-encryption": "AES256" } }, "bucket": "greengrass-feedback-connector-data-us-west-2", "ETag": "\"b9c4f172e64458a5fd674EXAMPLE5628\"", "Expiration": "expiry-date=\"Wed, 17 Jul 2019 00:00:00 GMT\", rule-id=\"OGZjYWY3OTgtYWI2Zi00ZDllLWE4YmQtNzMyYzEXAMPLEoUw\"", "key": "s3-key-prefix/UUID.file_ext", "ServerSideEncryption": "AES256" } }, "id": "5aaa913f-97a3-48ac-5907-18cd96b89eeb" }
Konektor menambahkan
bucket
dankey
bidang untuk respon dari Amazon S3. Untuk informasi lebih lanjut tentang respons Amazon s3, lihat objek PUT dalam Referensi Amazon Simple Storage Service API. - Contoh output: Sampel dibatalkan karena strategi pengambilan sampel
-
{ "response": { "status": "sample_dropped_by_strategy" }, "id": "4bf5aeb0-d1e4-4362-5bb4-87c05de78ba3" }
- Contoh output: Pengunggahan sampel gagal
-
Status kegagalan mencakup pesan gagal sebagai
error_message
nilai dan kelas pengecualian sebagaierror
nilai.{ "response": { "status": "fail", "error_message": "[RequestId: 4bf5aeb0-d1e4-4362-5bb4-87c05de78ba3] Failed to upload model input data due to exception. Model prediction will not be published. Exception type: NoSuchBucket, error: An error occurred (NoSuchBucket) when calling the PutObject operation: The specified bucket does not exist", "error": "NoSuchBucket" }, "id": "4bf5aeb0-d1e4-4362-5bb4-87c05de78ba3" }
- Contoh output: Permintaan terhambat karena batas permintaan
-
{ "response": { "status": "fail", "error_message": "Request limit has been reached (max request: 10 ). Dropping request.", "error": "Queue.Full" }, "id": "4bf5aeb0-d1e4-4362-5bb4-87c05de78ba3" }
- Filter topik:
feedback/message/prediction
-
Gunakan topik ini untuk mendengarkan prediksi berdasarkan data sampel yang diunggah. Hal ini memungkinkan Anda menganalisis kinerja model Anda secara real time. Prediksi model diterbitkan ke topik ini hanya jika data berhasil diunggah ke Amazon S3. Pesan yang diterbitkan pada topik ini dalam format JSON. Mereka berisi link ke objek data yang diunggah, prediksi model, dan metadata termasuk dalam permintaan.
Anda juga dapat menyimpan hasil prediksi dan menggunakannya untuk melaporkan dan menganalisis tren dari waktu ke waktu. Tren dapat memberikan pandangan yang berharga. Sebagai contoh, sebuah tren penurunan akurasi dari waktu ke waktu dapat membantu Anda untuk memutuskan apakah model perlu dilatih ulang.
- Contoh output
-
{ "source-ref": "s3://greengrass-feedback-connector-data-us-west-2/s3-key-prefix/UUID.file_ext", "model-prediction": [ 0.5, 0.2, 0.2, 0.1 ], "config-id": "ConfigID2", "metadata": { "publish-ts": "2019-07-11 00:12:48.816752" } }
Tip
Anda dapat mengonfigurasi konektor IoT Analytics untuk berlangganan topik ini dan mengirim informasi ke AWS IoT Analytics untuk analisis lebih lanjut atau sejarah.
- Filter topik:
cloudwatch/metric/put
-
Ini adalah topik output yang digunakan untuk menerbitkan metrik ke CloudWatch. Fitur ini mengharuskan Anda menginstal dan mengonfigurasi Konektor Metrik CloudWatch.
Termasuk metrik:
Jumlah sampel yang diunggah.
Ukuran sampel yang diunggah.
Jumlah kesalahan dari unggahan ke Amazon S3.
Jumlah sampel batal berdasarkan strategi sampling.
Jumlah permintaan yang ditahan.
- Contoh output: Ukuran sampel data (diterbitkan sebelum unggah sebenarnya)
-
{ "request": { "namespace": "GreengrassFeedbackConnector", "metricData": { "value": 47592, "unit": "Bytes", "metricName": "SampleSize" } } }
- Contoh output: Pengunggahan sampel berhasil
-
{ "request": { "namespace": "GreengrassFeedbackConnector", "metricData": { "value": 1, "unit": "Count", "metricName": "SampleUploadSuccess" } } }
- Contoh output: Pengunggahan sampel berhasil dan hasil prediksi diterbitkan
-
{ "request": { "namespace": "GreengrassFeedbackConnector", "metricData": { "value": 1, "unit": "Count", "metricName": "SampleAndPredictionPublished" } } }
- Contoh output: Pengunggahan sampel gagal
-
{ "request": { "namespace": "GreengrassFeedbackConnector", "metricData": { "value": 1, "unit": "Count", "metricName": "SampleUploadFailure" } } }
- Contoh output: Sampel dibatalkan karena strategi pengambilan sampel
-
{ "request": { "namespace": "GreengrassFeedbackConnector", "metricData": { "value": 1, "unit": "Count", "metricName": "SampleNotUsed" } } }
- Contoh output: Permintaan terhambat karena batas permintaan
-
{ "request": { "namespace": "GreengrassFeedbackConnector", "metricData": { "value": 1, "unit": "Count", "metricName": "ErrorRequestThrottled" } } }
Contoh Penggunaan
Contoh berikut adalah fungsi Lambda yang ditetapkan pengguna yang menggunakan AWS IoT Greengrass Machine Learning SDK untuk mengirim data ke konektor Umpan balik ML.
catatan
Anda dapat mengunduh AWS IoT Greengrass Machine Learning SDK dari AWS IoT Greengrass halaman unduh.
import json import logging import os import sys import greengrass_machine_learning_sdk as ml client = ml.client('feedback') try: feedback_config_id = os.environ["FEEDBACK_CONFIG_ID"] model_input_data_dir = os.environ["MODEL_INPUT_DIR"] model_prediction_str = os.environ["MODEL_PREDICTIONS"] model_prediction = json.loads(model_prediction_str) except Exception as e: logging.info("Failed to open environment variables. Failed with exception:{}".format(e)) sys.exit(1) try: with open(os.path.join(model_input_data_dir, os.listdir(model_input_data_dir)[0]), 'rb') as f: content = f.read() except Exception as e: logging.info("Failed to open model input directory. Failed with exception:{}".format(e)) sys.exit(1) def invoke_feedback_connector(): logging.info("Invoking feedback connector.") try: client.publish( ConfigId=feedback_config_id, ModelInput=content, ModelPrediction=model_prediction ) except Exception as e: logging.info("Exception raised when invoking feedback connector:{}".format(e)) sys.exit(1) invoke_feedback_connector() def function_handler(event, context): return
Lisensi
Konektor Umpan balik ML mencakup perangkat lunak/lisensi pihak ketiga berikut:
-
AWS SDK for Python (Boto3)
/Lisensi 2.0 Apache -
botocore
/Apache License 2.0 -
dateutil
/PSF License -
docutils
/BSD License, Lisensi Publik Umum (GPL) GNU, Lisensi Dasar Perangkat Lunak Python, Domain Publik -
jmespath
/MIT License -
s3transfer
/Apache License 2.0 -
urllib3
/Lisensi MIT
six
/MIT
Konektor ini dirilis di bawah Perjanjian Lisensi Perangkat lunak core Greengrass