As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Você pode monitorar e gerenciar aplicações com a API do AWS Panorama.
Visualizar aplicações
Para obter uma lista dos aplicativos em execução em um dispositivo, use a ListApplicationInstancesAPI.
$
aws panorama list-application-instances
"ApplicationInstances": [ { "Name": "aws-panorama-sample", "ApplicationInstanceId": "applicationInstance-ddaxxmpl2z7bg74ywutd7byxuq", "DefaultRuntimeContextDevice": "device-4tafxmplhtmzabv5lsacba4ere", "DefaultRuntimeContextDeviceName": "my-appliance", "Description": "command-line deploy", "Status": "DEPLOYMENT_SUCCEEDED", "HealthStatus": "RUNNING", "StatusDescription": "Application deployed successfully.", "CreatedTime": 1661902051.925, "Arn": "arn:aws:panorama:us-east-2:123456789012:applicationInstance/applicationInstance-ddaxxmpl2z7bg74ywutd7byxuq", "Tags": { "client": "sample" } }, ] }
Para obter mais detalhes sobre os nós de uma instância de aplicativo, use a ListApplicationInstanceNodeInstancesAPI.
$
aws panorama list-application-instance-node-instances --application-instance-id applicationInstance-ddaxxmpl2z7bg74ywutd7byxuq
{ "NodeInstances": [ { "NodeInstanceId": "code_node", "NodeId": "SAMPLE_CODE-1.0-fd3dxmpl-interface", "PackageName": "SAMPLE_CODE", "PackageVersion": "1.0", "PackagePatchVersion": "fd3dxmpl2bdfa41e6fe1be290a79dd2c29cf014eadf7416d861ce7715ad5e8a8", "NodeName": "interface", "CurrentStatus": "RUNNING" }, { "NodeInstanceId": "camera_node_override", "NodeId": "warehouse-floor-1.0-9eabxmpl-warehouse-floor", "PackageName": "warehouse-floor", "PackageVersion": "1.0", "PackagePatchVersion": "9eabxmple89f0f8b2f2852cca2a6e7971aa38f1629a210d069045e83697e42a7", "NodeName": "warehouse-floor", "CurrentStatus": "RUNNING" }, { "NodeInstanceId": "output_node", "NodeId": "hdmi_data_sink-1.0-9c23xmpl-hdmi0", "PackageName": "hdmi_data_sink", "PackageVersion": "1.0", "PackagePatchVersion": "9c23xmplc4c98b92baea4af676c8b16063d17945a3f6bd8f83f4ff5aa0d0b394", "NodeName": "hdmi0", "CurrentStatus": "RUNNING" }, { "NodeInstanceId": "model_node", "NodeId": "SQUEEZENET_PYTORCH-1.0-5d3cabda-interface", "PackageName": "SQUEEZENET_PYTORCH", "PackageVersion": "1.0", "PackagePatchVersion": "5d3cxmplb7113faa1d130f97f619655d8ca12787c751851a0e155e50eb5e3e96", "NodeName": "interface", "CurrentStatus": "RUNNING" } ] }
Gerenciamento de streams de câmera
Você pode pausar e retomar os nós de transmissão da câmera com a SignalApplicationInstanceNodeInstancesAPI.
$
aws panorama signal-application-instance-node-instances --application-instance-id applicationInstance-ddaxxmpl2z7bg74ywutd7byxuq \ --node-signals '[{"NodeInstanceId": "camera_node_override", "Signal": "PAUSE"}]'
{ "ApplicationInstanceId": "applicationInstance-ddaxxmpl2z7bg74ywutd7byxuq" }
Em um script, você pode obter uma lista de nós e escolher um para pausar ou retomar interativamente.
exemplo pause-camera.sh : uso
my-app$
./pause-camera.sh
Getting nodes... 0: SAMPLE_CODE RUNNING 1: warehouse-floor RUNNING 2: hdmi_data_sink RUNNING 3: entrance-north PAUSED 4: SQUEEZENET_PYTORCH RUNNING Choose a node1
Signalling node warehouse-floor + aws panorama signal-application-instance-node-instances --application-instance-id applicationInstance-r3a7xmplcbmpjqeds7vj4b6pjy --node-signals '[{"NodeInstanceId": "warehouse-floor", "Signal": "PAUSE"}]' { "ApplicationInstanceId": "applicationInstance-r3a7xmplcbmpjqeds7vj4b6pjy" }
Ao pausar e retomar os nós da câmera, você pode percorrer um número maior de streams de câmera do que os que podem ser processados simultaneamente. Para fazer isso, mapeie vários streams de câmera para o mesmo nó de entrada em seu manifesto de substituição.
No exemplo a seguir, o manifesto de substituição mapeia dois streams de câmera ,warehouse-floor
e entrance-north
, para o mesmo nó de entrada (camera_node
). O stream warehouse-floor
fica ativo quando a aplicação é iniciada, e o nó entrance-north
espera que um sinal seja ativado.
exemplo override-multicam.json
"nodeGraphOverrides": {
"nodes": [
{
"name": "warehouse-floor",
"interface": "123456789012::warehouse-floor.warehouse-floor",
"launch": "onAppStart"
},
{
"name": "entrance-north",
"interface": "123456789012::entrance-north.entrance-north",
"launch": "onSignal"
},
...
"packages": [
{
"name": "123456789012::warehouse-floor",
"version": "1.0"
},
{
"name": "123456789012::entrance-north",
"version": "1.0"
}
],
"nodeOverrides": [
{
"replace": "camera_node",
"with": [
{
"name": "warehouse-floor"
},
{
"name": "entrance-north"
}
]
}
Para obter detalhes sobre a implantação com a API, consulte Automatização da implantação da aplicação.