Tiện ích Google Cloud Storage

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
Thông tin

Phiên bản: 2.0.2

Liệt kê, tải xuống và tạo URL đã ký cho các tệp trong bộ chứa Cloud Storage.

Nội dung này cung cấp thông tin tham khảo để định cấu hình và sử dụng tiện ích này. Trước khi sử dụng tiện ích này từ một proxy API, bạn phải:

  1. Tạo một bộ chứa Cloud Storage.

  2. Tải các đối tượng lên bộ chứa của bạn.

  3. Cấp quyền truy cập vào bộ chứa cho tài khoản dịch vụ Google Cloud đại diện cho tiện ích Google Cloud Storage của bạn. Để biết thêm thông tin về vai trò cần sử dụng, hãy xem phần Các vai trò trong Cloud Storage. Để biết thêm thông tin về các quyền trong Cloud Storage, hãy xem phần Sử dụng quyền quản lý danh tính và quyền truy cập (IAM).

  4. Sử dụng Google Cloud Console để tạo khoá cho tài khoản dịch vụ.

  5. Sử dụng nội dung của tệp JSON khoá thu được khi thêm và định cấu hình tiện ích bằng cách sử dụng tài liệu tham khảo về cấu hình.

Giới thiệu về Cloud Storage

Cloud Storage là một dịch vụ lưu trữ tệp an toàn, bền bỉ và có thể mở rộng. Nếu mới bắt đầu sử dụng Cloud Storage, bạn nên bắt đầu bằng hướng dẫn bắt đầu nhanh trong tài liệu Cloud Storage.

Mẫu

Các ví dụ sau đây minh hoạ cách định cấu hình chế độ hỗ trợ cho các thao tác của tiện ích Cloud Storage bằng cách sử dụng chính sách ExtensionCallout.

Liệt kê tệp

Trong ví dụ sau, thao tác listFiles của tiện ích sẽ truy xuất danh sách các tệp và trả về các tệp đó trong một mảng. Thao tác listFiles không nhận tham số đầu vào.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="false" enabled="true" name="Get-Storage-File-List">
    <DisplayName>Get Storage File List</DisplayName>
    <Connector>cloud-storage-extension-example</Connector>
    <Action>listFiles</Action>
    <Input><![CDATA[{}]]></Input>
    <Output parsed="false">storage.filelist.retrieved</Output>
</ConnectorCallout>

Giá trị phản hồi sẽ có dạng như sau:

["example-text.txt","example-image.png"]

Chính sách Assign Message (Chỉ định thông báo) sau đây sẽ truy xuất giá trị phản hồi từ chính sách ExtensionCallout và sao chép giá trị đó vào tải trọng phản hồi.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Storage-File-List">
    <DisplayName>Assign Storage File List</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{storage.filelist.retrieved}</Payload>
    </Set>
</AssignMessage>

Tải tệp xuống

Chính sách ExtensionCallout sau đây sử dụng tiện ích Google Cloud Storage để tải một tệp văn bản có nội dung là Some example text. xuống,

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="false" enabled="true" name="Download-File">
    <DisplayName>Download File</DisplayName>
    <Connector>cloud-storage-extension-example</Connector>
    <Action>downloadFile</Action>
    <Input><![CDATA[{"fileName": "example-text.txt"}]]></Input>
    <Output>storage.file.retrieved</Output>
</ConnectorCallout>

Giá trị phản hồi sẽ có dạng như sau:

{"content":"Some example text."}

Chính sách Assign Message (Chỉ định thông báo) sau đây truy xuất giá trị do tiện ích trả về và sao chép giá trị đó vào tải trọng phản hồi.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Storage-File-List">
    <DisplayName>Assign Storage File List</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{storage.file.retrieved}</Payload>
    </Set>
</AssignMessage>

Tạo URL đã ký

Chính sách ExtensionCallout sau đây sử dụng tiện ích này để tạo URL tải tệp đã chỉ định xuống từ nhóm Cloud Storage. Nó truyền tên của tệp, cùng với ngày mà URL sẽ hết hạn và không còn hoạt động.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="false" enabled="true" name="Get-Signed-URL">
    <DisplayName>Get Signed URL</DisplayName>
    <Connector>cloud-storage-extension-example</Connector>
    <Action>generateSignedURL</Action>
    <Input><![CDATA[{
        "fileName" : "example-text.txt",
        "expiresOn" : "2018-08-05"
    }]]></Input>
    <Output>storage.url.retrieved</Output>
</ConnectorCallout>

Giá trị trả về của tiện ích sẽ có dạng như sau.

{"url":"https://storage.googleapis.com/storage-extension-example/example-text.txt?GoogleAccessId=extension-test%40my-test-33333.iam.gserviceaccount.com&Expires=1533427200&Signature=Y1cE1DCHesWeIZILRhdIuDR%2FhzZXZ%2BPeY3J1PUkRiosFYj41itHBWh2%2BTQgH9kI6E8s2mWrVDFU43YR7s8Tm9W5VgWRwh0nXSactQ0xKbkKbGZmCcWxgIscOezc1zc%2Bp7lnXSx1qd4wIlIKVH4KCd9WLx4qB1dLxGNxMKB32tA3dio5IiMXaHEA%2FR2fYc0Pjh45t8L5rilk5pekv7jfd3sfsgdfgfdglkj%2F7E%2FlJ%2B60RnetqV2IDqrc0sVEgSLTpgTbDGU%2Ft3EcitRUFOSdOb5czt7CiIwKAYSmDEFMSNHHiNTWjvLzq4IU%2BCa4Z5aKyvww%3D%3D"}

Chính sách Assign Message (Chỉ định thông báo) sau đây truy xuất giá trị do tiện ích trả về và sao chép giá trị đó vào phần nội dung phản hồi.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Storage-File-URL">
    <DisplayName>Assign Storage File URL</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{storage.url.retrieved}</Payload>
    </Set>
</AssignMessage>

Thao tác

downloadFile

Tải tệp đã chỉ định xuống.

Tham số yêu cầu

Tham số Mô tả Loại Mặc định Bắt buộc
fileName Tệp cần tải xuống. Chuỗi Không có. Có.

Cú pháp

<Input><![CDATA[{"fileName" : "the-file-to-download"}]]></Input>

Ví dụ:

<Input><![CDATA[{"fileName" : "example-text.txt"}]]></Input>

Phản hồi

JSON đại diện cho một đối tượng có nội dung của tệp đã tải xuống. Ví dụ:

{"content":"Some example text."}

listFiles

Liệt kê các tệp có thể tải xuống.

Tham số yêu cầu

Không có.

Phản hồi

Một mảng tên tệp. Ví dụ:

["example-text.txt","example-image.png"]

generateSignedURL

Tạo một URL đã ký cho tệp được chỉ định trong bộ chứa. Bạn có thể dùng URL này để tải tệp xuống.

Tham số yêu cầu

Tham số Mô tả Loại Mặc định Bắt buộc
fileName Tên của đối tượng Cloud Storage mà bạn muốn tạo URL đã ký. Chuỗi Không có. Có.
expiresOn Ngày mà URL đã ký sẽ hết hạn. Chuỗi Không có. STT

Cú pháp

<Input><![CDATA[{
  "fileName" : "file-for-which-to-generate-url",
  "expiresOn" : "date-to-expire-url"
}]]></Input>

Ví dụ:

<Input><![CDATA[{
  "fileName" : "example-text.txt",
  "expiresOn" : "2018-08-05"
}]]></Input>

Phản hồi

JSON đại diện cho một đối tượng có URL đã ký. Ví dụ:

{"url":"https://storage.googleapis.com/storage-extension-example/example-text.txt?GoogleAccessId=extension-test%40my-test-33333.iam.gserviceaccount.com&Expires=1533427200&Signature=Y1cE1DCHesWeIZILRhdIuDR%2FhzZXZ%2BPeY3J1PUkRiosFYj41itHBWh2%2BTQgH9kI6E8s2mWrVDFU43YR7s8Tm9W5VgWRwh0nXSactQ0xKbkKbGZmCcWxgIscOezc1zc%2Bp7lnXSx1qd4wIlIKVH4KCd9WLx4qB1dLxGNxMKB32tA3dio5IiMXaHEA%2FR2fYc0Pjh45t8L5rilk5pekv7jfd3sfsgdfgfdglkj%2F7E%2FlJ%2B60RnetqV2IDqrc0sVEgSLTpgTbDGU%2Ft3EcitRUFOSdOb5czt7CiIwKAYSmDEFMSNHHiNTWjvLzq4IU%2BCa4Z5aKyvww%3D%3D"}

Tài liệu tham khảo về cấu hình

Hãy sử dụng những thông tin sau khi bạn định cấu hình và triển khai tiện ích này để sử dụng trong các proxy API. Để biết các bước định cấu hình một tiện ích bằng bảng điều khiển Apigee, hãy xem phần Thêm và định cấu hình tiện ích.

Thuộc tính mở rộng chung

Các thuộc tính sau có sẵn cho mỗi tiện ích.

Tài sản Mô tả Mặc định Bắt buộc
name Tên mà bạn đang đặt cho cấu hình của tiện ích này. Không có
packageName Tên của gói tiện ích do Apigee Edge cung cấp. Không có
version Số phiên bản của gói tiện ích mà bạn đang định cấu hình tiện ích. Không có
configuration Giá trị cấu hình cụ thể cho tiện ích bạn đang thêm. Xem Thuộc tính cho gói tiện ích này Không có

Các thuộc tính cho gói tiện ích này

Thuộc tính Mô tả Mặc định Bắt buộc
bucketName Thùng GCS mà tiện ích này sẽ tương tác. Không có. Có.