Greengrass 커넥터 시작하기(CLI) - AWS IoT Greengrass

AWS IoT Greengrass Version 1 2023년 6월 30일에 수명 연장 단계에 들어갔습니다. AWS IoT Greengrass V1 관리형 정책에 대한 자세한 정보는 섹션을 참조하세요. 이 날짜 이후에는 기능, 개선 사항, 버그 수정 또는 보안 패치를 제공하는 업데이트가 AWS IoT Greengrass V1 릴리스되지 않습니다. 에서 실행되는 기기는 AWS IoT Greengrass V1 중단되지 않으며 계속 작동하고 클라우드에 연결됩니다. 새로운 기능이 크게 추가되고 추가 플랫폼에 대한 지원이 추가되는 으로 마이그레이션하는 AWS IoT Greengrass Version 2 것이 좋습니다.

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

Greengrass 커넥터 시작하기(CLI)

이 기능은 AWS IoT Greengrass 코어 v1.7 이상에 사용할 수 있습니다.

이 자습서는 AWS CLI에서 커넥터로 작업하는 방법을 보여줍니다.

커넥터를 사용하여 개발 수명 주기를 가속화합니다. 커넥터는 서비스, 프로토콜 및 리소스와 더 쉽게 상호 작용하기 위해 사용할 수 있는 재사용 가능한 미리 빌드된 모듈입니다. 또한 Greengrass 디바이스에 비즈니스 로직을 보다 빠르게 배포할 수 있도록 지원합니다. 자세한 내용은 Greengrass 커넥터를 사용하여 서비스 및 프로토콜과 통합 섹션을 참조하세요.

이 자습서에서는 Twilio Notifications 커넥터를 구성하고 배포합니다. 커넥터는 Twilio 메시지 정보를 입력 데이터로 수신한 다음 Twilio 텍스트 메시지를 트리거합니다. 다음 다이어그램에는 데이터 흐름이 나와 있습니다.

Lambda 함수에서 Twilio Notifications 커넥터, Twilio로 이동하는 데이터 흐름

커넥터를 구성한 후 Lambda 함수 및 구독을 생성합니다.

  • 이 함수는 온도 센서에서 시뮬레이션된 데이터를 평가합니다. 또한 MQTT 주제에 Twilio 메시지 정보를 조건부로 게시합니다. 커넥터가 구독하는 주제입니다.

  • 이 구독을 통해 함수는 주제에 게시할 수 있으며 커넥터는 이 주제에서 데이터를 수신할 수 있습니다.

Twilio Notifications 커넥터가 Twilio API와 상호 작용하려면 Twilio 인증 토큰이 필요합니다. 이러한 토큰은 AWS Secrets Manager에서 생성된 텍스트 유형 보안 함수로, 그룹 리소스에서 참조됩니다. AWS IoT Greengrass는 이 토큰을 사용하여 Greengrass 코어에서 암호의 로컬 사본을 생성할 수 있으며, 여기서 토큰은 암호화되어 커넥터에 사용 가능하게 됩니다. 자세한 내용은 AWS IoT Greengrass 코어에 암호 배포 섹션을 참조하세요.

자습서에는 다음과 같은 상위 수준 단계가 포함됩니다.

이 자습서를 완료하는 데 약 30분 정도 걸립니다.

AWS IoT Greengrass API 사용

Greengrass 그룹 및 그룹 구성 요소(예: 커넥터, 함수 및 그룹의 리소스)를 사용할 때 다음 패턴을 이해하면 도움이 됩니다.

  • 계층 구조의 맨 위에 있는 구성 요소에는 버전 개체의 컨테이너인 정의 개체가 있습니다. 그 다음에, 버전은 커넥터, 함수 또는 기타 구성 요소 유형에 대한 컨테이너입니다.

  • Greengrass 코어에 배포하는 경우 특정 그룹 버전을 배포합니다. 그룹 버전에는 구성 요소의 각 유형에 대한 버전이 하나 있을 수 있습니다. 코어가 하나 필요하지만 다른 코어는 필요에 따라 포함됩니다.

  • 버전은 변경 불가능하기 때문에 변경하려면 새 버전을 생성해야 합니다.

작은 정보

AWS CLI 명령 실행 시 오류가 수신되면 --debug 파라미터를 추가한 다음 이 명령을 다시 실행해 오류에 대한 추가 정보를 얻습니다.

AWS IoT Greengrass API를 사용하여 구성 요소 유형에 대해 여러 정의를 생성할 수 있습니다. 예를 들어, FunctionDefinitionVersion을 생성할 때마다 FunctionDefinition 객체를 생성하거나 기존 정의에 새 버전을 추가할 수 있습니다. 이러한 유연성 덕분에 버전 관리 시스템을 사용자 지정할 수 있습니다.

필수 조건

이 자습서를 완료하려면 다음이 필요합니다.

  • Greengrass 그룹 및 Greengrass 코어(v1.9.3 이상). Greengrass 그룹 및 코어를 생성하는 방법에 대해 알아보려면 AWS IoT Greengrass 시작하기단원을 참조하십시오. 시작하기 자습서에는 AWS IoT Greengrass 코어 소프트웨어를 설치하는 단계도 포함되어 있습니다.

  • AWS IoT Greengrass 코어 디바이스에 설치된 Python 3.7입니다.

  • AWS IoT Greengrass은(는) 비밀 요구 사항에 설명된 대로 로컬 비밀을 지원하도록 구성해야 합니다.

    참고

    이 요구 사항에는 Secrets Manager 암호에 대한 액세스 허용이 포함됩니다. 기본 Greengrass 서비스 역할을 사용 중인 경우 는 이미 greengrass-로 시작하는 이름을 가진 암호에 액세스할 수 있습니다.

  • Twilio 계정 SID, 인증 토큰 및 Twilio 사용 전화번호. Twilio 프로젝트를 생성하면 프로젝트 대시보드에서 이러한 값을 확인할 수 있습니다.

    참고

    Twilio 시험 계정을 사용할 수 있습니다. 평가판 계정을 사용하는 경우 인증된 전화번호 목록에 Twilio 수신자가 아닌 전화번호를 추가해야 합니다. 자세한 내용은 무료 Twilio 시험 계정을 사용하는 방법.을 참조하십시오.

  • 시스템에 설치 및 구성된 AWS CLI. 자세한 내용은 AWS Command Line Interface 사용 설명서AWS Command Line Interface 설치AWS CLI 구성을 참조하세요.

     

    이 자습서의 예제는 Linux 및 기타 Linux 기반 시스템에 맞춰 작성되어 있습니다. Windows를 사용하는 경우 구문의 차이를 알아보려면 AWS Command Line Interface에 대한 파라미터 값 지정을 참조하십시오.

    명령에 JSON 문자열이 포함되어 있는 경우 이 자습서에서는 한 행에 JSON이 포함된 예제를 제공합니다. 일부 시스템에서는 이 형식을 사용해 보다 쉽게 명령을 편집 및 실행할 수 있습니다.

1단계: Secrets Manager 보안 암호 생성

이 단계에서는 AWS Secrets Manager API를 사용하여 Twilio 인증 토큰에 대한 보안 암호를 만듭니다.

  1. 먼저 보안 암호를 만듭니다.

    • twilio-auth-token을 Twilio 인증 토큰으로 바꿉니다.

    aws secretsmanager create-secret --name greengrass-TwilioAuthToken --secret-string twilio-auth-token
    참고

    기본적으로 Greengrass 서비스 역할은 AWS IoT Greengrass이(가) 이름이 greengrass–로 시작하는 비밀의 값을 가져오도록 허용합니다. 자세한 내용은 암호 요구 사항을 참조하십시오.

  2. 출력에서 보안 암호의 ARN을 복사합니다. 이 정보를 사용하여 암호 리소스를 생성하고 Twilio Notifications 커넥터를 구성합니다.

2단계: 리소스 정의 및 버전 생성

이 단계에서는 AWS IoT Greengrass API를 사용하여 보안 암호에 대한 보안 암호 리소스를 생성합니다.

  1. 최초 버전이 포함된 리소스 정의를 생성합니다.

    • secret-arn을 이전 단계에서 복사한 비밀의 ARN(으)로 바꾸십시오.

     

    JSON Expanded
    aws greengrass create-resource-definition --name MyGreengrassResources --initial-version '{ "Resources": [ { "Id": "TwilioAuthToken", "Name": "MyTwilioAuthToken", "ResourceDataContainer": { "SecretsManagerSecretResourceData": { "ARN": "secret-arn" } } } ] }'
    JSON Single-line
    aws greengrass create-resource-definition \ --name MyGreengrassResources \ --initial-version '{"Resources": [{"Id": "TwilioAuthToken", "Name": "MyTwilioAuthToken", "ResourceDataContainer": {"SecretsManagerSecretResourceData": {"ARN": "secret-arn"}}}]}'
  2. 출력에서 리소스 정의의 LatestVersionArn을 복사합니다. 이 값을 사용하여 코어에 배포할 그룹 버전에 리소스 정의 버전을 추가합니다.

3단계: 커넥터 정의 및 버전 생성

이 단계에서는 Twilio Notifications 커넥터에 대한 파라미터를 구성합니다.

  1. 초기 버전을 사용하여 커넥터 정의를 생성합니다.

    • Twilio 계정 SID로 account-sid를 바꿉니다.

    • secret-arn을 보안 암호의 ARN으로 바꿉니다. 커넥터는 이 값을 사용하여 로컬 암호의 값을 가져옵니다.

    • phone-number를 Twilio 사용 전화번호로 바꿉니다. Twilio는 이 값을 사용해 문자 메시지를 초기화합니다. 이 값은 입력 메시지 페이로드에서 재정의될 수 있습니다. +19999999999 형식을 사용합니다.

     

    JSON Expanded
    aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{ "Connectors": [ { "Id": "MyTwilioNotificationsConnector", "ConnectorArn": "arn:aws:greengrass:region::/connectors/TwilioNotifications/versions/4", "Parameters": { "TWILIO_ACCOUNT_SID": "account-sid", "TwilioAuthTokenSecretArn": "secret-arn", "TwilioAuthTokenSecretArn-ResourceId": "TwilioAuthToken", "DefaultFromPhoneNumber": "phone-number" } } ] }'
    JSON Single-line
    aws greengrass create-connector-definition \ --name MyGreengrassConnectors \ --initial-version '{"Connectors": [{"Id": "MyTwilioNotificationsConnector", "ConnectorArn": "arn:aws:greengrass:region::/connectors/TwilioNotifications/versions/4", "Parameters": {"TWILIO_ACCOUNT_SID": "account-sid", "TwilioAuthTokenSecretArn": "secret-arn", "TwilioAuthTokenSecretArn-ResourceId": "TwilioAuthToken", "DefaultFromPhoneNumber": "phone-number"}}]}'
    참고

    TwilioAuthToken은 이전 단계에서 보안 암호 리소스를 생성하는 데 사용한 ID입니다.

  2. 출력에서 커넥터 정의의 LatestVersionArn을 복사합니다. 이 값을 사용하여 코어에 배포할 그룹 버전에 커넥터 정의 버전을 추가합니다.

4단계: Lambda 함수 배포 패키지 생성

Lambda 함수를 생성하려면 먼저 함수 코드와 종속성을 포함하는 Lambda 함수 배포 패키지를 생성해야 합니다. Greengrass Lambda 함수는 코어 환경에서 MQTT 메시지와 통신하고 로컬 비밀에 액세스하는 등의 작업을 위해 AWS IoT Greengrass Core SDK가 필요합니다. 이 자습서는 Python 함수를 생성하므로 배포 패키지의 Python 버전 SDK를 사용할 수 있습니다.

  1. AWS IoT Greengrass 코어 SDK 다운로드 페이지에서 Python용 AWS IoT Greengrass 코어 SDK를 다운로드합니다.

  2. 다운로드한 패키지의 압축을 풀어 SDK를 가져옵니다. SDK는 greengrasssdk 폴더입니다.

  3. temp_monitor.py이라는 로컬 파일에 다음과 같은 Python 코드 함수를 저장합니다.

    import greengrasssdk import json import random client = greengrasssdk.client('iot-data') # publish to the Twilio Notifications connector through the twilio/txt topic def function_handler(event, context): temp = event['temperature'] # check the temperature # if greater than 30C, send a notification if temp > 30: data = build_request(event) client.publish(topic='twilio/txt', payload=json.dumps(data)) print('published:' + str(data)) print('temperature:' + str(temp)) return # build the Twilio request from the input data def build_request(event): to_name = event['to_name'] to_number = event['to_number'] temp_report = 'temperature:' + str(event['temperature']) return { "request": { "recipient": { "name": to_name, "phone_number": to_number, "message": temp_report } }, "id": "request_" + str(random.randint(1,101)) }
  4. 다음 항목을 temp_monitor_python.zip라는 파일로 압축합니다. ZIP 파일을 만들 때 상위 폴더가 아닌 코드 및 종속성만 포함합니다.

    • temp_monitor.py. 앱 로직.

    • greengrasssdk. MQTT 메시지를 게시하는 Python Greengrass Lambda 함수에 대한 필수 라이브러리입니다.

    이것이 Lambda 함수 배포 패키지입니다.

5단계: Lambda 함수 생성

이제, 배포 패키지를 사용하는 Lambda 함수를 생성합니다.

  1. 함수 생성 시 역할 ARN에서 전달할 수 있도록 IAM 역할을 생성합니다.

    JSON Expanded
    aws iam create-role --role-name Lambda_empty --assume-role-policy '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
    JSON Single-line
    aws iam create-role --role-name Lambda_empty --assume-role-policy '{"Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Principal": {"Service": "lambda.amazonaws.com"},"Action": "sts:AssumeRole"}]}'
    참고

    Greengrass 그룹 역할에 Greengrass Lambda 함수에 대한 권한이 지정되어 있기 때문에 AWS IoT Greengrass에서는 이 역할을 사용하지 않습니다. 이 자습서에서는 빈 역할을 생성합니다.

  2. 출력에서 Arn을 복사합니다.

  3. AWS Lambda API를 사용하여 TempMonitor 함수를 생성합니다. 다음 명령은 zip 파일이 현재 디렉터리에 있다고 가정합니다.

    • role-arn을 복사한 Arn으로 바꿉니다.

    aws lambda create-function \ --function-name TempMonitor \ --zip-file fileb://temp_monitor_python.zip \ --role role-arn \ --handler temp_monitor.function_handler \ --runtime python3.7
  4. 이 함수의 버전을 게시합니다.

    aws lambda publish-version --function-name TempMonitor --description 'First version'
  5. 게시된 버전에 대한 별칭을 생성합니다.

    Greengrass 그룹은 별칭(권장) 또는 버전을 기준으로 Lambda 함수를 참조할 수 있습니다. 별칭을 사용하면 함수 코드를 업데이트할 때 구독 테이블이나 그룹 정의를 변경할 필요가 없으므로 코드 업데이트를 더 쉽게 관리할 수 있습니다. 그 대신 새 함수 버전에 대한 별칭을 가리킵니다.

    참고

    AWS IoT Greengrass은(는) $LATEST 버전에서 Lambda 별칭을 지원하지 않습니다.

    aws lambda create-alias --function-name TempMonitor --name GG_TempMonitor --function-version 1
  6. 출력에서 AliasArn을 복사합니다. 이 값은 AWS IoT Greengrass에 대한 함수를 구성할 때 그리고 구독을 생성할 때 사용합니다.

이제 AWS IoT Greengrass에 대해 함수를 구성할 준비가 되었습니다.

6단계: 함수 정의 및 버전 생성

AWS IoT Greengrass 코어에 대해 Lambda 함수를 사용하려면 별칭으로 Lambda 함수를 참조하는 함수 정의 버전을 생성하고 그룹 수준 구성을 정의합니다. 자세한 내용은 그룹별 구성을 사용한 Lambda 함수 실행 제어 섹션을 참조하세요.

  1. 최초 버전이 포함된 함수 정의를 생성합니다.

    • alias-arn을 별칭을 생성했을 때 복사한 AliasArn로 바꿉니다.

     

    JSON Expanded
    aws greengrass create-function-definition --name MyGreengrassFunctions --initial-version '{ "Functions": [ { "Id": "TempMonitorFunction", "FunctionArn": "alias-arn", "FunctionConfiguration": { "Executable": "temp_monitor.function_handler", "MemorySize": 16000, "Timeout": 5 } } ] }'
    JSON Single-line
    aws greengrass create-function-definition \ --name MyGreengrassFunctions \ --initial-version '{"Functions": [{"Id": "TempMonitorFunction", "FunctionArn": "alias-arn", "FunctionConfiguration": {"Executable": "temp_monitor.function_handler", "MemorySize": 16000,"Timeout": 5}}]}'
  2. 출력에서 LatestVersionArn을 복사합니다. 이 값을 사용하여 코어에 배포할 그룹 버전에 함수 정의 버전을 추가합니다.

  3. 출력에서 Id을 복사합니다. 이 값은 나중에 함수를 업데이트할 때 사용합니다.

7단계: 구독 정의 및 버전 생성

이 단계에서는 Lambda 함수가 커넥터에 입력 데이터를 전송하는 데 사용할 수 있는 구독을 추가합니다. 커넥터는 자신이 구독하는 MQTT 주제를 정의하므로, 이 구독은 이러한 주제 중 하나를 사용합니다. 이러한 주제는 예제 함수가 게시할 주제와 동일합니다.

이 자습서에서는 함수가 AWS IoT에서 시뮬레이션된 온도 판독값을 수신하고 AWS IoT가 커넥터에서 상태 정보를 수신하도록 허용하는 구독도 생성합니다.

  1. 구독이 포함된 초기 버전이 들어 있는 구독 정의를 생성합니다.

    • alias-arn을 함수에 대한 별칭을 생성했을 때 복사한 AliasArn로 바꿉니다. 이 ARN을 두 구독에 사용합니다.

     

    JSON Expanded
    aws greengrass create-subscription-definition --initial-version '{ "Subscriptions": [ { "Id": "TriggerNotification", "Source": "alias-arn", "Subject": "twilio/txt", "Target": "arn:aws:greengrass:region::/connectors/TwilioNotifications/versions/4" }, { "Id": "TemperatureInput", "Source": "cloud", "Subject": "temperature/input", "Target": "alias-arn" }, { "Id": "OutputStatus", "Source": "arn:aws:greengrass:region::/connectors/TwilioNotifications/versions/4", "Subject": "twilio/message/status", "Target": "cloud" } ] }'
    JSON Single-line
    aws greengrass create-subscription-definition \ --initial-version '{"Subscriptions": [{"Id": "TriggerNotification", "Source": "alias-arn", "Subject": "twilio/txt", "Target": "arn:aws:greengrass:region::/connectors/TwilioNotifications/versions/4"},{"Id": "TemperatureInput", "Source": "cloud", "Subject": "temperature/input", "Target": "alias-arn"},{"Id": "OutputStatus", "Source": "arn:aws:greengrass:region::/connectors/TwilioNotifications/versions/4", "Subject": "twilio/message/status", "Target": "cloud"}]}'
  2. 출력에서 LatestVersionArn을 복사합니다. 이 값을 사용하여 코어에 배포할 그룹 버전에 구독 정의 버전을 추가합니다.

8단계: 그룹 버전 생성

이제, 배포할 모든 항목이 포함된 그룹 버전을 생성할 준비가 되었습니다. 이렇게 하려면 이 각 구성 요소 유형의 대상 버전을 참조하는 그룹 버전을 생성합니다.

먼저, 코어 정의 버전의 그룹 ID와 ARN을 가져옵니다. 이러한 값은 그룹 버전을 생성하는 데 필요합니다.

  1. 그룹 및 최신 그룹 버전의 ID 가져오기:

    1. 대상 Greengrass 그룹 및 그룹 버전의 ID를 확인합니다. 이 절차에서는 이것이 최신 그룹 및 그룹 버전이라고 가정합니다. 다음 쿼리는 가장 최근에 생성된 그룹을 반환합니다.

      aws greengrass list-groups --query "reverse(sort_by(Groups, &CreationTimestamp))[0]"

      또는 이름으로 쿼리할 수도 있습니다. 그룹 이름은 고유한 이름이 아니어도 되므로 여러 그룹을 반환할 수도 있습니다.

      aws greengrass list-groups --query "Groups[?Name=='MyGroup']"
      참고

      AWS IoT 콘솔에서도 이러한 값을 찾을 수 있습니다. 그룹 ID는 그룹의 설정 페이지에 표시됩니다. 그룹 버전 ID는 그룹의 배포 탭에 표시됩니다.

    2. 출력에서 대상 그룹의 Id을 복사합니다. 이 값을 사용하여 그룹을 배포할 때 코어 정의 버전을 가져옵니다.

    3. 그룹에 추가된 최신 버전의 ID가 되도록 출력에서 LatestVersion을 복사합니다. 이 값을 사용하여 코어 정의 버전을 가져옵니다.

  2. 코어 정의 버전의 ARN 가져오기:

    1. 그룹 버전을 가져옵니다. 이 단계에서는 최신 그룹 버전에 코어 정의 버전이 포함되어 있다고 가정합니다.

      • group-id를 해당 그룹에서 복사한 Id로 바꿉니다.

      • group-version-id를 해당 그룹에서 복사한 LatestVersion으로 바꿉니다.

      aws greengrass get-group-version \ --group-id group-id \ --group-version-id group-version-id
    2. 출력에서 CoreDefinitionVersionArn을 복사합니다.

  3. 그룹 버전을 만듭니다.

    • group-id를 해당 그룹에서 복사한 Id로 바꿉니다.

    • core-definition-version-arn을 새 함수 정의 버전에서 복사한 CoreDefinitionVersionArn으로 바꿉니다.

    • resource-definition-version-arn을 리소스 정의에 대해 복사한 LatestVersionArn으로 바꿉니다.

    • connector-definition-version-arn을 커넥터 정의에 대해 복사한 LatestVersionArn으로 바꿉니다.

    • function-definition-version-arn을 함수 정의 버전에서 복사한 LatestVersionArn으로 바꿉니다.

    • subscription-definition-version-arn을 구독 정의에 대해 복사한 LatestVersionArn으로 바꿉니다.

    aws greengrass create-group-version \ --group-id group-id \ --core-definition-version-arn core-definition-version-arn \ --resource-definition-version-arn resource-definition-version-arn \ --connector-definition-version-arn connector-definition-version-arn \ --function-definition-version-arn function-definition-version-arn \ --subscription-definition-version-arn subscription-definition-version-arn
  4. 출력에서 Version 값을 복사합니다. 이것이 그룹 버전의 ID입니다. 이 값을 사용하여 그룹 버전을 배포합니다.

9단계: 배포 생성

코어 디바이스에 그룹을 배포합니다.

  1. 코어 디바이스 터미널에서 AWS IoT Greengrass 데몬이 실행 중인지 확인합니다.

    1. 데몬이 실행 중인지 확인하려면:

      ps aux | grep -E 'greengrass.*daemon'

      출력에 root에 대한 /greengrass/ggc/packages/1.11.6/bin/daemon 입력이 포함되어 있는 경우에는 데몬이 실행 중인 것입니다.

    2. 데몬을 시작하려면:

      cd /greengrass/ggc/core/ sudo ./greengrassd start
  2. 배포를 생성합니다.

    • group-id를 해당 그룹에서 복사한 Id로 바꿉니다.

    • group-version-id를 새 그룹 버전에서 복사한 Version으로 바꿉니다.

    aws greengrass create-deployment \ --deployment-type NewDeployment \ --group-id group-id \ --group-version-id group-version-id
  3. 출력에서 DeploymentId을 복사합니다.

  4. 배포 상태를 가져옵니다.

    • group-id를 해당 그룹에서 복사한 Id로 바꿉니다.

    • deployment-id를 배포를 위해 복사한 DeploymentId로 바꿉니다.

    aws greengrass get-deployment-status \ --group-id group-id \ --deployment-id deployment-id

    상태가 Success이면, 배포에 성공한 것입니다. 문제 해결에 대한 도움말은 AWS IoT Greengrass 문제 해결 단원을 참조하십시오.

솔루션 테스트

  1. AWS IoT 홈 페이지에서 테스트를 선택합니다.

  2. 구독에서 다음 값을 사용한 다음 주제 구독을 선택합니다. Twilio Notifications 커넥터는 이 주제에 상태 정보를 게시합니다.

    속성

    구독 주제

    twilio/message/status

    MQTT 페이로드 디스플레이

    페이로드를 문자열로 표시

  3. 주제 게시에서 다음 값을 사용한 후 게시를 선택하여 함수를 간접 호출합니다.

    속성

    주제

    온도/입력

    메시지

    recipient-name은 이름으로, recipient-phone-number는 문자 메시지 수신자의 전화번호로 바꿉니다. 예: +12345000000

    { "to_name": "recipient-name", "to_number": "recipient-phone-number", "temperature": 31 }

    평가판 계정을 사용하는 경우 인증된 전화번호 목록에 Twilio 수신자가 아닌 전화번호를 추가해야 합니다. 자세한 내용은 개인 전화번호 확인을 참조하십시오.

    성공하면 수신자가 문자 메시지를 수신하고 콘솔에 출력 데이터success 상태가 표시됩니다.

    이제 입력 메시지에서 temperature29로 변경하고 게시합니다. 이 값이 30보다 작기 때문에 TempMonitor 기능이 Twilio 메시지를 트리거하지 않습니다.

다음 사항도 참조하세요.