文件 AWS SDK AWS 範例 SDK 儲存庫中有更多可用的
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS IoT Greengrass V2 使用 的範例 AWS CLI
下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 來執行動作和實作常見案例 AWS IoT Greengrass V2。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會示範如何呼叫個別服務函數,但您可以在相關案例中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
下列程式碼範例示範如何使用 associate-service-role-to-account
。
- AWS CLI
-
將 Greengrass 服務角色與 AWS 您的帳戶建立關聯
下列
associate-service-role-to-account
範例會將服務角色與 AWS 帳戶的 AWS IoT Greengrass 建立關聯。aws greengrassv2 associate-service-role-to-account \ --role-arn
arn:aws:iam::123456789012:role/service-role/Greengrass_ServiceRole
輸出:
{ "associatedAt": "2022-01-19T19:21:53Z" }
如需詳細資訊,請參閱 AWS IoT V2 Greengrass V2 開發人員指南中的 Greengrass 服務角色。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 AssociateServiceRoleToAccount
。
-
下列程式碼範例示範如何使用 batch-associate-client-device-with-core-device
。
- AWS CLI
-
將用戶端裝置與核心裝置建立關聯
下列
batch-associate-client-device-with-core-device
範例會將兩個用戶端裝置與核心裝置建立關聯。aws greengrassv2 batch-associate-client-device-with-core-device \ --core-device-thing-name
MyGreengrassCore
\ --entriesthingName=MyClientDevice1
thingName=MyClientDevice2
輸出:
{ "errorEntries": [] }
如需詳細資訊,請參閱 IoT Greengrass V2 開發人員指南中的與本機 IoT 裝置互動。 AWS IoT V2
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 BatchAssociateClientDeviceWithCoreDevice
。
-
下列程式碼範例示範如何使用 batch-disassociate-client-device-from-core-device
。
- AWS CLI
-
取消用戶端裝置與核心裝置的關聯
下列
batch-disassociate-client-device-from-core-device
範例會取消兩個用戶端裝置與核心裝置的關聯。aws greengrassv2 batch-disassociate-client-device-from-core-device \ --core-device-thing-name
MyGreengrassCore
\ --entriesthingName=MyClientDevice1
thingName=MyClientDevice2
輸出:
{ "errorEntries": [] }
如需詳細資訊,請參閱 IoT Greengrass V2 開發人員指南中的與本機 IoT 裝置互動。 AWS IoT V2
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 BatchDisassociateClientDeviceFromCoreDevice
。
-
下列程式碼範例示範如何使用 cancel-deployment
。
- AWS CLI
-
若要取消部署
下列
cancel-deployment
範例會停止持續部署至物件群組。aws greengrassv2 cancel-deployment \ --deployment-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
輸出:
{ "message": "SUCCESS" }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的取消部署。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CancelDeployment
。
-
下列程式碼範例示範如何使用 create-component-version
。
- AWS CLI
-
範例 1:從配方建立元件版本
下列
create-component-version
範例會從配方檔案建立 Hello World 元件的版本。aws greengrassv2 create-component-version \ --inline-recipe
fileb://com.example.HelloWorld-1.0.0.json
com.example.HelloWorld-1.0.0.json
的內容:{ "RecipeFormatVersion": "2020-01-25", "ComponentName": "com.example.HelloWorld", "ComponentVersion": "1.0.0", "ComponentDescription": "My first AWS IoT Greengrass component.", "ComponentPublisher": "Amazon", "ComponentConfiguration": { "DefaultConfiguration": { "Message": "world" } }, "Manifests": [ { "Platform": { "os": "linux" }, "Lifecycle": { "Run": "echo 'Hello {configuration:/Message}'" } } ] }
輸出:
{ "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0", "componentName": "com.example.HelloWorld", "componentVersion": "1.0.0", "creationTimestamp": "2021-01-07T16:24:33.650000-08:00", "status": { "componentState": "REQUESTED", "message": "NONE", "errors": {} } }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的建立要部署的自訂元件和上傳元件。
範例 2:從 AWS Lambda 函數建立元件版本
下列
create-component-version
範例會從 AWS Lambda 函數建立 Hello World 元件的版本。aws greengrassv2 create-component-version \ --cli-input-json
file://lambda-function-component.json
lambda-function-component.json
的內容:{ "lambdaFunction": { "lambdaArn": "arn:aws:lambda:us-west-2:123456789012:function:HelloWorldPythonLambda:1", "componentName": "com.example.HelloWorld", "componentVersion": "1.0.0", "componentLambdaParameters": { "eventSources": [ { "topic": "hello/world/+", "type": "IOT_CORE" } ] } } }
輸出:
{ "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0", "componentName": "com.example.HelloWorld", "componentVersion": "1.0.0", "creationTimestamp": "2021-01-07T17:05:27.347000-08:00", "status": { "componentState": "REQUESTED", "message": "NONE", "errors": {} } }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的執行 AWS Lambda 函數。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateComponentVersion
。
-
下列程式碼範例示範如何使用 create-deployment
。
- AWS CLI
-
範例 1:建立部署
下列
create-deployment
範例會將 AWS IoT Greengrass 命令列介面部署至核心裝置。aws greengrassv2 create-deployment \ --cli-input-json
file://cli-deployment.json
cli-deployment.json
的內容:{ "targetArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "deploymentName": "Deployment for MyGreengrassCore", "components": { "aws.greengrass.Cli": { "componentVersion": "2.0.3" } }, "deploymentPolicies": { "failureHandlingPolicy": "DO_NOTHING", "componentUpdatePolicy": { "timeoutInSeconds": 60, "action": "NOTIFY_COMPONENTS" }, "configurationValidationPolicy": { "timeoutInSeconds": 60 } }, "iotJobConfiguration": {} }
輸出:
{ "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的建立部署。
範例 2:建立更新元件組態的部署
下列
create-deployment
範例會將 AWS IoT Greengrass 核元件部署到一組核心裝置。此部署會將下列組態更新套用至 核子元件:將目標裝置的代理設定重設為預設無代理設定。將目標裝置的 MQTT 設定重設為預設值。設定 nucleus 的 JVM JVM選項。設定 nucleus 的記錄層級。
aws greengrassv2 create-deployment \ --cli-input-json
file://nucleus-deployment.json
nucleus-deployment.json
的內容:{ "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "deploymentName": "Deployment for MyGreengrassCoreGroup", "components": { "aws.greengrass.Nucleus": { "componentVersion": "2.0.3", "configurationUpdate": { "reset": [ "/networkProxy", "/mqtt" ], "merge": "{\"jvmOptions\":\"-Xmx64m\",\"logging\":{\"level\":\"WARN\"}}" } } }, "deploymentPolicies": { "failureHandlingPolicy": "ROLLBACK", "componentUpdatePolicy": { "timeoutInSeconds": 60, "action": "NOTIFY_COMPONENTS" }, "configurationValidationPolicy": { "timeoutInSeconds": 60 } }, "iotJobConfiguration": {} }
輸出:
{ "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "iotJobId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "iotJobArn": "arn:aws:iot:us-west-2:123456789012:job/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的建立部署和更新元件組態。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateDeployment
。
-
下列程式碼範例示範如何使用 delete-component
。
- AWS CLI
-
若要刪除元件版本
下列
delete-component
範例會刪除 Hello World 元件。aws greengrassv2 delete-component \ --arn
arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0
此命令不會產生輸出。
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的管理元件。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteComponent
。
-
下列程式碼範例示範如何使用 delete-core-device
。
- AWS CLI
-
若要刪除核心裝置
下列
delete-core-device
範例會刪除 AWS IoT Greengrass 核心裝置。aws greengrassv2 delete-core-device \ --core-device-thing-name
MyGreengrassCore
此命令不會產生輸出。
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的解除安裝 IoT Greengrass Core 軟體。 AWS IoT V2
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteCoreDevice
。
-
下列程式碼範例示範如何使用 describe-component
。
- AWS CLI
-
描述元件版本
下列
describe-component
範例說明 Hello World 元件。aws greengrassv2 describe-component \ --arn
arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0
輸出:
{ "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0", "componentName": "com.example.HelloWorld", "componentVersion": "1.0.0", "creationTimestamp": "2021-01-07T17:12:11.133000-08:00", "publisher": "Amazon", "description": "My first AWS IoT Greengrass component.", "status": { "componentState": "DEPLOYABLE", "message": "NONE", "errors": {} }, "platforms": [ { "attributes": { "os": "linux" } } ] }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的管理元件。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeComponent
。
-
下列程式碼範例示範如何使用 disassociate-service-role-from-account
。
- AWS CLI
-
取消 Greengrass 服務角色與 AWS 帳戶的關聯
下列
disassociate-service-role-from-account
範例會取消您 AWS 帳戶的 Greengrass 服務角色與 AWS IoT Greengrass 的關聯。aws greengrassv2 disassociate-service-role-from-account
輸出:
{ "disassociatedAt": "2022-01-19T19:26:09Z" }
如需詳細資訊,請參閱 AWS IoT V2 Greengrass V2 開發人員指南中的 Greengrass 服務角色。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DisassociateServiceRoleFromAccount
。
-
下列程式碼範例示範如何使用 get-component-version-artifact
。
- AWS CLI
-
取得 URL 以下載元件成品
下列
get-component-version-artifact
範例會取得 URL 來下載本機偵錯主控台元件的 JAR 檔案。aws greengrassv2 get-component-version-artifact \ --arn
arn:aws:greengrass:us-west-2:aws:components:aws.greengrass.LocalDebugConsole:versions:2.0.3
\ --artifact-name"Uvt6ZEzQ9TKiAuLbfXBX_APdY0TWks3uc46tHFHTzBM=/aws.greengrass.LocalDebugConsole.jar"
輸出:
{ "preSignedUrl": "https://evergreencomponentmanageme-artifactbucket7410c9ef-g18n1iya8kwr.s3.us-west-2.amazonaws.com/public/aws.greengrass.LocalDebugConsole/2.0.3/s3/ggv2-component-releases-prod-pdx/EvergreenHttpDebugView/2ffc496ba41b39568968b22c582b4714a937193ee7687a45527238e696672521/aws.greengrass.LocalDebugConsole/aws.greengrass.LocalDebugConsole.jar?X-Amz-Security-Token=KwfLKSdEXAMPLE..." }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的管理元件。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetComponentVersionArtifact
。
-
下列程式碼範例示範如何使用 get-component
。
- AWS CLI
-
範例 1:下載 YAML 格式的元件配方 (Linux、macOS 或 Unix)
下列
get-component
範例會將 Hello World 元件的配方下載至 YAML 格式的檔案。此命令會執行下列動作:使用
--output
和--query
參數來控制命令的輸出。這些參數會從命令的輸出擷取配方 Blob。如需控制輸出的詳細資訊,請參閱 命令列介面使用者指南中的控制命令輸出。使用base64
公用程式。 AWS 此公用程式會將擷取的 Blob 解碼為原始文字。成功get-component
命令傳回的 Blob 為 base64 編碼文字。您必須解碼此 Blob 才能取得原始文字。將解碼的文字儲存到 檔案。命令 (> com.example.HelloWorld-1.0.0.json
) 的最後一個區段會將解碼的文字儲存至 檔案。aws greengrassv2 get-component \ --arn
arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0
\ --recipe-output-formatYAML
\ --queryrecipe
\ --outputtext
|
base64
--decode>
com.example.HelloWorld-1.0.0.json
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的管理元件。
範例 2:下載 YAML 格式的元件配方 (Windows CMD)
下列
get-component
範例會將 Hello World 元件的配方下載至 YAML 格式的檔案。此命令使用certutil
公用程式。aws greengrassv2 get-component
^
--arnarn:aws:greengrass:us-west-2:675946970638:components:com.example.HelloWorld:versions:1.0.0
^
--recipe-output-formatYAML
^
--queryrecipe
^
--outputtext
>
com.example.HelloWorld-1.0.0.yaml.b64
certutil
-decode
com.example.HelloWorld-1.0.0.yaml.b64
com.example.HelloWorld-1.0.0.yaml
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的管理元件。
範例 3:下載 YAML 格式的元件配方 (Windows PowerShell)
下列
get-component
範例會將 Hello World 元件的配方下載至 YAML 格式的檔案。此命令使用certutil
公用程式。aws greengrassv2 get-component
`
--arnarn:aws:greengrass:us-west-2:675946970638:components:com.example.HelloWorld:versions:1.0.0
`
--recipe-output-formatYAML
`
--queryrecipe
`
--outputtext
>
com.example.HelloWorld-1.0.0.yaml.b64
certutil
-decode
com.example.HelloWorld-1.0.0.yaml.b64
com.example.HelloWorld-1.0.0.yaml
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的管理元件。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetComponent
。
-
下列程式碼範例示範如何使用 get-connectivity-info
。
- AWS CLI
-
取得 Greengrass 核心裝置的連線資訊
下列
get-connectivity-info
範例會取得 Greengrass 核心裝置的連線資訊。用戶端裝置會使用此資訊來連線至在此核心裝置上執行的 MQTT 代理程式。aws greengrassv2 get-connectivity-info \ --thing-name
MyGreengrassCore
輸出:
{ "connectivityInfo": [ { "id": "localIP_192.0.2.0", "hostAddress": "192.0.2.0", "portNumber": 8883 } ] }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的管理核心裝置端點。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetConnectivityInfo
。
-
下列程式碼範例示範如何使用 get-core-device
。
- AWS CLI
-
若要取得核心裝置
下列
get-core-device
範例取得 AWS IoT Greengrass 核心裝置的相關資訊。aws greengrassv2 get-core-device \ --core-device-thing-name
MyGreengrassCore
輸出:
{ "coreDeviceThingName": "MyGreengrassCore", "coreVersion": "2.0.3", "platform": "linux", "architecture": "amd64", "status": "HEALTHY", "lastStatusUpdateTimestamp": "2021-01-08T04:57:58.838000-08:00", "tags": {} }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的檢查核心裝置狀態。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetCoreDevice
。
-
下列程式碼範例示範如何使用 get-deployment
。
- AWS CLI
-
若要取得部署
下列
get-deployment
範例會取得 IoT AWS IoT Greengrass 核元件部署至一組核心裝置的相關資訊。aws greengrassv2 get-deployment \ --deployment-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
輸出:
{ "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "revisionId": "14", "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "deploymentName": "Deployment for MyGreengrassCoreGroup", "deploymentStatus": "ACTIVE", "iotJobId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "iotJobArn": "arn:aws:iot:us-west-2:123456789012:job/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "components": { "aws.greengrass.Nucleus": { "componentVersion": "2.0.3", "configurationUpdate": { "merge": "{\"jvmOptions\":\"-Xmx64m\",\"logging\":{\"level\":\"WARN\"}}", "reset": [ "/networkProxy", "/mqtt" ] } } }, "deploymentPolicies": { "failureHandlingPolicy": "ROLLBACK", "componentUpdatePolicy": { "timeoutInSeconds": 60, "action": "NOTIFY_COMPONENTS" }, "configurationValidationPolicy": { "timeoutInSeconds": 60 } }, "iotJobConfiguration": {}, "creationTimestamp": "2021-01-07T17:21:20.691000-08:00", "isLatestForTarget": false, "tags": {} }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的將元件部署至裝置。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetDeployment
。
-
下列程式碼範例示範如何使用 get-service-role-for-account
。
- AWS CLI
-
取得 AWS 您帳戶的 Greengrass 服務角色
下列
get-service-role-for-account
範例會取得與您 AWS 帳戶 AWS IoT Greengrass 相關聯的服務角色。aws greengrassv2 get-service-role-for-account
輸出:
{ "associatedAt": "2022-01-19T19:21:53Z", "roleArn": "arn:aws:iam::123456789012:role/service-role/Greengrass_ServiceRole" }
如需詳細資訊,請參閱 AWS IoT V2 Greengrass V2 開發人員指南中的 Greengrass 服務角色。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetServiceRoleForAccount
。
-
下列程式碼範例示範如何使用 list-client-devices-associated-with-core-device
。
- AWS CLI
-
列出與核心裝置相關聯的用戶端裝置
下列
list-client-devices-associated-with-core-device
範例會列出與核心裝置相關聯的所有用戶端裝置。aws greengrassv2 list-client-devices-associated-with-core-device \ --core-device-thing-name
MyTestGreengrassCore
輸出:
{ "associatedClientDevices": [ { "thingName": "MyClientDevice2", "associationTimestamp": "2021-07-12T16:33:55.843000-07:00" }, { "thingName": "MyClientDevice1", "associationTimestamp": "2021-07-12T16:33:55.843000-07:00" } ] }
如需詳細資訊,請參閱 IoT Greengrass V2 開發人員指南中的與本機 IoT 裝置互動。 AWS IoT V2
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListClientDevicesAssociatedWithCoreDevice
。
-
下列程式碼範例示範如何使用 list-component-versions
。
- AWS CLI
-
列出元件的版本
下列
list-component-versions
範例列出 Hello World 元件的所有版本。aws greengrassv2 list-component-versions \ --arn
arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld
輸出:
{ "componentVersions": [ { "componentName": "com.example.HelloWorld", "componentVersion": "1.0.1", "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.1" }, { "componentName": "com.example.HelloWorld", "componentVersion": "1.0.0", "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0" } ] }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的管理元件。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListComponentVersions
。
-
下列程式碼範例示範如何使用 list-components
。
- AWS CLI
-
列出元件
下列
list-components
範例會列出您 AWS 帳戶中在目前區域中定義的每個元件及其最新版本。aws greengrassv2 list-components
輸出:
{ "components": [ { "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld", "componentName": "com.example.HelloWorld", "latestVersion": { "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.1", "componentVersion": "1.0.1", "creationTimestamp": "2021-01-08T16:51:07.352000-08:00", "description": "My first AWS IoT Greengrass component.", "publisher": "Amazon", "platforms": [ { "attributes": { "os": "linux" } } ] } } ] }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的管理元件。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListComponents
。
-
下列程式碼範例示範如何使用 list-core-devices
。
- AWS CLI
-
列出核心裝置
下列
list-core-devices
範例列出您 AWS 帳戶中目前區域中的 AWS IoT Greengrass 核心裝置。aws greengrassv2 list-core-devices
輸出:
{ "coreDevices": [ { "coreDeviceThingName": "MyGreengrassCore", "status": "HEALTHY", "lastStatusUpdateTimestamp": "2021-01-08T04:57:58.838000-08:00" } ] }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的檢查核心裝置狀態。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListCoreDevices
。
-
下列程式碼範例示範如何使用 list-deployments
。
- AWS CLI
-
若要列出部署
下列
list-deployments
範例會列出目前區域中 AWS 您帳戶中定義之每個部署的最新版本。aws greengrassv2 list-deployments
輸出:
{ "deployments": [ { "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "revisionId": "14", "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "deploymentName": "Deployment for MyGreengrassCoreGroup", "creationTimestamp": "2021-01-07T17:21:20.691000-08:00", "deploymentStatus": "ACTIVE", "isLatestForTarget": false }, { "targetArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "revisionId": "1", "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "deploymentName": "Deployment for MyGreengrassCore", "creationTimestamp": "2021-01-06T16:10:42.407000-08:00", "deploymentStatus": "COMPLETED", "isLatestForTarget": false } ] }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的將元件部署至裝置。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListDeployments
。
-
下列程式碼範例示範如何使用 list-effective-deployments
。
- AWS CLI
-
若要列出部署任務
下列
list-effective-deployments
範例列出適用於 AWS IoT Greengrass 核心裝置的部署。aws greengrassv2 list-effective-deployments \ --core-device-thing-name
MyGreengrassCore
輸出:
{ "effectiveDeployments": [ { "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "deploymentName": "Deployment for MyGreengrassCore", "iotJobId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", "targetArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "coreDeviceExecutionStatus": "COMPLETED", "reason": "SUCCESSFUL", "creationTimestamp": "2021-01-06T16:10:42.442000-08:00", "modifiedTimestamp": "2021-01-08T17:21:27.830000-08:00" }, { "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "deploymentName": "Deployment for MyGreengrassCoreGroup", "iotJobId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE44444", "iotJobArn": "arn:aws:iot:us-west-2:123456789012:job/a1b2c3d4-5678-90ab-cdef-EXAMPLE44444", "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "coreDeviceExecutionStatus": "SUCCEEDED", "reason": "SUCCESSFUL", "creationTimestamp": "2021-01-07T17:19:20.394000-08:00", "modifiedTimestamp": "2021-01-07T17:21:20.721000-08:00" } ] }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的檢查核心裝置狀態。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListEffectiveDeployments
。
-
下列程式碼範例示範如何使用 list-installed-components
。
- AWS CLI
-
列出安裝在核心裝置上的元件
下列
list-installed-components
範例列出安裝在 AWS IoT Greengrass 核心裝置上的元件。aws greengrassv2 list-installed-components \ --core-device-thing-name
MyGreengrassCore
輸出:
{ "installedComponents": [ { "componentName": "aws.greengrass.Cli", "componentVersion": "2.0.3", "lifecycleState": "RUNNING", "isRoot": true }, { "componentName": "aws.greengrass.Nucleus", "componentVersion": "2.0.3", "lifecycleState": "FINISHED", "isRoot": true } ] }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的檢查核心裝置狀態。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListInstalledComponents
。
-
下列程式碼範例示範如何使用 list-tags-for-resource
。
- AWS CLI
-
列出資源的標籤
下列
list-tags-for-resource
範例列出 AWS IoT Greengrass 核心裝置的所有標籤。aws greengrassv2 list-tags-for-resource \ --resource-arn
arn:aws:greengrass:us-west-2:123456789012:coreDevices:MyGreengrassCore
輸出:
{ "tags": { "Owner": "richard-roe" } }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的標記資源。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListTagsForResource
。
-
下列程式碼範例示範如何使用 tag-resource
。
- AWS CLI
-
將標籤加入資源
下列
tag-resource
範例會將擁有者標籤新增至 AWS IoT Greengrass 核心裝置。您可以使用此標籤,根據擁有該標籤的人員來控制對核心裝置的存取。aws greengrassv2 tag-resource \ --resource-arn
arn:aws:greengrass:us-west-2:123456789012:coreDevices:MyGreengrassCore
\ --tagsOwner=richard-roe
此命令不會產生輸出。
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的標記您的 資源。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 TagResource
。
-
下列程式碼範例示範如何使用 untag-resource
。
- AWS CLI
-
從資源中移除標籤
下列
untag-resource
範例會從 AWS IoT Greengrass 核心裝置移除擁有者標籤。aws iotsitewise untag-resource \ --resource-arn
arn:aws:greengrass:us-west-2:123456789012:coreDevices:MyGreengrassCore
\ --tag-keysOwner
此命令不會產生輸出。
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的標記資源。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UntagResource
。
-
下列程式碼範例示範如何使用 update-connectivity-info
。
- AWS CLI
-
更新 Greengrass 核心裝置的連線資訊
下列
update-connectivity-info
範例會取得 Greengrass 核心裝置的連線資訊。用戶端裝置會使用此資訊來連線至在此核心裝置上執行的 MQTT 代理程式。aws greengrassv2 update-connectivity-info \ --thing-name
MyGreengrassCore
\ --cli-input-jsonfile://core-device-connectivity-info.json
core-device-connectivity-info.json
的內容:{ "connectivityInfo": [ { "hostAddress": "192.0.2.0", "portNumber": 8883, "id": "localIP_192.0.2.0" } ] }
輸出:
{ "version": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的管理核心裝置端點。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateConnectivityInfo
。
-