ภาพรวมเป้าหมายที่โฮสต์

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
ข้อมูล

เป้าหมายที่โฮสต์ช่วยให้คุณเรียกใช้แอปพลิเคชัน Node.js ในสภาพแวดล้อมรันไทม์ดั้งเดิมที่ฝากโดย Apigee ได้ เป้าหมายของเป้าหมายที่โฮสต์นั้นง่ายมาก นั่นคือทำให้คุณทำให้แอปพลิเคชันใช้งานได้ในสภาพแวดล้อมแบบเนทีฟที่ปลอดภัย รองรับการปรับขนาด และแยกต่างหาก ซึ่งพร็อกซี Edge API สามารถเรียกแอปพลิเคชันเหล่านั้นว่าเป็นบริการเป้าหมายได้

ดังที่เห็นในภาพต่อไปนี้ พร็อกซี Edge API จะเรียกแอปพลิเคชัน Node.js ที่มีการทำให้ใช้งานได้กับสภาพแวดล้อมเป้าหมายที่โฮสต์ โปรดทราบว่าสภาพแวดล้อมเป้าหมายที่โฮสต์จะกำหนดขอบเขตภายในองค์กร Apigee:environment

การรับพร็อกซี Edge API เพื่อสื่อสารกับแอปพลิเคชันเป้าหมายที่โฮสต์ซึ่งสร้างขึ้นอย่างถูกต้องและทำให้ใช้งานได้แล้วจำเป็นต้องใช้การกำหนดค่าแบบง่ายในปลายทางเป้าหมายของพร็อกซี หากต้องการเริ่มต้นใช้งาน ให้ไปที่บทแนะนำเกี่ยวกับเป้าหมายที่โฮสต์

เป้าหมายที่โฮสต์รองรับรันไทม์ของแอปพลิเคชันใดบ้าง

ปัจจุบันคุณสามารถทำให้แอป Node.js ใช้งานได้เฉพาะกับเป้าหมายที่โฮสต์เท่านั้น

การติดตั้งเป้าหมายที่โฮสต์

เป้าหมายที่โฮสต์ใช้งานได้ในองค์กร Edge Public Cloud ทั้งหมด คุณไม่จำเป็นต้องติดตั้งสิ่งใดเพื่อใช้เป้าหมายที่โฮสต์

ตรวจสอบว่าได้เปิดใช้เป้าหมายที่โฮสต์แล้ว

หากต้องการยืนยันว่าองค์กรได้เปิดใช้เป้าหมายที่โฮสต์ ให้ดูรายละเอียดขององค์กรและตรวจสอบว่าตั้งค่าพร็อพเพอร์ตี้ features.isEdgeFunctionsEnabled เป็น "จริง" แล้ว พร็อพเพอร์ตี้เป็นแบบอ่านอย่างเดียว

เช่น

https://api.enterprise.apigee.com/v1/organizations/myorg

  {
     "createdAt":1507572884047,
     "createdBy":"jdoe@apigee.com",
     "displayName":"myorg",
     "environments":[
        "prod",
        "dev",
        "test",
        "portal"
     ],
     "lastModifiedAt":1507578673194,
     "lastModifiedBy":"jdoe@apigee.com",
     "name":"jdoe",
     "properties":{
        "property":[
           {
              "name":"features.isSmbOrganization",
              "value":"false"
           },
           {
              "name":"self.service.virtual.host.enabled",
              "value":"true"
           },
           {
              "name":"features.isCpsEnabled",
              "value":"true"
           },
           {
              "name":"features.isEdgeFunctionsEnabled",
              "value":"true"
           }
        ]
     },
     "type":"paid"
  }
  

สิ่งที่คุณต้องทราบเกี่ยวกับเป้าหมายที่โฮสต์

เป้าหมายที่โฮสต์ช่วยให้แอปพลิเคชัน Node.js ทำงานในสภาพแวดล้อมแบบเนทีฟที่ไม่ขึ้นอยู่กับเทคโนโลยีรันไทม์เฉพาะของ Apigee คุณสามารถแก้ไขข้อบกพร่องและทดสอบแอปในเครื่องก่อนที่จะทำให้ใช้งานได้ และมั่นใจได้ว่าเวอร์ชันที่ทำให้ใช้งานได้จะทำงานเหมือนกับที่ทำงานในเครื่อง เมื่อทำให้ใช้งานได้ คุณจะเลือกเวอร์ชันรันไทม์ของแอปพลิเคชันสำหรับเรียกใช้แอปพลิเคชันในเป้าหมายที่โฮสต์ได้ เช่น คุณอาจเลือกเรียกใช้แอป Node.js ในสภาพแวดล้อม v8.10.0 โดยเฉพาะ

ข้อจำกัด

โปรดดูขีดจำกัดการใช้งานเป้าหมายที่โฮสต์ที่หัวข้อขีดจำกัดผลิตภัณฑ์ Apigee

ขั้นตอนพื้นฐานที่ต้องปฏิบัติตาม

หากคุณคุ้นเคยกับการพัฒนาพร็อกซี Edge คุณก็เพียงต้องเรียนรู้ขั้นตอนง่ายๆ ไม่กี่ขั้นตอนเพื่อใช้เป้าหมายที่โฮสต์ให้สำเร็จ โดยพื้นฐานแล้ว คุณจะสร้าง ทำให้ใช้งานได้ และจัดการพร็อกซี Edge สำหรับเป้าหมายที่โฮสต์เช่นเดียวกับที่ดำเนินการสำหรับพร็อกซี Apigee Edge อื่นๆ

หากต้องการใช้เป้าหมายที่โฮสต์ คุณต้องทำงานต่อไปนี้ บทแนะนำจะอธิบายถึงแต่ละงานเหล่านี้โดยละเอียด

  • พัฒนาและทดสอบแอปพลิเคชัน Node.js ของคุณในเครื่อง
  • สร้างไฟล์ Manifest ในไดเรกทอรีรูทของโปรเจ็กต์แอปพลิเคชัน ไฟล์ Manifest เป็นไฟล์ YAML ที่ระบุข้อมูลที่จำเป็นสำหรับการสร้างและทำให้แอปพลิเคชันใช้งานได้
  • เพิ่มแอปพลิเคชันของคุณไปยังพร็อกซี Edge เป็นประเภททรัพยากรที่โฮสต์
  • ในปลายทางเป้าหมายของพร็อกซี ให้เพิ่มแท็ก <HostedTarget/> ที่ว่างเปล่า แท็กนี้จะบอกให้ Edge ติดตั้งใช้งานแอปพลิเคชัน Node.js กับสภาพแวดล้อมเป้าหมายที่โฮสต์ เช่น
  • <?xml version="1.0" encoding="UTF-8"?>
    <TargetEndpoint name="default">
       <PreFlow name="PreFlow">
          <Request />
          <Response />
       </PreFlow>
       <PostFlow name="PostFlow">
          <Request />
          <Response />
       </PostFlow>
       <Flows />
       <HostedTarget />
    </TargetEndpoint>

ขอบเขตของแอปพลิเคชันเป้าหมายที่โฮสต์

แอปพลิเคชันเป้าหมายที่โฮสต์มีขอบเขตอยู่ในสภาพแวดล้อมองค์กร Edge ขอบเขตนี้เหมือนกับพร็อกซี Edge ทั้งหมด

แอปพลิเคชันเป้าหมายที่โฮสต์สามารถเข้าถึงข้อมูลพร็อกซีได้หรือไม่

ปัจจุบันแอปเป้าหมายที่โฮสต์ไม่มีสิทธิ์เข้าถึงสภาพแวดล้อมรันไทม์ของพร็อกซี ซึ่งหมายความว่าคุณจะเข้าถึงตัวแปรโฟลว์ แคช และเอนทิตีอื่นๆ จากแอปพลิเคชันเป้าหมายที่โฮสต์โดยตรงไม่ได้

เมื่อใช้ Node.js แบบฝัง (การรองรับ Node.js แบบ Trireme ดั้งเดิมใน Edge) คุณจะใช้ apigee-access เพื่อเข้าถึงตัวแปรโฟลว์และเอนทิตีอื่นๆ ใน Edge ได้ แต่เป้าหมายที่โฮสต์ไม่รองรับโมดูล apigee-access สำหรับการทำให้ใช้งานได้ของ Node.js โปรดดูหัวข้อเป็นไปได้ไหมที่จะแก้ปัญหาในกรณีที่ไม่มี Apigee-access

การย้ายโค้ดของแอปพลิเคชันที่มีอยู่ไปยังเป้าหมายที่โฮสต์

ปัจจุบันยังไม่มีเส้นทางการย้ายข้อมูลอัตโนมัติจากแอปพลิเคชัน Node.js แบบฝังแบบ Trireme ไปยังเป้าหมายที่โฮสต์ อย่างไรก็ตาม คุณสามารถแปลงโค้ดของแอปพลิเคชันที่มีอยู่ให้เป็นเป้าหมายที่โฮสต์ด้วยตนเองได้ ดูตัวอย่างได้ที่การย้ายข้อมูลพร็อกซี Node.js ที่มีอยู่ไปยังพร็อกซีเป้าหมายที่โฮสต์