Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Sürüm: 1.4.1
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:
Paketinize nesne yükleyin.
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.
GCP Console'u kullanarak hizmet hesabı için bir anahtar oluşturun.
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. |