로컬 상태 확인 API 호출 - AWS IoT Greengrass

다음에 대한 설명서를 보고 있습니다.AWS IoT Greengrass Version 1.AWS IoT Greengrass Version 2의 최신 주요 버전입니다AWS IoT Greengrass. 사용에 관한 자세한 내용은 단원을 참조하십시오.AWS IoT Greengrass V2에 대한 자세한 내용은AWS IoT Greengrass Version 2개발자 안내서.

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

로컬 상태 확인 API 호출

AWS IoT Greengrass에 의해 시작된 로컬 작업자 프로세스의 현재 상태에 대한 스냅숏을 제공하는 로컬 HTTP API가 포함되어 있습니다.AWS IoT Greengrass. 이 스냅샷에는 사용자 정의 Lambda 함수와 시스템 Lambda 함수가 포함됩니다 시스템 Lambda 함수는AWS IoT Greengrass코어 소프트웨어 코어 디바이스에서 로컬 작업자 프로세스로 실행되며 메시지 라우팅, 로컬 섀도우 동기화, 자동 IP 주소 감지 등의 작업을 관리합니다.

상태 확인 API는 다음 요청을 지원합니다.

요청은 장치에서 로컬로 전송되며 인터넷 연결이 필요하지 않습니다.

모든 근로자에 대한 건강 정보 얻기

전송 대상GET요청을 실행하여 실행중인 모든 작업자에 대한 건강 정보를 얻을 수 있습니다.

  • Replaceport을 IPC의 포트 번호로 바꿉니다.

GET http://localhost:port/2016-11-01/health/workers
port

IPC의 포트 번호입니다.

값은 1024~65535 사이에서 달라질 수 있습니다. 기본값은 8000입니다.

이 포트 번호를 변경하려면ggDaemonPort속성의 속성입니다.config.json파일을 엽니다. 자세한 내용은 AWS IoT Greengrass 코어 구성 파일 단원을 참조하세요.

요청 예

다음 예제는curl요청은 모든 근로자에 대한 건강 정보를 가져옵니다.

curl http://localhost:8000/2016-11-01/health/workers

JSON 응답

이 요청은 배열을 반환근로자의 건강 정보객체를 엽니다.

응답의 예

다음 예제 응답에 의해 시작된 모든 작업자 프로세스의 상태 정보 개체가 나열되어 있습니다.AWS IoT Greengrass.

[ { "FuncArn": "arn:aws:lambda:::function:GGShadowService:1", "WorkerId" : "65515053-2f70-43dc-7cc0-1712bEXAMPLE", "ProcessId": "1234", "WorkerState": "Waiting" }, { "FuncArn": "arn:aws:lambda:::function:GGSecretManager:1", "WorkerId": "a9916cc2-1b4d-4f0e-4b12-b1872EXAMPLE", "ProcessId": "9798", "WorkerState": "Waiting" }, { "FuncArn": "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3", "WorkerId": "2e6f785e-66a5-42c9-67df-42073EXAMPLE", "ProcessId": "11837", "WorkerState": "Waiting" }, ... ]

지정된 근로자에 대한 건강 정보 얻기

전송 대상POST요청을 통해 지정된 근로자에 대한 건강 정보를 얻을 수 있습니다. Replaceport을 IPC의 포트 번호로 바꿉니다. 기본값은 8000입니다.

POST http://localhost:port/2016-11-01/health/workers

요청 예

다음 예제는curl요청은 지정된 워커에 대한 건강 정보를 가져옵니다.

curl --data "@body.json" http://localhost:8000/2016-11-01/health/workers

예를 들면 입니다.body.json요청 본문:

{ "FuncArns": [ "arn:aws:lambda:::function:GGShadowService:1", "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3" ] }

요청 본문에FuncArns어레이를 엽니다.

FuncArns

대상 워커를 나타내는 Lambda 함수의 Amazon 리소스 이름 (ARN) 의 목록입니다.

  • 사용자 정의 Lambda 함수의 경우 현재 배포된 버전의 ARN 지정합니다. 별칭 ARN 사용하여 그룹에 Lambda 함수를 추가한 경우 GET 요청을 사용하여 모든 워커를 가져온 다음 쿼리할 ARN을 선택할 수 있습니다.

  • 시스템 Lambda 함수의 경우 해당 Lambda 함수의 ARN 지정합니다. 자세한 내용은 시스템 Lambda 함수 단원을 참조하세요.

형식: 문자열 배열

최소 길이: 1

최대 길이: 에 의해 시작된 총 근로자 수AWS IoT Greengrass코어 디바이스에서.

JSON 응답

이 요청은 반환Workers배열과InvalidArns어레이를 엽니다.

Workers

지정된 워커에 대한 상태 정보 개체 목록입니다.

형식: 배열상태 정보 개체

InvalidArns

연결된 워커가 없는 함수 ARN을 포함하여 유효하지 않은 함수 ARN 목록입니다.

형식: 문자열 배열

응답의 예

다음은 을 조회하는 예제입니다.상태 정보 개체지정된 워커에 대해

{ "Workers": [ { "FuncArn": "arn:aws:lambda:::function:GGShadowService:1", "WorkerId" : "65515053-2f70-43dc-7cc0-1712bEXAMPLE", "ProcessId": "1234", "WorkerState": "Waiting" }, { "FuncArn": "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3", "WorkerId": "2e6f785e-66a5-42c9-67df-42073ESAMPLE", "ProcessId": "11837", "WorkerState": "Waiting" } ], "InvalidArns" : [ "some-malformed-arn", "arn:aws:lambda:us-west-2:123456789012:function:some-unknown-function:1" ] }

이 요청은 다음 오류를 반환합니다.

400 잘못된 요청

요청 본문의 형식이 잘못되었습니다. 이 문제를 해결하려면 다음 형식을 사용하고 요청을 다시 보냅니다.

{"FuncArns":["function-1-arn","function-2-arn"]}
400 요청이 최대 작업자 수를 초과했습니다.

에 지정된 ARN 수입니다.FuncArns배열이 워커 수를 초과합니다.

근로자 건강 정보

상태 정보 객체는 다음 속성을 포함하고 있습니다.

FuncArn

작업자를 나타내는 시스템 Lambda 함수의 ARN 입니다.

형식: string

WorkerId

작업자의 ID입니다. 이 속성은 디버깅에 유용 할 수 있습니다. 이runtime.log파일과 Lambda 함수 로그에 작업자 ID가 포함되어 있으므로 이 속성은 여러 인스턴스를 회전하는 주문형 Lambda 함수를 디버깅하는 데 특히 유용할 수 있습니다.

형식: string

ProcessId

작업자 프로세스의 프로세스 ID (PID) 입니다.

형식: int

WorkerState

작업자의 상태입니다.

형식: string

다음은 가능한 작업자 상태입니다.

Working

메시지를 처리하는 중입니다.

Waiting

메시지를 기다리는 중입니다. 데몬 또는 독립형 프로세스로 실행되는 수명이 긴 Lambda 함수에 적용됩니다.

Starting

시작, 시작.

FailedInitialization

초기화하지 못했습니다.

Terminated

Greengrass 데몬에 의해 중지됨

NotStarted

을 (를) 시작하지 못했습니다. 다른 시작을 시도합니다.

Initialized

성공적으로 초기화되었습니다.

시스템 Lambda 함수

다음 시스템 Lambda 함수에 대한 상태 정보를 요청할 수 있습니다.

GGCloudSpooler

다음과 같은 MQTT 메시지에 대한 대기열을 관리합니다.AWS IoT Core을 소스 또는 대상으로 사용합니다.

ARN: arn:aws:lambda:::function:GGCloudSpooler:1

GGConnManager

MQTT 메시지를 Greengrass 코어와 연결된 디바이스 간에 라우팅합니다.

ARN: arn:aws:lambda:::function:GGConnManager

GGDeviceCertificateManager

음성 듣기AWS IoT섀도우를 사용하여 코어의 IP 끝점을 변경하고 상호 인증을 위해 GgConnManager에서 사용하는 서버 측 인증서를 생성합니다.

ARN: arn:aws:lambda:::function:GGDeviceCertificateManager

GGIPDetector

Greengrass 그룹의 디바이스에서 Greengrass 코어 디바이스를 검색할 수 있도록 지원하는 자동 IP 주소 감지. IP 주소를 수동으로 제공하는 경우에는 이 서비스가 적용되지 않습니다.

ARN: arn:aws:lambda:::function:GGIPDetector:1

GGSecretManager

사용자 정의 Lambda 및 커넥터로 로컬 비밀의 안전한 저장 및 액세스를 관리합니다.

ARN: arn:aws:lambda:::function:GGSecretManager:1

GGShadowService

연결된 장치의 로컬 섀도우를 관리합니다.

ARN: arn:aws:lambda:::function:GGShadowService

GGShadowSyncManager

로컬 섀도우를AWS 클라우드코어 디바이스 및 연결된 디바이스의 경우syncShadow속성은 로 설정됩니다.true.

ARN: arn:aws:lambda:::function:GGShadowSyncManager

GGStreamManager

로컬에서 데이터 스트림을 처리하고AWS 클라우드.

ARN: arn:aws:lambda:::function:GGStreamManager:1

GGTES

로컬 코드가 액세스하는 데 사용하는 Greengrass 그룹 역할에 정의된 IAM 자격 증명을 검색하는 로컬 토큰 교환 서비스AWS서비스.

ARN: arn:aws:lambda:::function:GGTES