Entitások szűrése, rendezése és lapozása
Figyelmeztetés
Az Azure Media Services 2024. június 30-án megszűnik. További információkért lásd az AMS kivezetési útmutatóját.
Ez a témakör az Azure Media Services v3-entitások listázásakor elérhető OData-lekérdezési lehetőségeket és lapozási támogatást ismerteti.
Megfontolandó szempontok
- A típusú entitások
Datetime
tulajdonságai mindig UTC formátumban vannak. - A lekérdezési sztringben lévő szóközt URL-kódolással kell megadni a kérés elküldése előtt.
Összehasonlító operátorok
Az alábbi operátorok segítségével összehasonlíthat egy mezőt egy állandó értékkel:
Egyenlőségi operátorok:
eq
: Annak tesztelése, hogy egy mező egyenlő-e állandó értékkel.ne
: Annak tesztelése, hogy egy mező nem egyenlő-e állandó értékkel.
Tartományoperátorok:
gt
: Annak tesztelése, hogy egy mező nagyobb-e egy állandó értéknél .lt
: Annak tesztelése, hogy egy mező kisebb-e egy állandó értéknél .ge
: Annak tesztelése, hogy egy mező egy állandó értéknél nagyobb vagy egyenlő-e .le
: Annak tesztelése, hogy egy mező egy állandó értéknél kisebb vagy egyenlő-e .
Szűrő
OData-szűrőparaméter $filter
megadásával megkeresheti a kívánt objektumokat.
Az alábbi REST-példa egy objektum értékére szűr alternateId
:
GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mediaresources/providers/Microsoft.Media/mediaServices/amstestaccount/assets?api-version=2018-07-01&$filter=properties/alternateId%20eq%20'unique identifier'
Az alábbi C#-példa az objektum létrehozási dátumára szűr:
var odataQuery = new ODataQuery<Asset>("properties/created lt 2018-05-11T17:39:08.387Z");
var firstPage = await MediaServicesArmClient.Assets.ListAsync(CustomerResourceGroup, CustomerAccountName, odataQuery);
Rendezés
A visszaadott objektumok a megadott paraméter szerint történő rendezésére használható $orderby
. Például:
GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mediaresources/providers/Microsoft.Media/mediaServices/amstestaccount/assets?api-version=2018-07-01$orderby=properties/created%20gt%202018-05-11T17:39:08.387Z
Ha az eredményeket növekvő vagy csökkenő sorrendbe szeretné rendezni, fűzze hozzá vagy desc
a asc
mező nevét szóközzel elválasztva. Példa: $orderby properties/created desc
.
Token kihagyása
Ha egy lekérdezési válasz sok elemet tartalmaz, a szolgáltatás egy $skiptoken
(@odata.nextLink
) értéket ad vissza, amelyet az eredmények következő oldalának lekéréséhez használ. A használatával végiglaposhatja a teljes eredményhalmazt.
A Media Services v3-ban nem konfigurálhatja az oldalméretet. Az oldalméret az entitás típusától függően változik. A részletekért olvassa el az alábbi szakaszokat.
Ha a gyűjtemény lapozása közben entitások jönnek létre vagy törlődnek, a módosítások megjelennek a visszaadott eredményekben (ha ezek a módosítások a gyűjtemény nem letöltött részében találhatók).
Tipp
Mindig a gyűjtemény enumerálására használható nextLink
, és nem függ egy adott oldalmérettől.
Az nextLink
érték csak akkor jelenik meg, ha egynél több entitáslap van.
Tekintse meg az alábbi példát arra, hogy hol $skiptoken
használja a rendszer. Győződjön meg arról, hogy az amstestaccount értéket a fiók nevére cseréli, és az API-verzió értékét a legújabb verzióra állítja.
Ha az alábbihoz hasonló adategység-listát kér:
GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mediaresources/providers/Microsoft.Media/mediaServices/amstestaccount/assets?api-version=2018-07-01 HTTP/1.1
x-ms-client-request-id: dd57fe5d-f3be-4724-8553-4ceb1dbe5aab
Content-Type: application/json; charset=utf-8
Az alábbihoz hasonló választ fog kapni:
HTTP/1.1 200 OK
{
"value":[
{
"name":"Asset 0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/amstestaccount/assets/Asset 0","type":"Microsoft.Media/mediaservices/assets","properties":{
"assetId":"00000000-0000-0000-0000-000000000000","created":"2018-12-11T22:12:44.98Z","lastModified":"2018-12-11T22:15:48.003Z","container":"asset-00000000-0000-0000-0000-0000000000000","storageAccountName":"amsacctname","storageEncryptionFormat":"None"
}
},
// lots more assets
{
"name":"Asset 517","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/amstestaccount/assets/Asset 517","type":"Microsoft.Media/mediaservices/assets","properties":{
"assetId":"00000000-0000-0000-0000-000000000000","created":"2018-12-11T22:14:08.473Z","lastModified":"2018-12-11T22:19:29.657Z","container":"asset-00000000-0000-0000-0000-000000000000","storageAccountName":"amsacctname","storageEncryptionFormat":"None"
}
}
],"@odata.nextLink":"https:// management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mediaresources/providers/Microsoft.Media/mediaServices/amstestaccount/assets?api-version=2018-07-01&$skiptoken=Asset+517"
}
Ezután a következő oldalt a következő kérés elküldésével kérheti:
https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mediaresources/providers/Microsoft.Media/mediaServices/amstestaccount/assets?api-version=2018-07-01&$skiptoken=Asset+517
Az alábbi C#-példa bemutatja, hogyan lehet számba venni a fiók összes streamelési lokátorát.
var firstPage = await MediaServicesArmClient.StreamingLocators.ListAsync(CustomerResourceGroup, CustomerAccountName);
var currentPage = firstPage;
while (currentPage.NextPageLink != null)
{
currentPage = await MediaServicesArmClient.StreamingLocators.ListNextAsync(currentPage.NextPageLink);
}
Logikai operátorok használata a lekérdezési beállítások kombinálásához
A Media Services v3 támogatja az OR és a AND logikai operátorokat.
A következő REST-példa ellenőrzi a feladat állapotát:
https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qbtest/providers/Microsoft.Media/mediaServices/qbtest/transforms/VideoAnalyzerTransform/jobs?$filter=properties/state%20eq%20Microsoft.Media.JobState'Scheduled'%20or%20properties/state%20eq%20Microsoft.Media.JobState'Processing'&api-version=2018-07-01
A következő módon hozza létre ugyanazt a lekérdezést C# nyelven:
var odataQuery = new ODataQuery<Job>("properties/state eq Microsoft.Media.JobState'Scheduled' or properties/state eq Microsoft.Media.JobState'Processing'");
client.Jobs.List(config.ResourceGroup, config.AccountName, VideoAnalyzerTransformName, odataQuery);
Entitások szűrési és rendezési lehetőségei
Az alábbi táblázat bemutatja, hogyan alkalmazhatja a szűrési és rendezési beállításokat a különböző entitásokra:
Entitás neve | Tulajdonság neve | Szűrő | Sorrend |
---|---|---|---|
Adategységek | name | eq , gt , lt , ge , le |
asc és desc |
properties/alternateId | eq |
||
properties/assetId | eq |
||
tulajdonságok/létrehozva | eq , gt , lt |
asc és desc |
|
Tartalomkulcs-szabályzatok | name | eq , ne , ge , le , gt , lt |
asc és desc |
tulajdonságok/létrehozva | eq , ne , ge , le , gt , lt |
asc és desc |
|
tulajdonságok/leírás | eq , ne , ge , le , gt , lt |
||
properties/lastModified | eq , ne , ge , le , gt , lt |
asc és desc |
|
properties/policyId | eq , ne |
||
Feladatok | name | eq |
asc és desc |
properties/state | eq , ne |
||
tulajdonságok/létrehozva | gt , ge , lt , le |
asc és desc |
|
properties/lastModified | gt , ge , lt , le |
asc és desc |
|
Streamelési lokátorok | name | eq , ne , ge , le , gt , lt |
asc és desc |
tulajdonságok/létrehozva | eq , ne , ge , le , gt , lt |
asc és desc |
|
properties/endTime | eq , ne , ge , le , gt , lt |
asc és desc |
|
Streamelési szabályzatok | name | eq , ne , ge , le , gt , lt |
asc és desc |
tulajdonságok/létrehozva | eq , ne , ge , le , gt , lt |
asc és desc |
|
Átalakítások | name | eq |
asc és desc |
tulajdonságok/létrehozva | gt , ge , lt , le |
asc és desc |
|
properties/lastModified | gt , ge , lt , le |
asc és desc |
Súgó és támogatás
Kérdéseivel kapcsolatba léphet a Media Services szolgáltatással, vagy követheti a frissítéseket az alábbi módszerek egyikével:
- Q & A
- Stack Overflow. Kérdések címkézése a következővel:
azure-media-services
. - @MSFTAzureMediavagy @AzureSupport használatával kérhet támogatást.
- Nyisson meg egy támogatási jegyet a Azure Portal keresztül.