HTTP API başvurusu
Dayanıklı İşlevler uzantısı, düzenlemelerde, varlıklarda ve görev hub'larında yönetim görevlerini gerçekleştirmek için kullanılabilecek bir dizi yerleşik HTTP API'sini kullanıma sunar. Bu HTTP API'leri, Azure İşlevleri ana bilgisayarı tarafından yetkilendirilmiş ancak doğrudan Dayanıklı İşlevler uzantısı tarafından işlenen genişletilebilirlik web kancalarıdır.
Bu makalede bahsedilen API'lerin temel URL'si, işlev uygulamanızın temel URL'si ile aynıdır. Azure İşlevleri Temel Araçları'nı kullanarak yerel olarak geliştirme yaparken, temel URL genellikle http://localhost:7071
şeklindedir. barındırılan Azure İşlevleri hizmette temel URL genellikle https://{appName}.azurewebsites.net
şeklindedir. App Service uygulamanızda yapılandırılırsa özel konak adları da desteklenir.
Uzantı tarafından uygulanan tüm HTTP API'leri aşağıdaki parametreleri gerektirir. Tüm parametrelerin veri türü olur string
.
systemKey
Azure İşlevleri ana bilgisayarı tarafından otomatik olarak oluşturulan bir yetkilendirme anahtarıdır. Özel olarak Dayanıklı Görev uzantısı API'lerine erişim verir ve diğer Azure İşlevleri erişim anahtarlarıyla aynı şekilde yönetilebilir. .NET'teki createCheckStatusResponse
ve API'leri, JavaScript'teki ve systemKey
API'leri gibi CreateCheckStatusResponse
düzenleme istemci bağlama API'lerini kullanarak doğru taskHub
, connection
ve createHttpManagementPayload
sorgu dizesi değerlerini içeren URL'ler oluşturabilirsinizCreateHttpManagementPayload
.
Sonraki birkaç bölüm, uzantı tarafından desteklenen belirli HTTP API'lerini kapsar ve bunların nasıl kullanılabileceğini gösteren örnekler sağlar.
Düzenlemeyi başlatma
Belirtilen orchestrator işlevinin yeni bir örneğini yürütmeye başlar.
İste
İşlevler çalışma zamanının 1.x sürümü için istek aşağıdaki gibi biçimlendirilir (netlik için birden çok satır gösterilir):
POST /admin/extensions/DurableTaskExtension/orchestrators/{functionName}/{instanceId?}
?taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
İşlevler çalışma zamanının 2.x sürümünde URL biçiminin tümü aynı parametrelere sahiptir ancak biraz farklı bir ön eke sahiptir:
POST /runtime/webhooks/durabletask/orchestrators/{functionName}/{instanceId?}
?taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
Bu API için istek parametreleri, daha önce bahsedilen varsayılan kümenin yanı sıra aşağıdaki benzersiz parametreleri içerir:
Alan | Parametre türü | Açıklama |
---|---|---|
functionName |
URL | Başlatacak orchestrator işlevinin adı. |
instanceId |
URL | İsteğe bağlı parametre. Düzenleme örneğinin kimliği. Belirtilmezse, orchestrator işlevi rastgele bir örnek kimliğiyle başlar. |
{content} |
İçerik isteme | isteğe bağlı. JSON biçimli orchestrator işlev girişi. |
Response
Birkaç olası durum kodu değeri döndürülebilir.
- HTTP 202 (Kabul Edildi): Belirtilen orchestrator işlevi çalışmaya başlamak için zamanlandı. Yanıt
Location
üst bilgisi, düzenleme durumunu yoklama url'sini içerir. - HTTP 400 (Hatalı istek): Belirtilen orchestrator işlevi yok, belirtilen örnek kimliği geçerli değil veya istek içeriği geçerli değil JSON.
Aşağıda bir orchestrator işlevi başlatan ve JSON nesne yükünü içeren örnek bir RestartVMs
istek verilmiştir:
POST /runtime/webhooks/durabletask/orchestrators/RestartVMs?code=XXX
Content-Type: application/json
Content-Length: 83
{
"resourceGroup": "myRG",
"subscriptionId": "111deb5d-09df-4604-992e-a968345530a9"
}
HTTP 202 servis talepleri için yanıt yükü, aşağıdaki alanlara sahip bir JSON nesnesidir:
Alan | Açıklama |
---|---|
id |
Düzenleme örneğinin kimliği. |
statusQueryGetUri |
Düzenleme örneğinin durum URL'si. |
sendEventPostUri |
Düzenleme örneğinin "olay tetikle" URL'si. |
terminatePostUri |
Düzenleme örneğinin "sonlandırma" URL'si. |
purgeHistoryDeleteUri |
Düzenleme örneğinin "temizleme geçmişi" URL'si. |
rewindPostUri |
(önizleme) Düzenleme örneğinin "geri sarma" URL'si. |
suspendPostUri |
Düzenleme örneğinin "askıya alma" URL'si. |
resumePostUri |
Düzenleme örneğinin "özgeçmiş" URL'si. |
Tüm alanların veri türü şeklindedir string
.
Burada, kimliği (okunabilirlik için biçimlendirilmiş) olan abc123
bir düzenleme örneği için örnek bir yanıt yükü verilmiştir:
{
"id": "abc123",
"purgeHistoryDeleteUri": "http://localhost:7071/runtime/webhooks/durabletask/instances/abc123?code=XXX",
"sendEventPostUri": "http://localhost:7071/runtime/webhooks/durabletask/instances/abc123/raiseEvent/{eventName}?code=XXX",
"statusQueryGetUri": "http://localhost:7071/runtime/webhooks/durabletask/instances/abc123?code=XXX",
"terminatePostUri": "http://localhost:7071/runtime/webhooks/durabletask/instances/abc123/terminate?reason={text}&code=XXX",
"suspendPostUri": "http://localhost:7071/runtime/webhooks/durabletask/instances/abc123/suspend?reason={text}&code=XXX",
"resumePostUri": "http://localhost:7071/runtime/webhooks/durabletask/instances/abc123/resume?reason={text}&code=XXX"
}
HTTP yanıtının Yoklama Tüketici Düzeni ile uyumlu olması amaçlanmıştır. Ayrıca aşağıdaki önemli yanıt üst bilgilerini içerir:
- Konum: Durum uç noktasının URL'si. Bu URL alanıyla aynı değeri
statusQueryGetUri
içerir. - Yeniden Deneme-Sonra: Yoklama işlemleri arasında beklenmesi gereken saniye sayısı. Varsayılan değer şudur:
10
.
Zaman uyumsuz HTTP yoklama düzeni hakkında daha fazla bilgi için HTTP zaman uyumsuz işlem izleme belgelerine bakın.
Örnek durumunu alma
Belirtilen düzenleme örneğinin durumunu alır.
İste
İşlevler çalışma zamanının 1.x sürümü için istek aşağıdaki gibi biçimlendirilir (netlik için birden çok satır gösterilir):
GET /admin/extensions/DurableTaskExtension/instances/{instanceId}
?taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
&showHistory=[true|false]
&showHistoryOutput=[true|false]
&showInput=[true|false]
&returnInternalServerErrorOnFailure=[true|false]
İşlevler çalışma zamanının 2.x sürümünde URL biçiminin tümü aynı parametrelere sahiptir ancak biraz farklı bir ön eke sahiptir:
GET /runtime/webhooks/durabletask/instances/{instanceId}
?taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
&showHistory=[true|false]
&showHistoryOutput=[true|false]
&showInput=[true|false]
&returnInternalServerErrorOnFailure=[true|false]
Bu API için istek parametreleri, daha önce bahsedilen varsayılan kümenin yanı sıra aşağıdaki benzersiz parametreleri içerir:
Alan | Parametre türü | Açıklama |
---|---|---|
instanceId |
URL | Düzenleme örneğinin kimliği. |
showInput |
Sorgu dizesi | İsteğe bağlı parametre. olarak ayarlanırsa false , işlev girişi yanıt yüküne dahil edilmeyecektir. |
showHistory |
Sorgu dizesi | İsteğe bağlı parametre. olarak true ayarlanırsa, düzenleme yürütme geçmişi yanıt yüküne eklenir. |
showHistoryOutput |
Sorgu dizesi | İsteğe bağlı parametre. olarak ayarlanırsa true , işlev çıkışları düzenleme yürütme geçmişine eklenir. |
createdTimeFrom |
Sorgu dizesi | İsteğe bağlı parametre. Belirtildiğinde, verilen ISO8601 zaman damgasında veya sonrasında oluşturulan döndürülen örneklerin listesini filtreler. |
createdTimeTo |
Sorgu dizesi | İsteğe bağlı parametre. Belirtildiğinde, verilen ISO8601 zaman damgasında veya öncesinde oluşturulan döndürülen örneklerin listesini filtreler. |
runtimeStatus |
Sorgu dizesi | İsteğe bağlı parametre. Belirtildiğinde, döndürülen örneklerin listesini çalışma zamanı durumlarına göre filtreler. Olası çalışma zamanı durum değerlerinin listesini görmek için Örnekleri sorgulama makalesine bakın. |
returnInternalServerErrorOnFailure |
Sorgu dizesi | İsteğe bağlı parametre. olarak ayarlanırsa true , örnek hata durumundaysa bu API 200 yerine bir HTTP 500 yanıtı döndürür. Bu parametre otomatik durum yoklama senaryolarına yöneliktir. |
Response
Birkaç olası durum kodu değeri döndürülebilir.
- HTTP 200 (Tamam): Belirtilen örnek tamamlandı veya başarısız durumda.
- HTTP 202 (Kabul Edildi): Belirtilen örnek devam ediyor.
- HTTP 400 (Hatalı İstek): Belirtilen örnek başarısız oldu veya sonlandırıldı.
- HTTP 404 (Bulunamadı): Belirtilen örnek yok veya çalışmaya başlamadı.
- HTTP 500 (İç Sunucu Hatası): Yalnızca değeri olarak ayarlandığında
true
ve belirtilen örnek işlenmeyen bir özel durumla başarısız olduğundareturnInternalServerErrorOnFailure
döndürülür.
HTTP 200 ve HTTP 202 durumlarının yanıt yükü, aşağıdaki alanlara sahip bir JSON nesnesidir:
Alan | Veri türü | Açıklama |
---|---|---|
runtimeStatus |
Dize | Örneğin çalışma zamanı durumu. Değerler: Çalışıyor, Beklemede, Başarısız, İptal Edildi, Sonlandırıldı, Tamamlandı, Askıya Alındı. |
input |
JSON | Örneği başlatmak için kullanılan JSON verileri. Bu alan, null sorgu dizesi parametresi olarak ayarlandıysa showInput false olur. |
customStatus |
JSON | Özel düzenleme durumu için kullanılan JSON verileri. Bu alan ayarlanmadıysa.null |
output |
JSON | Örneğin JSON çıkışı. Bu alan, null örneğin tamamlanmış durumda olmamasıdır. |
createdTime |
Dize | Örneğin oluşturulduğu saat. ISO 8601 genişletilmiş gösterimini kullanır. |
lastUpdatedTime |
Dize | Örneğin son kalıcı olduğu saat. ISO 8601 genişletilmiş gösterimini kullanır. |
historyEvents |
JSON | Düzenleme yürütme geçmişini içeren bir JSON dizisi. Bu alan, null sorgu dizesi parametresi olarak ayarlanmadığı true sürece showHistory şeklindedir. |
Düzenleme yürütme geçmişi ve etkinlik çıkışları (okunabilirlik için biçimlendirilmiş) dahil olmak üzere örnek bir yanıt yükü aşağıda verilmiştir:
{
"createdTime": "2018-02-28T05:18:49Z",
"historyEvents": [
{
"EventType": "ExecutionStarted",
"FunctionName": "E1_HelloSequence",
"Timestamp": "2018-02-28T05:18:49.3452372Z"
},
{
"EventType": "TaskCompleted",
"FunctionName": "E1_SayHello",
"Result": "Hello Tokyo!",
"ScheduledTime": "2018-02-28T05:18:51.3939873Z",
"Timestamp": "2018-02-28T05:18:52.2895622Z"
},
{
"EventType": "TaskCompleted",
"FunctionName": "E1_SayHello",
"Result": "Hello Seattle!",
"ScheduledTime": "2018-02-28T05:18:52.8755705Z",
"Timestamp": "2018-02-28T05:18:53.1765771Z"
},
{
"EventType": "TaskCompleted",
"FunctionName": "E1_SayHello",
"Result": "Hello London!",
"ScheduledTime": "2018-02-28T05:18:53.5170791Z",
"Timestamp": "2018-02-28T05:18:53.891081Z"
},
{
"EventType": "ExecutionCompleted",
"OrchestrationStatus": "Completed",
"Result": [
"Hello Tokyo!",
"Hello Seattle!",
"Hello London!"
],
"Timestamp": "2018-02-28T05:18:54.3660895Z"
}
],
"input": null,
"customStatus": { "nextActions": ["A", "B", "C"], "foo": 2 },
"lastUpdatedTime": "2018-02-28T05:18:54Z",
"output": [
"Hello Tokyo!",
"Hello Seattle!",
"Hello London!"
],
"runtimeStatus": "Completed"
}
HTTP 202 yanıtı, daha önce bahsedilen alanla aynı URL'ye statusQueryGetUri
başvuran bir Konum yanıt üst bilgisi de içerir.
Tüm örneklerin durumunu alma
'Örnek durumunu al' isteğinden öğesini kaldırarak instanceId
tüm örneklerin durumunu da sorgulayabilirsiniz. Bu durumda, temel parametreler 'Örnek durumunu al' ile aynıdır. Filtreleme için sorgu dizesi parametreleri de desteklenir.
İste
İşlevler çalışma zamanının 1.x sürümü için istek aşağıdaki gibi biçimlendirilir (netlik için birden çok satır gösterilir):
GET /admin/extensions/DurableTaskExtension/instances
?taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
&createdTimeFrom={timestamp}
&createdTimeTo={timestamp}
&runtimeStatus={runtimeStatus1,runtimeStatus2,...}
&instanceIdPrefix={prefix}
&showInput=[true|false]
&top={integer}
İşlevler çalışma zamanının 2.x sürümünde URL biçiminin tümü aynı parametrelere sahiptir ancak biraz farklı bir ön eke sahiptir:
GET /runtime/webhooks/durableTask/instances?
taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
&createdTimeFrom={timestamp}
&createdTimeTo={timestamp}
&runtimeStatus={runtimeStatus1,runtimeStatus2,...}
&instanceIdPrefix={prefix}
&showInput=[true|false]
&top={integer}
Bu API için istek parametreleri, daha önce bahsedilen varsayılan kümenin yanı sıra aşağıdaki benzersiz parametreleri içerir:
Alan | Parametre türü | Açıklama |
---|---|---|
showInput |
Sorgu dizesi | İsteğe bağlı parametre. olarak ayarlanırsa false , işlev girişi yanıt yüküne dahil edilmeyecektir. |
showHistoryOutput |
Sorgu dizesi | İsteğe bağlı parametre. olarak ayarlanırsa true , işlev çıkışları düzenleme yürütme geçmişine eklenir. |
createdTimeFrom |
Sorgu dizesi | İsteğe bağlı parametre. Belirtildiğinde, verilen ISO8601 zaman damgasında veya sonrasında oluşturulan döndürülen örneklerin listesini filtreler. |
createdTimeTo |
Sorgu dizesi | İsteğe bağlı parametre. Belirtildiğinde, verilen ISO8601 zaman damgasında veya öncesinde oluşturulan döndürülen örneklerin listesini filtreler. |
runtimeStatus |
Sorgu dizesi | İsteğe bağlı parametre. Belirtildiğinde, döndürülen örneklerin listesini çalışma zamanı durumlarına göre filtreler. Olası çalışma zamanı durum değerlerinin listesini görmek için Örnekleri sorgulama makalesine bakın. |
instanceIdPrefix |
Sorgu dizesi | İsteğe bağlı parametre. Belirtildiğinde, döndürülen örneklerin listesini yalnızca örnek kimliği belirtilen ön ek dizesiyle başlayan örnekleri içerecek şekilde filtreler. Uzantının 2.7.2 sürümünden itibaren kullanılabilir. |
top |
Sorgu dizesi | İsteğe bağlı parametre. Belirtildiğinde, sorgu tarafından döndürülen örnek sayısını sınırlar. |
Response
Düzenleme durumu (okunabilirlik için biçimlendirilmiş) dahil olmak üzere yanıt yüklerine bir örnek aşağıda verilmiştir:
[
{
"instanceId": "7af46ff000564c65aafbfe99d07c32a5",
"runtimeStatus": "Completed",
"input": null,
"customStatus": null,
"output": [
"Hello Tokyo!",
"Hello Seattle!",
"Hello London!"
],
"createdTime": "2018-06-04T10:46:39Z",
"lastUpdatedTime": "2018-06-04T10:46:47Z"
},
{
"instanceId": "80eb7dd5c22f4eeba9f42b062794321e",
"runtimeStatus": "Running",
"input": null,
"customStatus": null,
"output": null,
"createdTime": "2018-06-04T15:18:28Z",
"lastUpdatedTime": "2018-06-04T15:18:38Z"
},
{
"instanceId": "9124518926db408ab8dfe84822aba2b1",
"runtimeStatus": "Completed",
"input": null,
"customStatus": null,
"output": [
"Hello Tokyo!",
"Hello Seattle!",
"Hello London!"
],
"createdTime": "2018-06-04T10:46:54Z",
"lastUpdatedTime": "2018-06-04T10:47:03Z"
},
{
"instanceId": "d100b90b903c4009ba1a90868331b11b",
"runtimeStatus": "Pending",
"input": null,
"customStatus": null,
"output": null,
"createdTime": "2018-06-04T15:18:39Z",
"lastUpdatedTime": "2018-06-04T15:18:39Z"
}
]
Not
Varsayılan Azure Depolama sağlayıcısını kullanıyorsanız ve Örnekler tablosunda çok fazla satır varsa bu işlem Azure Depolama G/Ç açısından çok pahalı olabilir. Örnek tablosuyla ilgili diğer ayrıntılar Azure Depolama sağlayıcısı belgelerinde bulunabilir.
Daha fazla sonuç varsa, yanıt üst bilgisinde bir devamlılık belirteci döndürülür. Üst bilginin adı şeklindedir x-ms-continuation-token
.
Dikkat
Sorgu sonucu tarafından top
belirtilen sınırdan daha az öğe döndürebilir. Bu nedenle sonuçları alırken süreklilik belirteci olup olmadığını her zaman denetlemeniz gerekir.
Sonraki istek üst bilgisinde devamlılık belirteci değeri ayarlarsanız, bir sonraki sonuç sayfasını alabilirsiniz. İstek üst bilgisinin bu adı da x-ms-continuation-token
şeklindedir.
Tek örnek geçmişini temizleme
Belirtilen düzenleme örneğinin geçmişini ve ilgili yapıtlarını siler.
İste
İşlevler çalışma zamanının 1.x sürümü için istek aşağıdaki gibi biçimlendirilir (netlik için birden çok satır gösterilir):
DELETE /admin/extensions/DurableTaskExtension/instances/{instanceId}
?taskHub={taskHub}
&connection={connection}
&code={systemKey}
İşlevler çalışma zamanının 2.x sürümünde URL biçiminin tümü aynı parametrelere sahiptir ancak biraz farklı bir ön eke sahiptir:
DELETE /runtime/webhooks/durabletask/instances/{instanceId}
?taskHub={taskHub}
&connection={connection}
&code={systemKey}
Bu API için istek parametreleri, daha önce bahsedilen varsayılan kümenin yanı sıra aşağıdaki benzersiz parametreleri içerir:
Alan | Parametre türü | Açıklama |
---|---|---|
instanceId |
URL | Düzenleme örneğinin kimliği. |
Response
Aşağıdaki HTTP durum kodu değerleri döndürülebilir.
- HTTP 200 (Tamam):Örnek geçmişi başarıyla temizlendi.
- HTTP 404 (Bulunamadı): Belirtilen örnek yok.
HTTP 200 olayı için yanıt yükü, aşağıdaki alana sahip bir JSON nesnesidir:
Alan | Veri türü | Açıklama |
---|---|---|
instancesDeleted |
integer | Silinen örnek sayısı. Tek örnek örneği için bu değer her zaman olmalıdır 1 . |
Aşağıda örnek bir yanıt yükü verilmiştir (okunabilirlik için biçimlendirilmiş):
{
"instancesDeleted": 1
}
Birden çok örnek geçmişlerini temizleme
'Tek örnek geçmişini temizle' isteğinden öğesini kaldırarak {instanceId}
bir görev hub'ı içindeki birden çok örneğin geçmişini ve ilgili yapıtlarını da silebilirsiniz. Örnek geçmişini seçmeli olarak temizlemek için 'Tüm örneklerin durumunu al' isteğinde açıklanan filtreleri kullanın.
İste
İşlevler çalışma zamanının 1.x sürümü için istek aşağıdaki gibi biçimlendirilir (netlik için birden çok satır gösterilir):
DELETE /admin/extensions/DurableTaskExtension/instances
?taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
&createdTimeFrom={timestamp}
&createdTimeTo={timestamp}
&runtimeStatus={runtimeStatus1,runtimeStatus2,...}
İşlevler çalışma zamanının 2.x sürümünde URL biçiminin tümü aynı parametrelere sahiptir ancak biraz farklı bir ön eke sahiptir:
DELETE /runtime/webhooks/durabletask/instances
?taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
&createdTimeFrom={timestamp}
&createdTimeTo={timestamp}
&runtimeStatus={runtimeStatus1,runtimeStatus2,...}
Bu API için istek parametreleri, daha önce bahsedilen varsayılan kümenin yanı sıra aşağıdaki benzersiz parametreleri içerir:
Alan | Parametre türü | Açıklama |
---|---|---|
createdTimeFrom |
Sorgu dizesi | Verilen ISO8601 zaman damgasında veya sonrasında oluşturulan temizlenmemiş örneklerin listesini filtreler. |
createdTimeTo |
Sorgu dizesi | İsteğe bağlı parametre. Belirtildiğinde, verilen ISO8601 zaman damgasında veya öncesinde oluşturulan temizlenmemiş örneklerin listesini filtreler. |
runtimeStatus |
Sorgu dizesi | İsteğe bağlı parametre. Belirtildiğinde, temizlenir örneklerin listesini çalışma zamanı durumlarına göre filtreler. Olası çalışma zamanı durum değerlerinin listesini görmek için Örnekleri sorgulama makalesine bakın. |
Not
Varsayılan Azure Depolama sağlayıcısını kullanıyorsanız ve Örnekler ve/veya Geçmiş tablolarında çok fazla satır varsa bu işlem Azure Depolama G/Ç açısından çok pahalı olabilir. Bu tablolarla ilgili diğer ayrıntılar Dayanıklı İşlevler (Azure İşlevleri) içinde performans ve ölçeklendirme belgelerinde bulunabilir.
Response
Aşağıdaki HTTP durum kodu değerleri döndürülebilir.
- HTTP 200 (Tamam):Örnek geçmişi başarıyla temizlendi.
- HTTP 404 (Bulunamadı): Filtre ifadesiyle eşleşen hiçbir örnek bulunamadı.
HTTP 200 olayı için yanıt yükü, aşağıdaki alana sahip bir JSON nesnesidir:
Alan | Veri türü | Açıklama |
---|---|---|
instancesDeleted |
integer | Silinen örnek sayısı. |
Aşağıda örnek bir yanıt yükü verilmiştir (okunabilirlik için biçimlendirilmiş):
{
"instancesDeleted": 250
}
Olay oluşturma
Çalışan bir düzenleme örneğine olay bildirim iletisi gönderir.
İste
İşlevler çalışma zamanının 1.x sürümü için istek aşağıdaki gibi biçimlendirilir (netlik için birden çok satır gösterilir):
POST /admin/extensions/DurableTaskExtension/instances/{instanceId}/raiseEvent/{eventName}
?taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
İşlevler çalışma zamanının 2.x sürümünde URL biçiminin tümü aynı parametrelere sahiptir ancak biraz farklı bir ön eke sahiptir:
POST /runtime/webhooks/durabletask/instances/{instanceId}/raiseEvent/{eventName}
?taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
Bu API için istek parametreleri, daha önce bahsedilen varsayılan kümenin yanı sıra aşağıdaki benzersiz parametreleri içerir:
Alan | Parametre türü | Açıklama |
---|---|---|
instanceId |
URL | Düzenleme örneğinin kimliği. |
eventName |
URL | Hedef düzenleme örneğinin beklediği olayın adı. |
{content} |
İçerik isteme | JSON biçimli olay yükü. |
Response
Birkaç olası durum kodu değeri döndürülebilir.
- HTTP 202 (Kabul Edildi): Oluşturulan olay işlenmek üzere kabul edildi.
- HTTP 400 (Hatalı istek): İstek içeriği türünde
application/json
değildi veya geçerli JSON değildi. - HTTP 404 (Bulunamadı): Belirtilen örnek bulunamadı.
- HTTP 410 (Gitti): Belirtilen örnek tamamlandı veya başarısız oldu ve oluşturulan olayları işleyemiyor.
JSON dizesini "incr"
işlem adlı bir olayı bekleyen bir örneğe gönderen örnek bir istek aşağıda verilmiştir:
POST /admin/extensions/DurableTaskExtension/instances/bcf6fb5067b046fbb021b52ba7deae5a/raiseEvent/operation?taskHub=DurableFunctionsHub&connection=Storage&code=XXX
Content-Type: application/json
Content-Length: 6
"incr"
Bu API'nin yanıtları herhangi bir içerik içermiyor.
Örneği sonlandırma
Çalışan bir düzenleme örneğini sonlandırır.
İste
İşlevler çalışma zamanının 1.x sürümü için istek aşağıdaki gibi biçimlendirilir (netlik için birden çok satır gösterilir):
POST /admin/extensions/DurableTaskExtension/instances/{instanceId}/terminate
?taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
&reason={text}
İşlevler çalışma zamanının 2.x sürümünde URL biçiminin tümü aynı parametrelere sahiptir ancak biraz farklı bir ön eke sahiptir:
POST /runtime/webhooks/durabletask/instances/{instanceId}/terminate
?taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
&reason={text}
Bu API için istek parametreleri, daha önce bahsedilen varsayılan kümenin yanı sıra aşağıdaki benzersiz parametreyi içerir.
Alan | Parametre Türü | Açıklama |
---|---|---|
instanceId |
URL | Düzenleme örneğinin kimliği. |
reason |
Sorgu dizesi | isteğe bağlı. Düzenleme örneğini sonlandırmanın nedeni. |
Response
Birkaç olası durum kodu değeri döndürülebilir.
- HTTP 202 (Kabul Edildi): Sonlandırma isteği işlenmek üzere kabul edildi.
- HTTP 404 (Bulunamadı): Belirtilen örnek bulunamadı.
- HTTP 410 (Gitti): Belirtilen örnek tamamlandı veya başarısız oldu.
Çalışan örneği sonlandıran ve buggy nedenini belirten örnek bir istek aşağıda verilmiştir:
POST /admin/extensions/DurableTaskExtension/instances/bcf6fb5067b046fbb021b52ba7deae5a/terminate?reason=buggy&taskHub=DurableFunctionsHub&connection=Storage&code=XXX
Bu API'nin yanıtları herhangi bir içerik içermiyor.
Örneği askıya alma
Çalışan bir düzenleme örneğini askıya alır.
İste
İşlevler çalışma zamanının 2.x sürümünde istek aşağıdaki gibi biçimlendirilir (netlik için birden çok satır gösterilir):
POST /runtime/webhooks/durabletask/instances/{instanceId}/suspend
?reason={text}
&taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
Alan | Parametre Türü | Açıklama |
---|---|---|
instanceId |
URL | Düzenleme örneğinin kimliği. |
reason |
Sorgu dizesi | isteğe bağlı. Düzenleme örneğini askıya alma nedeni. |
Birkaç olası durum kodu değeri döndürülebilir.
- HTTP 202 (Kabul Edildi): Askıya alma isteği işlenmek üzere kabul edildi.
- HTTP 404 (Bulunamadı): Belirtilen örnek bulunamadı.
- HTTP 410 (Gitti): Belirtilen örnek tamamlandı, başarısız oldu veya sonlandırıldı.
Bu API'nin yanıtları herhangi bir içerik içermiyor.
Özgeçmiş örneği
Askıya alınmış bir düzenleme örneğini sürdürür.
İste
İşlevler çalışma zamanının 2.x sürümünde istek aşağıdaki gibi biçimlendirilir (netlik için birden çok satır gösterilir):
POST /runtime/webhooks/durabletask/instances/{instanceId}/resume
?reason={text}
&taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
Alan | Parametre Türü | Açıklama |
---|---|---|
instanceId |
URL | Düzenleme örneğinin kimliği. |
reason |
Sorgu dizesi | isteğe bağlı. Düzenleme örneğini devam ettiren neden. |
Birkaç olası durum kodu değeri döndürülebilir.
- HTTP 202 (Kabul Edildi): Özgeçmiş isteği işlenmek üzere kabul edildi.
- HTTP 404 (Bulunamadı): Belirtilen örnek bulunamadı.
- HTTP 410 (Gitti): Belirtilen örnek tamamlandı, başarısız oldu veya sonlandırıldı.
Bu API'nin yanıtları herhangi bir içerik içermiyor.
Geri sarma örneği (önizleme)
En son başarısız işlemleri yeniden yürüterek başarısız bir düzenleme örneğini çalışır duruma geri yükler.
İste
İşlevler çalışma zamanının 1.x sürümü için istek aşağıdaki gibi biçimlendirilir (netlik için birden çok satır gösterilir):
POST /admin/extensions/DurableTaskExtension/instances/{instanceId}/rewind
?taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
&reason={text}
İşlevler çalışma zamanının 2.x sürümünde URL biçiminin tümü aynı parametrelere sahiptir ancak biraz farklı bir ön eke sahiptir:
POST /runtime/webhooks/durabletask/instances/{instanceId}/rewind
?taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
&reason={text}
Bu API için istek parametreleri, daha önce bahsedilen varsayılan kümenin yanı sıra aşağıdaki benzersiz parametreyi içerir.
Alan | Parametre Türü | Açıklama |
---|---|---|
instanceId |
URL | Düzenleme örneğinin kimliği. |
reason |
Sorgu dizesi | isteğe bağlı. Düzenleme örneğini geri sarmanın nedeni. |
Response
Birkaç olası durum kodu değeri döndürülebilir.
- HTTP 202 (Kabul Edildi): Geri sarma isteği işlenmek üzere kabul edildi.
- HTTP 404 (Bulunamadı): Belirtilen örnek bulunamadı.
- HTTP 410 (Gitti): Belirtilen örnek tamamlandı veya sonlandırıldı.
Aşağıda, başarısız bir örneği geri sarmalayan ve düzeltildi nedenini belirten örnek bir istek verilmiştir:
POST /admin/extensions/DurableTaskExtension/instances/bcf6fb5067b046fbb021b52ba7deae5a/rewind?reason=fixed&taskHub=DurableFunctionsHub&connection=Storage&code=XXX
Bu API'nin yanıtları herhangi bir içerik içermiyor.
Sinyal varlığı
Dayanıklı Varlığa tek yönlü işlem iletisi gönderir. Varlık yoksa, otomatik olarak oluşturulur.
Not
Dayanıklı varlıklar Dayanıklı İşlevler 2.0'dan itibaren kullanılabilir.
İste
HTTP isteği aşağıdaki gibi biçimlendirilir (netlik için birden çok satır gösterilir):
POST /runtime/webhooks/durabletask/entities/{entityName}/{entityKey}
?taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
&op={operationName}
Bu API için istek parametreleri, daha önce bahsedilen varsayılan kümenin yanı sıra aşağıdaki benzersiz parametreleri içerir:
Alan | Parametre türü | Açıklama |
---|---|---|
entityName |
URL | Varlığın adı (türü). |
entityKey |
URL | Varlığın anahtarı (benzersiz kimlik). |
op |
Sorgu dizesi | isteğe bağlı. Çağrılacak kullanıcı tanımlı işlemin adı. |
{content} |
İçerik isteme | JSON biçimli olay yükü. |
Aşağıda adlı steps
varlığa kullanıcı tanımlı bir "Ekle" iletisi gönderen örnek bir Counter
istek verilmiştir. İletinin içeriği değeridir 5
. Varlık henüz yoksa, bu istek tarafından oluşturulur:
POST /runtime/webhooks/durabletask/entities/Counter/steps?op=Add
Content-Type: application/json
5
Not
.NET'teki sınıf tabanlı varlıklarda varsayılan olarak değerinin delete
belirtilmesi op
bir varlığın durumunu siler. Ancak varlık adlı delete
bir işlem tanımlarsa, bunun yerine kullanıcı tanımlı işlem çağrılır.
Response
Bu işlemin birkaç olası yanıtı vardır:
- HTTP 202 (Kabul Edildi): Sinyal işlemi zaman uyumsuz işleme için kabul edildi.
- HTTP 400 (Hatalı istek): İstek içeriği türünde
application/json
değildi, geçerli bir JSON değildi veya geçersizentityKey
bir değere sahipti. - HTTP 404 (Bulunamadı): Belirtilen
entityName
bulunamadı.
Başarılı bir HTTP isteği yanıtta herhangi bir içerik içermiyor. Başarısız bir HTTP isteği, yanıt içeriğinde JSON biçimli hata bilgileri içerebilir.
Varlık alma
Belirtilen varlığın durumunu alır.
İste
HTTP isteği aşağıdaki gibi biçimlendirilir (netlik için birden çok satır gösterilir):
GET /runtime/webhooks/durabletask/entities/{entityName}/{entityKey}
?taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
Response
Bu işlemin iki olası yanıtı vardır:
- HTTP 200 (Tamam):Belirtilen varlık var.
- HTTP 404 (Bulunamadı): Belirtilen varlık bulunamadı.
Başarılı bir yanıt, içeriği olarak varlığın JSON serileştirilmiş durumunu içerir.
Örnek
Aşağıdaki örnek HTTP isteği adlı steps
mevcut Counter
varlığın durumunu alır:
GET /runtime/webhooks/durabletask/entities/Counter/steps
Counter
Varlık yalnızca bir currentValue
alana kaydedilmiş birkaç adım içeriyorsa, yanıt içeriği aşağıdaki gibi görünebilir (okunabilirlik için biçimlendirilmiş):
{
"currentValue": 5
}
Liste varlıkları
Varlık adına göre veya son işlem tarihine göre birden çok varlık sorgulayabilirsiniz.
İste
HTTP isteği aşağıdaki gibi biçimlendirilir (netlik için birden çok satır gösterilir):
GET /runtime/webhooks/durabletask/entities/{entityName}
?taskHub={taskHub}
&connection={connectionName}
&code={systemKey}
&lastOperationTimeFrom={timestamp}
&lastOperationTimeTo={timestamp}
&fetchState=[true|false]
&top={integer}
Bu API için istek parametreleri, daha önce bahsedilen varsayılan kümenin yanı sıra aşağıdaki benzersiz parametreleri içerir:
Alan | Parametre türü | Açıklama |
---|---|---|
entityName |
URL | isteğe bağlı. Belirtildiğinde, döndürülen varlıkların listesini varlık adlarına göre filtreler (büyük/küçük harfe duyarsız). |
fetchState |
Sorgu dizesi | İsteğe bağlı parametre. olarak ayarlanırsa true , varlık durumu yanıt yüküne eklenir. |
lastOperationTimeFrom |
Sorgu dizesi | İsteğe bağlı parametre. Belirtildiğinde, verilen ISO8601 zaman damgasından sonra işlemleri işleyen döndürülen varlıkların listesini filtreler. |
lastOperationTimeTo |
Sorgu dizesi | İsteğe bağlı parametre. Belirtildiğinde, verilen ISO8601 zaman damgasından önce işlemleri işleyen döndürülen varlıkların listesini filtreler. |
top |
Sorgu dizesi | İsteğe bağlı parametre. Belirtildiğinde, sorgu tarafından döndürülen varlık sayısını sınırlar. |
Response
Başarılı bir HTTP 200 yanıtı JSON serileştirilmiş varlık dizisi ve isteğe bağlı olarak her varlığın durumunu içerir.
Varsayılan olarak işlem, sorgu ölçütlerine uyan ilk 100 varlığı döndürür. Çağıran, farklı bir maksimum sonuç sayısı döndürmek için için top
bir sorgu dizesi parametre değeri belirtebilir. Döndürülenin ötesinde daha fazla sonuç varsa, yanıt üst bilgisinde bir devamlılık belirteci de döndürülür. Üst bilginin adı şeklindedir x-ms-continuation-token
.
Sonraki istek üst bilgisinde devamlılık belirteci değeri ayarlarsanız, bir sonraki sonuç sayfasını alabilirsiniz. İstek üst bilgisinin bu adı da x-ms-continuation-token
şeklindedir.
Örnek - tüm varlıkları listeleme
Aşağıdaki örnek HTTP isteği, görev hub'ında tüm varlıkları listeler:
GET /runtime/webhooks/durabletask/entities
JSON yanıtı aşağıdaki gibi görünebilir (okunabilirlik için biçimlendirilmiş):
[
{
"entityId": { "key": "cats", "name": "counter" },
"lastOperationTime": "2019-12-18T21:45:44.6326361Z",
},
{
"entityId": { "key": "dogs", "name": "counter" },
"lastOperationTime": "2019-12-18T21:46:01.9477382Z"
},
{
"entityId": { "key": "mice", "name": "counter" },
"lastOperationTime": "2019-12-18T21:46:15.4626159Z"
},
{
"entityId": { "key": "radio", "name": "device" },
"lastOperationTime": "2019-12-18T21:46:18.2616154Z"
},
]
Örnek - varlık listesini filtreleme
Aşağıdaki örnek HTTP isteği türündeki counter
yalnızca ilk iki varlığı listeler ve ayrıca durumlarını getirir:
GET /runtime/webhooks/durabletask/entities/counter?top=2&fetchState=true
JSON yanıtı aşağıdaki gibi görünebilir (okunabilirlik için biçimlendirilmiş):
[
{
"entityId": { "key": "cats", "name": "counter" },
"lastOperationTime": "2019-12-18T21:45:44.6326361Z",
"state": { "value": 9 }
},
{
"entityId": { "key": "dogs", "name": "counter" },
"lastOperationTime": "2019-12-18T21:46:01.9477382Z",
"state": { "value": 10 }
}
]
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin