Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Sürüm: 2.0.2
Cloud Storage paketindeki dosyalar için imzalı URL'ler oluşturma, indirme ve listeleme
Bu içerik, uzantının yapılandırılması ve kullanılmasıyla ilgili referans bilgiler sağlar. Bu uzantıyı bir API proxy'sinden kullanmadan önce şunları yapmanız gerekir:
Paketinize nesne yükleyin.
Google Cloud Storage uzantınızı temsil eden Google Cloud hizmet hesabına pakete erişim için izin verin. Kullanılacak rol hakkında daha fazla bilgi için Cloud Storage rolleri başlıklı makaleyi inceleyin. Cloud Storage'daki izinler hakkında daha fazla bilgi için Identity and Access Management (IAM) İzinlerini Kullanma başlıklı makaleyi inceleyin.
Hizmet hesabı için anahtar oluşturmak üzere Google Cloud Console'u kullanın.
Yapılandırma referansını kullanarak uzantıyı eklerken ve yapılandırırken sonuçtaki 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ılavuzu ile başlayabilirsiniz.
Örnekler
Aşağıdaki örneklerde, ExtensionCallout politikası kullanılarak Cloud Storage uzantısı işlemlerine yönelik 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 dizi olarak döndürüyor. listFiles işlemi 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 aşağıdaki gibi görünür:
["example-text.txt","example-image.png"]
Aşağıdaki Assign Message (Mesaj Atama) politikası, ExtensionCallout politikasından yanıt değerini 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 ExtensionCallout politikası, içeriği Some example text. olan 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 şu şekilde görünür:
{"content":"Some example text."}
Aşağıdaki Mesaj Atama 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 ExtensionCallout politikası, belirtilen dosyanın Cloud Storage paketinden indirilmesi için bir URL oluşturmak üzere bu uzantıyı kullanır. URL'nin süresinin dolacağı ve artık çalışmayacağı tarihiyle birlikte dosyanın adını 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ğıdakine benzer.
{"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 Mesaj Atama 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
downloadFile
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ğini içeren 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 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'nin oluşturulacağı Cloud Storage nesnesinin adı. | Dize | Yok. | Evet. |
| expiresOn | İmzalı URL'nin geçerliliğinin sona ereceği 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'yi içeren 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 kullanılacak şekilde 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 başlıklı makaleyi inceleyin.
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
| Mülk | Açıklama | Varsayılan | Zorunlu |
|---|---|---|---|
| bucketName | Bu uzantının etkileşimde bulunması gereken GCS paketi. | Yok. | Evet. |