Kapsayıcı Api'lerini çağırma
Service Fabric düğümünde dağıtılan bir kapsayıcıda kapsayıcı API'si çağırma.
Verilen kod paketi için Service Fabric düğümünde dağıtılan bir kapsayıcıda kapsayıcı API'sini çağırın.
İstek
Yöntem | İstek URI'si |
---|---|
POST | /Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName={ServiceManifestName}&CodePackageName={CodePackageName}&CodePackageInstanceId={CodePackageInstanceId}&timeout={timeout} |
Parametreler
Ad | Tür | Gerekli | Konum |
---|---|---|---|
nodeName |
string | Yes | Yol |
applicationId |
string | Yes | Yol |
api-version |
string | Yes | Sorgu |
ServiceManifestName |
string | Yes | Sorgu |
CodePackageName |
string | Yes | Sorgu |
CodePackageInstanceId |
string | Yes | Sorgu |
timeout |
integer (int64) | No | Sorgu |
ContainerApiRequestBody |
ContainerApiRequestBody | Yes | Gövde |
nodeName
Tür: dize
Gerekli: Evet
Düğümün adı.
applicationId
Tür: dize
Gerekli: Evet
Uygulamanın kimliği. Bu genellikle 'fabric:' URI şeması olmayan uygulamanın tam adıdır.
Sürüm 6.0'dan başlayarak, hiyerarşik adlar "~" karakteriyle sınırlandırılır.
Örneğin, uygulama adı "fabric:/myapp/app1" ise, uygulama kimliği 6.0+ sürümünde "myapp~app1" ve önceki sürümlerde "myapp/app1" olacaktır.
api-version
Tür: dize
Gerekli: Evet
Varsayılan: 6.2
API'nin sürümü. Bu parametre gereklidir ve değeri '6.2' olmalıdır.
Service Fabric REST API sürümü, API'nin tanıtıldığı veya değiştirildiği çalışma zamanı sürümünü temel alır. Service Fabric çalışma zamanı API'nin birden fazla sürümünü destekler. Bu sürüm, API'nin desteklenen en son sürümüdür. Daha düşük bir API sürümü geçirilirse, döndürülen yanıt bu belirtimde belgelenen yanıttan farklı olabilir.
Ayrıca çalışma zamanı, çalışma zamanının geçerli sürümüne kadar desteklenen en son sürümden daha yüksek olan tüm sürümleri kabul eder. Dolayısıyla en son API sürümü 6.0 ve çalışma zamanı 6.1 ise çalışma zamanı bu API için 6.1 sürümünü kabul eder. Ancak API'nin davranışı, belgelenen 6.0 sürümüne göre olacaktır.
ServiceManifestName
Tür: dize
Gerekli: Evet
Service Fabric kümesindeki bir uygulama türünün parçası olarak kaydedilen bir hizmet bildiriminin adı.
CodePackageName
Tür: dize
Gerekli: Evet
Service Fabric kümesindeki bir uygulama türünün parçası olarak kaydedilen hizmet bildiriminde belirtilen kod paketinin adı.
CodePackageInstanceId
Tür: dize
Gerekli: Evet
Service Fabric düğümünde dağıtılan bir kod paketi örneğini benzersiz olarak tanımlayan kimlik.
timeout
Tür: tamsayı (int64)
Gerekli: Hayır
Varsayılan: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
İşlemi saniyeler içinde gerçekleştirmek için sunucu zaman aşımı. Bu zaman aşımı, istemcinin istenen işlemin tamamlanmasını beklemeye istekli olduğu süreyi belirtir. Bu parametre için varsayılan değer 60 saniyedir.
ContainerApiRequestBody
Tür: ContainerApiRequestBody
Gerekli: Evet
Kapsayıcı API çağrısı yapmak için parametreler
Yanıtlar
HTTP Durum Kodu | Description | Yanıt Şeması |
---|---|---|
200 (Tamam) | Başarılı bir işlem, verilen kod paketi için Service Fabric düğümünde dağıtılan bir kapsayıcı için 200 durum kodu ve kapsayıcı API'si yanıtı döndürür. |
ContainerApiResponse |
Diğer tüm durum kodları | Ayrıntılı hata yanıtı. |
Doku Oluşturucu |
Örnekler
Kapsayıcı günlüklerini alma
Bu örnekte, düğüme dağıtılan bir kod paketi için HTTP GET ile kapsayıcı API'sini çağırma gösterilmektedir.
İstek
POST http://localhost:19080/Nodes/Node01/$/GetApplications/samples/winnodejs/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName=NodeServicePackage&CodePackageName=NodeService.Code&CodePackageInstanceId=131668159770315380
Gövde
{
"UriPath": "/containers/{id}/logs?stdout=true&stderr=true"
}
200 Yanıt
Gövde
{
"ContainerApiResult": {
"Status": "200",
"Content-Type": "text/plain; charset=utf-8",
"Body": "vEthernet (Container NIC ec5c19b2) 172.17.201.44\n"
}
}
Kapsayıcıyı güncelleştirme
Bu örnekte, düğüme dağıtılan bir kod paketi için HTTP POST ile kapsayıcı API'sini çağırma gösterilmektedir.
İstek
POST http://localhost:19080/Nodes/N0020/$/GetApplications/samples/nodejs1/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName=NodeOnSF&CodePackageName=Code&CodePackageInstanceId=131673596679688285
Gövde
{
"HttpVerb": "POST",
"UriPath": "/containers/{id}/update",
"Body": "{ \"CpuShares\": 512}"
}
200 Yanıt
Gövde
{
"ContainerApiResult": {
"Status": "200",
"Content-Type": "application/json",
"Body": "{\"Warnings\":null}\n"
}
}