Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Sürüm: 1.4.1
Cloud Storage paketindeki dosyaların imzalı URL'lerini listeleme, indirme ve oluşturma.
Bu içerik, bu uzantıyı yapılandırmak ve kullanmak için referans sağlar. Bu uzantıyı bir API proxy'sinden kullanmadan önce şunları yapmanız gerekir:
Paketinize nesne yükleme.
Google Cloud Storage uzantınızı temsil eden GCP hizmet hesabına pakete erişim için izin verin. Kullanılacak rol hakkında daha fazla bilgi için Cloud Storage rolleri konusuna bakın. Cloud Storage'daki izinler hakkında daha fazla bilgi için Identity and Access Management (IAM) İzinlerini Kullanma başlıklı makaleyi inceleyin.
GCP Console'u kullanarak hizmet hesabı için bir anahtar oluşturun.
Uzantıyı yapılandırma referansını kullanarak 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 bir dosya depolama hizmetidir. Cloud Storage'ı kullanmaya yeni başlıyorsanız Cloud Storage belgelerindeki hızlı başlangıç kılavuzu iyi bir başlangıç noktasıdır.
Sana Özel
Aşağıdaki örnekler, ExtensionExtension politikası kullanılarak Cloud Storage uzantı işlemleri için desteğin nasıl yapılandırılacağını gösterir.
Dosyaları listeleme
Aşağıdaki örnekte, uzantının listFiles
işlemi, dosyaların listesini alarak onları bir dizide 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 Mesaj Ata politikası, yukarıdaki Extension callout 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 ExtensionDescription politikası, içeriği 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>
İmzalanmış URL oluşturma
Aşağıdaki ExtensionExtension politikası, belirtilen dosyayı Cloud Storage paketinden indirmek üzere bir URL oluşturmak için bu uzantıyı kullanır. URL'nin süresinin dolacağı ve artık çalışmayacağı 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 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
downloadFile
Belirtilen dosyayı indirir.
İstek parametreleri
Parametre | Açıklama | Tür | Varsayılan | Gerekli |
---|---|---|---|---|
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
Pakette 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 | Gerekli |
---|---|---|---|---|
fileName | İmzalanmış URL'nin oluşturulacağı Cloud Storage nesnesinin adı. | Dize | Yok. | Evet. |
expiresOn | İmzalı URL'nin geçerliliğinin sona ereceği tarih. | Dize | Yok. | Hayır |
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
İmzalanmış URL'ye sahip bir nesneyi temsil eden JSON dosyası. Ö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ırken ve 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 bölümüne 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 | Gerekli |
---|---|---|---|
bucketName | Bu uzantının etkileşimde bulunması gereken GCS paketi. | Yok. | Evet. |