Google Cloud Storage Uzantısı

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Sürüm: 1.2.0

Bir Cloud Storage paketindeki dosyalar için imzalanmış URL'leri listeleyin, indirin ve oluşturun.

Bu içerik, bu uzantının yapılandırılması ve kullanılması için referans sağlamaktadır. Bu uzantıyı bir API proxy'sinden kullanmadan önce şunları yapmanız gerekir:

  1. Cloud Storage paketi oluşturun.

  2. Paketinize nesne yükleyin.

  3. Pakete, Google Cloud Storage uzantınızı temsil eden GCP hizmet hesabına erişim için izin verin. Kullanılacak rol hakkında daha fazla bilgi için Cloud Storage rolleri sayfasını inceleyin. Cloud Storage'daki izinlerle ilgili daha fazla bilgi için Kimlik ve Erişim Yönetimi (IAM) İzinlerini Kullanma başlıklı makaleyi inceleyin.

  4. GCP Console'u kullanarak hizmet hesabı için bir anahtar oluşturun.

  5. Yapılandırma referansını kullanarak uzantıyı eklerken ve yapılandırırken sonuçta ortaya çıkan anahtar JSON dosyasının içeriğini kullanın.

Cloud Storage hakkında

Cloud Storage; güvenli, dayanıklı ve ölçeklenebilir dosya depolama hizmetidir. Cloud Storage'ı kullanmaya yeni başlıyorsanız Cloud Storage belgelerindeki hızlı başlangıç kılavuzundan yararlanabilirsiniz.

Örnekler

Aşağıdaki örneklerde, Extension callout politikası kullanılarak Cloud Storage uzantı işlemleri için desteğin nasıl yapılandırılacağı gösterilmektedir.

Dosyaları listeleme

Aşağıdaki örnekte, uzantının listFiles işlemi dosyaların listesini alıp bunları bir dizide döndürür. listFiles işlemi herhangi bir giriş parametresi almaz.

<?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>

Yanıt değeri şuna benzer:

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

Aşağıdaki "Mesaj Ata" politikası, yanıt değerini yukarıdaki ExtensionDescription politikasından alır ve yanıt yüküne kopyalar.

<?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>

Dosya indirme

Aşağıdaki ExtensionDescription politikası, içeriği yalnızca Some example text. olan basit bir metin dosyasını indirmek için Google Cloud Storage uzantısını kullanır.

<?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>

Yanıt değeri şöyle görünür:

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

Aşağıdaki "Mesaj Ata" politikası, uzantı tarafından döndürülen değeri alır ve yanıt yüküne kopyalar.

<?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>

İmzalı URL oluşturma

Aşağıdaki ExtensionDescription politikası, belirtilen dosyayı Cloud Storage paketinden indirmek için bir URL oluşturmak amacıyla bu uzantıyı kullanır. Dosya adını, URL'nin süresinin dolacağı ve artık çalışmayacağı tarihle birlikte iletir.

<?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>

Uzantının döndürdüğü değer aşağıdaki gibi görünür.

{"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"}

Aşağıdaki "İleti Ata" politikası, uzantı tarafından döndürülen değeri alır ve yanıt gövdesine kopyalar.

<?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>

İşlemler

indirDosya

Belirtilen dosyayı indirir.

İstek parametreleri

Parametre Açıklama Tür Varsayılan Zorunlu
fileName İndirilecek dosya. Dize Yok. Evet.

Söz dizimi

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

Örnek

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

Yanıt

İndirilen dosyanın içeriğine sahip bir nesneyi temsil eden JSON. Örneğin:

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

listFiles

İndirilebilecek dosyaları listeler.

İstek parametreleri

Yok.

Yanıt

Dosya adları dizisi. Örneğin:

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

generateSignedURL

Paketteki belirtilen bir dosya için imzalı bir URL oluşturur. Bu URL, dosyayı indirmek için kullanılabilir.

İstek parametreleri

Parametre Açıklama Tür Varsayılan Zorunlu
fileName İmzalı URL oluşturulacak Cloud Storage nesnesinin adı. Dize Yok. Evet.
expiresOn İmzalanmış URL'nin süresinin dolacağı tarih. Dize Yok. Sıra

Söz dizimi

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

Örnek

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

Yanıt

İmzalı URL'ye sahip bir nesneyi temsil eden JSON. Örneğin:

{"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"}

Yapılandırma Referansı

Bu uzantıyı API proxy'lerinde kullanmak üzere yapılandırıp dağıtırken aşağıdakileri kullanın. Apigee konsolunu kullanarak uzantı yapılandırma adımları için Uzantı ekleme ve yapılandırma'ya bakın.

Sık kullanılan uzantı özellikleri

Aşağıdaki özellikler her uzantı için mevcuttur.

Mülk Açıklama Varsayılan Zorunlu
name Uzantının bu yapılandırmasını verdiğiniz ad. Yok Evet
packageName Apigee Edge'in sağladığı uzantı paketinin adı. Yok Evet
version Uzantıyı yapılandırdığınız uzantı paketinin sürüm numarası. Yok Evet
configuration Eklediğiniz uzantıya özgü yapılandırma değeri. Bu uzantı paketinin özellikleri başlıklı makaleyi inceleyin Yok Evet

Bu uzantı paketinin özellikleri

Özellik Açıklama Varsayılan Zorunlu
bucketName Bu uzantının etkileşimde bulunması gereken GCS paketi. Yok. Evet.