Händelser
31 mars 23 - 2 apr. 23
Det ultimata Community-ledda evenemanget för Microsoft Fabric, Power BI, SQL och AI. 31 mars till 2 april 2025.
Anmäl dig i dagDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
Du kan aktivera kontinuerlig integrering och distribution för Azure Stream Analytics-jobb med hjälp av REST-API:er. Den här artikeln innehåller exempel på vilka API:er som ska användas och hur du använder dem. REST-API:er stöds inte i Azure Cloud Shell.
REST-API:er kan anropas från både Linux och Windows. Följande kommandon visar korrekt syntax för API-anropet. Specifik API-användning beskrivs i senare avsnitt i den här artikeln.
För Linux kan du använda Curl
eller Wget
kommandon:
curl -u { <username:password> } -H "Content-Type: application/json" -X { <method> } -d "{ <request body> }" { <url> }
wget -q -O- --{ <method> } -data="<request body>" --header=Content-Type:application/json --auth-no-challenge --http-user="<Admin>" --http-password="<password>" <url>
För Windows använder du PowerShell:
$user = "<username>"
$pass = "<password>"
$encodedCreds = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$pass)))
$basicAuthValue = "Basic $encodedCreds"
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Content-Type", 'application/json')
$headers.Add("Authorization", $basicAuthValue)
$content = "<request body>"
$response = Invoke-RestMethod <url> -Method <method> -Body $content -Headers $Headers
echo $response
Om du vill skapa Stream Analytics-jobb anropar du PUT-metoden med hjälp av Stream Analytics-API:et.
Metod | Begärans-URL |
---|---|
PUT | https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{resource-group-name}/providers/Microsoft.StreamAnalytics/streamingjobs/{job-name}?api-version=2017-04-01-preview |
Exempel på kommando med curl:
curl -u { <username:password> } -H "Content-Type: application/json" -X { <method> } -d "{ <request body> }" https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{resource-group-name}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobname}?api-version=2017-04-01-preview
Exempel på begärandetext i JSON:
{
"location": "West US",
"tags": { "key": "value", "ms-suppressjobstatusmetrics": "true" },
"sku": {
"name": "Standard"
},
"properties": {
"sku": {
"name": "standard"
},
"eventsLateArrivalMaxDelayInSeconds": 1,
"jobType": "edge",
"inputs": [
{
"name": "{inputname}",
"properties": {
"type": "stream",
"serialization": {
"type": "JSON",
"properties": {
"fieldDelimiter": ",",
"encoding": "UTF8"
}
},
"datasource": {
"type": "GatewayMessageBus",
"properties": {
}
}
}
}
],
"transformation": {
"name": "{queryName}",
"properties": {
"query": "{query}"
}
},
"package": {
"storageAccount" : {
"accountName": "{blobstorageaccountname}",
"accountKey": "{blobstorageaccountkey}"
},
"container": "{blobcontaine}]"
},
"outputs": [
{
"name": "{outputname}",
"properties": {
"serialization": {
"type": "JSON",
"properties": {
"fieldDelimiter": ",",
"encoding": "UTF8"
}
},
"datasource": {
"type": "GatewayMessageBus",
"properties": {
}
}
}
}
]
}
}
Mer information finns i API-dokumentationen.
Om du vill publicera ett Stream Analytics-jobb på IoT Edge anropar du POST-metoden med hjälp av api:et IoT Edge Package Publish.
Metod | Begärans-URL |
---|---|
POST | https://management.azure.com/subscriptions/{subscriptionid}/resourceGroups/{resourcegroupname}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobname}/publishedgepackage?api-version=2017-04-01-preview |
Det tidigare anropet till IoT Edge Package Publish API utlöser en asynkron åtgärd och returnerar statusen 202. Platssvarshuvudet innehåller den URI som används för att hämta status för den asynkrona åtgärden. Ett anrop till URI:n i platshuvudet returnerar statusen 202 för att indikera att den asynkrona åtgärden fortfarande pågår. När åtgärden är klar returnerar anropet till URI:n i platshuvudet statusen 200.
Exempel på ett IoT Edge paketpubliceringsanrop med curl:
curl -d -X POST https://management.azure.com/subscriptions/{subscriptionid}/resourceGroups/{resourcegroupname}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobname}/publishedgepackage?api-version=2017-04-01-preview
När du har gjort POST-anropet bör du förvänta dig ett svar med en tom brödtext. Leta efter URI:n i platsrubriken för svaret och registrera den för vidare användning.
Exempel på URI från platsrubriken för svaret:
https://management.azure.com/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/Microsoft.StreamAnalytics/StreamingJobs/{resourcename}/OperationResults/{guidAssignedToTheAsynchronousOperation}?api-version=2017-04-01-preview
Vänta från några sekunder till ett par minuter innan du gör ett anrop till API:et vars URI du hittade i platshuvudet för svaret på IoT Edge Package Publish API och upprepa cykeln med väntande och återförsök tills du får ett svar på 200.
Exempel på att göra API-anrop med returnerad URL med curl:
curl -d –X GET https://management.azure.com/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/Microsoft.StreamAnalytics/StreamingJobs/{resourcename}/OperationResults/{guidAssignedToTheAsynchronousOperation}?api-version=2017-04-01-preview
Svaret innehåller den information som du behöver lägga till i IoT Edge distributionsskriptet. Exemplen nedan visar vilken information du behöver samla in och var du lägger till den i distributionsmanifestet.
Exempel på svarstext efter publicering:
{
edgePackageUrl : null
error : null
manifest : "{"supportedPlatforms":[{"os":"linux","arch":"amd64","features":[]},{"os":"linux","arch":"arm","features":[]},{"os":"windows","arch":"amd64","features":[]}],"schemaVersion":"2","name":"{jobname}","version":"1.0.0.0","type":"docker","settings":{"image":"{imageurl}","createOptions":null},"endpoints":{"inputs":["\],"outputs":["{outputnames}"]},"twin":{"contentType":"assignments","content":{"properties.desired":{"ASAJobInfo":"{asajobsasurl}","ASAJobResourceId":"{asajobresourceid}","ASAJobEtag":"{etag}","PublishTimeStamp":"{publishtimestamp}"}}}}"
status : "Succeeded"
}
Exempel på distributionsmanifest:
{
"modulesContent": {
"$edgeAgent": {
"properties.desired": {
"schemaVersion": "1.0",
"runtime": {
"type": "docker",
"settings": {
"minDockerVersion": "v1.25",
"loggingOptions": "",
"registryCredentials": {}
}
},
"systemModules": {
"edgeAgent": {
"type": "docker",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-agent:1.0",
"createOptions": "{}"
}
},
"edgeHub": {
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-hub:1.0",
"createOptions": "{}"
}
}
},
"modules": {
"<asajobname>": {
"version": "1.0",
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "<settings.image>",
"createOptions": "<settings.createOptions>"
}
"version": "<version>",
"env": {
"PlanId": {
"value": "stream-analytics-on-iot-edge"
}
}
}
},
"$edgeHub": {
"properties.desired": {
"schemaVersion": "1.0",
"routes": {
"route": "FROM /* INTO $upstream"
},
"storeAndForwardConfiguration": {
"timeToLiveSecs": 7200
}
}
},
"<asajobname>": {
"properties.desired": {<twin.content.properties.desired>}
}
}
}
När du har konfigurerat distributionsmanifestet läser du Distribuera Azure IoT Edge-moduler med Azure CLI för distribution.
Händelser
31 mars 23 - 2 apr. 23
Det ultimata Community-ledda evenemanget för Microsoft Fabric, Power BI, SQL och AI. 31 mars till 2 april 2025.
Anmäl dig i dagUtbildning
Utbildningsväg
AI-teknik för gränsenheter - Training
Den här utbildningsvägen syftar till att förklara hur du distribuerar AI på gränsen med hjälp av Azure-tjänster.
Certifiering
Microsoft Certified: Azure Developer Associate - Certifications
Build end-to-end solutions in Microsoft Azure to create Azure Functions, implement and manage web apps, develop solutions utilizing Azure storage, and more.