Tiện ích Google Cloud Storage

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Phiên bản: 1.4.1

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 tài liệu 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ừ proxy API, bạn phải:

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

  2. Tải đối tượng vào bộ chứa.

  3. Cấp quyền truy cập vào bộ chứa vào tài khoản dịch vụ GCP đạ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 bài viết các vai trò trong Cloud Storage. Để biết thêm về các quyền trong Cloud Storage, hãy xem bài viết Sử dụng quyền quản lý danh tính và quyền truy cập (IAM).

  4. Sử dụng Bảng điều khiển của GCP để tạo khoá cho tài khoản dịch vụ.

  5. Sử dụng nội dung của tệp JSON chứa 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à dịch vụ giúp lưu trữ tệp an toàn, bền vững và có thể mở rộng. Nếu bạn mới bắt đầu sử dụng Cloud Storage, thì phần giới thiệu nhanh tài liệu về Cloud Storage là nơi phù hợp để bắt đầu.

Mẫu

Các ví dụ sau minh hoạ cách định cấu hình tính năng hỗ trợ các hành động đối với tiện ích trên Cloud Storage bằng Chính sách về phần mở rộng.

Tệp danh sách

Trong ví dụ sau, thao tác listFiles của tiện ích truy xuất danh sách các tệp, trả về các tệp đó trong một mảng. Hành động 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 Chỉ định tin nhắn sau đây truy xuất giá trị phản hồi từ Chính sách Chú thích mở rộng ở trên 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 Chú thích mở rộng sau đây sử dụng tiện ích Google Cloud Storage để tải xuống một tệp văn bản đơn giản có nội dung chỉ là Some example text.,

<?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 Chỉ định thư sau đây truy xuất giá trị mà 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 Chú thích tiện ích sau đây sử dụng tiện ích này để tạo URL tải xuống tệp đã chỉ định từ bộ chứa Cloud Storage. Phương thức này chuyển tên của tệp, cùng với ngày mà sau đó URL sẽ hết hạn và không còn hoạt động nữa.

<?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 Chỉ định thư sau đây truy xuất giá trị mà tiện ích trả về và sao chép giá trị đó vào 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 được chỉ định xuống.

Thông số yêu cầu

Thông số Nội dung mô tả Loại Mặc định Bắt buộc
fileName Tệp cần tải xuống. Chuỗi Không nội dung nào. 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 biểu thị 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.

Thông số yêu cầu

Không nội dung nào.

Phản hồi

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

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

generateSignedURL

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

Thông số yêu cầu

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

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 biểu thị 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

Sử dụng các đoạn mã 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 bài viết Thêm và định cấu hình tiện ích.

Thuộc tính tiện ích phổ biến

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

Tài sản Nội dung mô tả Mặc định Bắt buộc
bucketName Bộ chứa GCS mà tiện ích này sẽ tương tác. Không nội dung nào. Có.