Panggil Api Kontainer
Panggil API kontainer pada kontainer yang disebarkan pada node Service Fabric.
Panggil API kontainer pada kontainer yang disebarkan pada node Service Fabric untuk paket kode yang diberikan.
Minta
Metode | URI Permintaan |
---|---|
POST | /Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName={ServiceManifestName}&CodePackageName={CodePackageName}&CodePackageInstanceId={CodePackageInstanceId}&timeout={timeout} |
Parameter
Nama | Jenis | Diperlukan | Lokasi |
---|---|---|---|
nodeName |
string | Ya | Jalur |
applicationId |
string | Ya | Jalur |
api-version |
string | Ya | Kueri |
ServiceManifestName |
string | Ya | Kueri |
CodePackageName |
string | Ya | Kueri |
CodePackageInstanceId |
string | Ya | Kueri |
timeout |
bilangan bulat (int64) | Tidak | Kueri |
ContainerApiRequestBody |
ContainerApiRequestBody | Ya | Isi |
nodeName
Jenis: string
Diperlukan: Ya
Nama node.
applicationId
Jenis: string
Diperlukan: Ya
Identitas aplikasi. Ini biasanya nama lengkap aplikasi tanpa skema URI 'fabric:'.
Mulai dari versi 6.0, nama hierarki dibatasi dengan karakter “~”.
Misalnya, jika nama aplikasi adalah "fabric:/myapp/app1", identitas aplikasi akan menjadi "myapp~app1" di versi 6.0+ dan "myapp/app1" di versi sebelumnya.
api-version
Jenis: string
Diperlukan: Ya
Default: 6.2
Versi API. Parameter ini diperlukan dan nilainya harus '6.2'.
Versi SERVICE Fabric REST API didasarkan pada versi runtime tempat API diperkenalkan atau diubah. Runtime Service Fabric mendukung lebih dari satu versi API. Versi ini adalah versi TERBARU api yang didukung. Jika versi API yang lebih rendah diteruskan, respons yang dikembalikan mungkin berbeda dari yang didokumenkan dalam spesifikasi ini.
Selain itu, runtime menerima versi apa pun yang lebih tinggi dari versi terbaru yang didukung hingga versi runtime saat ini. Jadi, jika versi API terbaru adalah 6.0 dan runtime adalah 6.1, runtime akan menerima versi 6.1 untuk API tersebut. Namun perilaku API akan sesuai versi 6.0 yang didokumentasikan.
ServiceManifestName
Jenis: string
Diperlukan: Ya
Nama manifes layanan yang terdaftar sebagai bagian dari jenis aplikasi dalam kluster Service Fabric.
CodePackageName
Jenis: string
Diperlukan: Ya
Nama paket kode yang ditentukan dalam manifes layanan yang terdaftar sebagai bagian dari jenis aplikasi dalam kluster Service Fabric.
CodePackageInstanceId
Jenis: string
Diperlukan: Ya
ID yang secara unik mengidentifikasi instans paket kode yang diterapkan pada node service fabric.
timeout
Jenis: bilangan bulat (int64)
Diperlukan: Tidak
Default: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
Batas waktu server untuk melakukan operasi dalam hitungan detik. Batas waktu ini menentukan durasi waktu klien bersedia menunggu operasi yang diminta selesai. Nilai default untuk parameter ini adalah 60 detik.
ContainerApiRequestBody
Jenis: ContainerApiRequestBody
Diperlukan: Ya
Parameter untuk melakukan panggilan API kontainer
Respons
Kode Status HTTP | Deskripsi | Skema Respons |
---|---|---|
200 (OK) | Operasi yang berhasil akan mengembalikan 200 kode status dan respons API kontainer untuk kontainer yang disebarkan pada node Service Fabric untuk paket kode yang diberikan. |
ContainerApiResponse |
Semua kode status lainnya | Respons kesalahan terperinci. |
FabricError |
Contoh
Mendapatkan log kontainer
Contoh ini menunjukkan cara memanggil API kontainer dengan HTTP GET untuk paket kode yang disebarkan pada node.
Minta
POST http://localhost:19080/Nodes/Node01/$/GetApplications/samples/winnodejs/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName=NodeServicePackage&CodePackageName=NodeService.Code&CodePackageInstanceId=131668159770315380
Isi
{
"UriPath": "/containers/{id}/logs?stdout=true&stderr=true"
}
Respons 200
Isi
{
"ContainerApiResult": {
"Status": "200",
"Content-Type": "text/plain; charset=utf-8",
"Body": "vEthernet (Container NIC ec5c19b2) 172.17.201.44\n"
}
}
Memperbarui kontainer
Contoh ini menunjukkan cara memanggil API kontainer dengan HTTP POST untuk paket kode yang disebarkan pada node.
Minta
POST http://localhost:19080/Nodes/N0020/$/GetApplications/samples/nodejs1/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName=NodeOnSF&CodePackageName=Code&CodePackageInstanceId=131673596679688285
Isi
{
"HttpVerb": "POST",
"UriPath": "/containers/{id}/update",
"Body": "{ \"CpuShares\": 512}"
}
Respons 200
Isi
{
"ContainerApiResult": {
"Status": "200",
"Content-Type": "application/json",
"Body": "{\"Warnings\":null}\n"
}
}