쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

IDT for AWS IoT Greengrass V2 다운로드

포커스 모드
IDT for AWS IoT Greengrass V2 다운로드 - AWS IoT Greengrass

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

이 주제에서는 for AWS IoT Greengrass V2를 다운로드하는 옵션에 AWS IoT Device Tester 대해 설명합니다. 다음 소프트웨어 다운로드 링크 중 하나를 사용하거나 지침에 따라 프로그래밍 방식으로 IDT를 다운로드할 수 있습니다.

소프트웨어를 다운로드하면 AWS IoT Device Tester IDT 라이선스 계약에 동의하는 것입니다.

참고

여러 사용자가 NFS 디렉터리 또는 Windows 네트워크 공유 폴더와 같은 공유 위치에서 IDT를 실행하는 것은 지원되지 않습니다. 로컬 드라이브에 IDT 패키지의 압축을 풀고 로컬 워크스테이션에서 IDT 바이너리를 실행하는 것이 좋습니다.

수동으로 IDT 다운로드

이 주제에서는 지원되는 버전의 IDT for AWS IoT Greengrass V2를 나열합니다. 가장 좋은 방법은 대상 버전의 AWS IoT Greengrass V2를 지원하는 최신 버전의 IDT for AWS IoT Greengrass V2를 사용하는 것입니다. 의 새 릴리스에서는 IDT for AWS IoT Greengrass V2의 새 버전을 다운로드해야 할 AWS IoT Greengrass 수 있습니다. IDT for AWS IoT Greengrass V2가 사용 중인 버전 AWS IoT Greengrass 과 호환되지 않는 경우 테스트 실행을 시작할 때 알림을 받습니다.

용 IDT v4.9.4 AWS IoT Greengrass
지원되는 AWS IoT Greengrass 버전:
IDT 소프트웨어 다운로드:
  • Linux용 테스트 제품군 GGV2Q_2.5.4가 있는 IDT v4.9.4

  • macOS용 테스트 제품군 GGV2Q_2.5.4가 있는 IDT v4.9.4

  • Windows용 테스트 제품군 GGV2Q_2.5.4가 있는 IDT v4.9.4

릴리스 정보:
  • AWS IoT Greengrass 코어 소프트웨어 버전 2.12.0, 2.11.0, 2.10.0 및 2.9.5를 실행하는 디바이스에 대해 디바이스 검증 및 검증을 활성화합니다.

  • 스트림 관리자 및 기계 학습 테스트 그룹을 제거합니다.

추가 참고 사항
  • 디바이스가 HSM을 사용하고 nucleus 2.10.x를 사용하는 경우 Greengrass nucleus 버전 2.11.0 이상으로 마이그레이션합니다.

테스트 제품군 버전:
GGV2Q_2.5.4
  • 2024년 5월 3일 릴리스

프로그래밍 방식으로 IDT 다운로드

IDT는 프로그래밍 방식으로 IDT를 다운로드할 수 있는 URL을 검색하는 데 사용할 수 있는 API 작업을 제공합니다. 또한 이 API 작업을 사용하여 IDT가 최신 버전인지 확인할 수 있습니다. 이 API 작업에는 다음과 같은 엔드포인트가 있습니다.

https://download.devicetester.iotdevicesecosystem.amazonaws.com/latestidt

이 API 작업을 직접 호출하려면 iot-device-tester:LatestIdt 작업을 수행할 수 있는 권한이 있어야 합니다. AWS 서명을 포함하고 iot-device-tester를 서비스 이름으로 사용합니다.

API 요청

HostOS - 호스트 시스템의 운영 체제입니다. 다음 옵션 중 하나를 선택합니다.
  • mac

  • linux

  • windows

TestSuiteType - 테스트 제품군의 유형입니다. 다음 옵션을 선택합니다.

GGV2 – AWS IoT Greengrass V2용 IDT

ProductVersion

(선택 사항) Greengrass nucleus의 버전. 이 서비스는 해당 버전의 Greengrass nucleus와 호환되는 최신 버전의 IDT를 반환합니다. 이 옵션을 지정하지 않으면 서비스가 최신 버전의 IDT를 반환합니다.

API 응답

API 응답은 다음 형식을 갖습니다. DownloadURL에는 zip 파일이 포함됩니다.

{ "Success": True or False, "Message": Message, "LatestBk": { "Version": The version of the IDT binary, "TestSuiteVersion": The version of the test suite, "DownloadURL": The URL to download the IDT Bundle, valid for one hour } }

예시

다음 예제를 참조하여 프로그래밍 방식으로 IDT를 다운로드할 수 있습니다. 이들 예제는 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 환경 변수에 저장한 보안 인증 정보를 사용합니다. 보안 모범 사례를 따르려면 코드에 보안 인증 정보를 저장하지 마세요.

예제: cURL 버전 7.75.0 이상을 사용하여 다운로드(Mac 및 Linux)

cURL 버전 7.75.0 이상을 사용하는 경우 aws-sigv4 플래그를 사용하여 API 요청에 서명할 수 있습니다. 이 예제에서는 jq를 사용하여 응답에서 다운로드 URL을 파싱합니다.

주의

aws-sigv4 플래그에는 curl GET 요청의 쿼리 파라미터가 HostOs/ProductVersion/TestSuiteType 또는 HostOs/TestSuiteType의 순서로 되어 있어야 합니다. 이 순서를 준수하지 않으면 API Gateway에서 표준 문자열에 대해 일치하지 않는 서명을 가져오는 오류가 발생합니다.

선택적 파라미터ProductVersion가 포함된 경우 AWS IoT Device Tester for AWS IoT Greengrass V2의 지원되는 버전에 설명된 대로 지원되는 제품 버전을 사용해야 합니다.

  • us-west-2를 로 바꿉니다 AWS 리전. 리전 코드의 목록은 리전 엔드포인트를 참조하세요.

  • linux를 호스트 시스템의 운영 체제로 바꿉니다.

  • 2.5.3을 AWS IoT Greengrass nucleus의 버전으로 바꿉니다.

url=$(curl --request GET "https://download.devicetester.iotdevicesecosystem.amazonaws.com/latestidt?HostOs=linux&ProductVersion=2.5.3&TestSuiteType=GGV2" \ --user $AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY \ --aws-sigv4 "aws:amz:us-west-2:iot-device-tester" \ | jq -r '.LatestBk["DownloadURL"]') curl $url --output devicetester.zip
예제: 이전 버전의 cURL을 사용하여 다운로드(Mac 및 Linux)

서명 및 계산하는 AWS 서명과 함께 다음 cURL 명령을 사용할 수 있습니다. 서명 및 서명 계산 방법에 대한 자세한 내용은 API 요청 서명을 AWS 참조하세요. AWS

  • linux를 호스트 시스템의 운영 체제로 바꿉니다.

  • Timestamp를 날짜 및 시간(예: 20220210T004606Z)으로 바꿉니다.

  • Date를 날짜(예: 20220210)로 바꿉니다.

  • AWSRegion을 로 바꿉니다 AWS 리전. 리전 코드의 목록은 리전 엔드포인트를 참조하세요.

  • AAWSSignature를 사용자가 생성한 AWS 서명으로 바꿉니다.

curl --location --request GET 'https://download.devicetester.iotdevicesecosystem.amazonaws.com/latestidt?HostOs=linux&TestSuiteType=GGV2' \ --header 'X-Amz-Date: Timestamp \ --header 'Authorization: AWS4-HMAC-SHA256 Credential=$AWS_ACCESS_KEY_ID/Date/AWSRegion/iot-device-tester/aws4_request, SignedHeaders=host;x-amz-date, Signature=AWSSignature'
예제: Python 스크립트를 사용하여 다운로드

이 예제에서는 Python 요청 라이브러리를 사용합니다. 이 예제는 AWS 일반 참조의 Python 예제에서 AWS API 요청에 서명하도록 조정되었습니다.

  • us-west-2를 해당 리전으로 바꿉니다. 리전 코드의 목록은 리전 엔드포인트를 참조하세요.

  • linux를 호스트 시스템의 운영 체제로 바꿉니다.

# Copyright 2010-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # This file is licensed under the Apache License, Version 2.0 (the "License"). # You may not use this file except in compliance with the License. A copy of the #License is located at # # http://aws.amazon.com/apache2.0/ # # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS # OF ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. # See: http://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html # This version makes a GET request and passes the signature # in the Authorization header. import sys, os, base64, datetime, hashlib, hmac import requests # pip install requests # ************* REQUEST VALUES ************* method = 'GET' service = 'iot-device-tester' host = 'download.devicetester.iotdevicesecosystem.amazonaws.com' region = 'us-west-2' endpoint = 'https://download.devicetester.iotdevicesecosystem.amazonaws.com/latestidt' request_parameters = 'HostOs=linux&TestSuiteType=GGV2' # Key derivation functions. See: # http://docs.aws.amazon.com/general/latest/gr/signature-v4-examples.html#signature-v4-examples-python def sign(key, msg): return hmac.new(key, msg.encode('utf-8'), hashlib.sha256).digest() def getSignatureKey(key, dateStamp, regionName, serviceName): kDate = sign(('AWS4' + key).encode('utf-8'), dateStamp) kRegion = sign(kDate, regionName) kService = sign(kRegion, serviceName) kSigning = sign(kService, 'aws4_request') return kSigning # Read AWS access key from env. variables or configuration file. Best practice is NOT # to embed credentials in code. access_key = os.environ.get('AWS_ACCESS_KEY_ID') secret_key = os.environ.get('AWS_SECRET_ACCESS_KEY') if access_key is None or secret_key is None: print('No access key is available.') sys.exit() # Create a date for headers and the credential string t = datetime.datetime.utcnow() amzdate = t.strftime('%Y%m%dT%H%M%SZ') datestamp = t.strftime('%Y%m%d') # Date w/o time, used in credential scope # ************* TASK 1: CREATE A CANONICAL REQUEST ************* # http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html # Step 1 is to define the verb (GET, POST, etc.)--already done. # Step 2: Create canonical URI--the part of the URI from domain to query # string (use '/' if no path) canonical_uri = '/latestidt' # Step 3: Create the canonical query string. In this example (a GET request), # request parameters are in the query string. Query string values must # be URL-encoded (space=%20). The parameters must be sorted by name. # For this example, the query string is pre-formatted in the request_parameters variable. canonical_querystring = request_parameters # Step 4: Create the canonical headers and signed headers. Header names # must be trimmed and lowercase, and sorted in code point order from # low to high. Note that there is a trailing \n. canonical_headers = 'host:' + host + '\n' + 'x-amz-date:' + amzdate + '\n' # Step 5: Create the list of signed headers. This lists the headers # in the canonical_headers list, delimited with ";" and in alpha order. # Note: The request can include any headers; canonical_headers and # signed_headers lists those that you want to be included in the # hash of the request. "Host" and "x-amz-date" are always required. signed_headers = 'host;x-amz-date' # Step 6: Create payload hash (hash of the request body content). For GET # requests, the payload is an empty string (""). payload_hash = hashlib.sha256(('').encode('utf-8')).hexdigest() # Step 7: Combine elements to create canonical request canonical_request = method + '\n' + canonical_uri + '\n' + canonical_querystring + '\n' + canonical_headers + '\n' + signed_headers + '\n' + payload_hash # ************* TASK 2: CREATE THE STRING TO SIGN************* # Match the algorithm to the hashing algorithm you use, either SHA-1 or # SHA-256 (recommended) algorithm = 'AWS4-HMAC-SHA256' credential_scope = datestamp + '/' + region + '/' + service + '/' + 'aws4_request' string_to_sign = algorithm + '\n' + amzdate + '\n' + credential_scope + '\n' + hashlib.sha256(canonical_request.encode('utf-8')).hexdigest() # ************* TASK 3: CALCULATE THE SIGNATURE ************* # Create the signing key using the function defined above. signing_key = getSignatureKey(secret_key, datestamp, region, service) # Sign the string_to_sign using the signing_key signature = hmac.new(signing_key, (string_to_sign).encode('utf-8'), hashlib.sha256).hexdigest() # ************* TASK 4: ADD SIGNING INFORMATION TO THE REQUEST ************* # The signing information can be either in a query string value or in # a header named Authorization. This code shows how to use a header. # Create authorization header and add to request headers authorization_header = algorithm + ' ' + 'Credential=' + access_key + '/' + credential_scope + ', ' + 'SignedHeaders=' + signed_headers + ', ' + 'Signature=' + signature # The request can include any headers, but MUST include "host", "x-amz-date", # and (for this scenario) "Authorization". "host" and "x-amz-date" must # be included in the canonical_headers and signed_headers, as noted # earlier. Order here is not significant. # Python note: The 'host' header is added automatically by the Python 'requests' library. headers = {'x-amz-date':amzdate, 'Authorization':authorization_header} # ************* SEND THE REQUEST ************* request_url = endpoint + '?' + canonical_querystring print('\nBEGIN REQUEST++++++++++++++++++++++++++++++++++++') print('Request URL = ' + request_url) response = requests.get(request_url, headers=headers) print('\nRESPONSE++++++++++++++++++++++++++++++++++++') print('Response code: %d\n' % response.status_code) print(response.text) download_url = response.json()["LatestBk"]["DownloadURL"] r = requests.get(download_url) open('devicetester.zip', 'wb').write(r.content)

이 페이지에서

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.