Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. info
Sürüm: 1.4.1
Cloud Storage paketindeki dosyaları listeleme, indirme ve imzalı URL'ler oluşturma
Bu içerikte, bu uzantıyı yapılandırma ve kullanmayla ilgili referanslar sağlanmaktadır. Bu uzantıyı bir API proxy'sinden kullanmadan önce:
Paketinize nesne yükleyin.
Google Cloud Storage uzantınızı temsil eden GCP hizmet hesabına pakete erişme izni verin. Kullanılacak rol hakkında daha fazla bilgi için Cloud Storage rolleri bölümüne bakın. Cloud Storage'daki izinler hakkında daha fazla bilgi için Identity and Access Management (IAM) izinlerini kullanma başlıklı makaleyi inceleyin.
Hizmet hesabı için anahtar oluşturmak üzere GCP Console'u kullanın.
Yapılandırma referansını kullanarak uzantıyı ekleyip yapılandırırken elde edilen 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 alanı sunan bir hizmettir. Cloud Storage'ı kullanmaya yeni başladıysanız Cloud Storage belgelerindeki hızlı başlangıç bölümüne göz atabilirsiniz.
Örnekler
Aşağıdaki örneklerde, ExtensionCallout 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 bir dizgede döndürür. 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 İleti Ata politikası, yanıt değerini yukarıdaki ExtensionCallout 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 ExtensionCallout 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 ş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 dosyayı Cloud Storage paketinden indirmek için bir URL oluşturmak üzere bu uzantıyı kullanır. URL'nin süresinin dolup artık çalışmaması gereken tarihle 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ğı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 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 süresinin 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ılmak üzere yapılandırırken ve dağıtırken aşağıdakileri kullanın. Apigee konsolunu kullanarak bir uzantıyı yapılandırma adımları için Uzantı ekleme ve yapılandırma başlıklı makaleyi inceleyin.
Ortak uzantı özellikleri
The following properties are present for every extension.
Property | Description | Default | Required |
---|---|---|---|
name |
Name you're giving this configuration of the extension. | None | Yes |
packageName |
Name of the extension package as given by Apigee Edge. | None | Yes |
version |
Version number for the extension package from which you're configuring an extension. | None | Yes |
configuration |
Configuration value specific to the extension you're adding. See Properties for this extension package | None | Yes |
Bu uzantı paketine ait özellikler
Mülk | Açıklama | Varsayılan | Zorunlu |
---|---|---|---|
bucketName | Bu uzantının etkileşimde bulunması gereken GCS paketi. | Yok. | Evet. |