Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Wersja: 1.4.1
Wyświetlanie, pobieranie i generowanie podpisanych adresów URL plików w zasobniku Cloud Storage.
W tym artykule znajdziesz informacje na temat konfigurowania i używania tego rozszerzenia. Przed użyciem tego rozszerzenia z serwera proxy interfejsu API musisz:
Prześlij obiekty do zasobnika.
Przyznaj uprawnienia dostępu do zasobnika kontu usługi GCP, które reprezentuje Twoje rozszerzenie Google Cloud Storage. Więcej informacji o rolach, które można wykorzystać, znajdziesz w artykule o rolach w Cloud Storage. Więcej informacji o uprawnieniach w Cloud Storage znajdziesz w artykule Korzystanie z uprawnień Identity and Access Management (IAM).
Użyj zawartości wynikowego pliku JSON klucza podczas dodawania i konfigurowania rozszerzenia w dokumentacji konfiguracji.
Informacje o Cloud Storage
Cloud Storage to usługa umożliwiająca bezpieczne, trwałe i skalowalne przechowywanie plików. Jeśli dopiero zaczynasz korzystać z Cloud Storage, zapoznaj się z krótkim wprowadzeniem w dokumentacji Cloud Storage.
Przykłady
Poniższe przykłady pokazują, jak skonfigurować obsługę działań rozszerzenia Cloud Storage za pomocą zasady ExtensionCallout.
Wyświetlanie listy plików
W poniższym przykładzie działanie listFiles
rozszerzenia pobiera listę plików i zwraca je w tablicy. Działanie listFiles
nie wymaga żadnych parametrów wejściowych.
<?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>
Wartość odpowiedzi wygląda mniej więcej tak:
["example-text.txt","example-image.png"]
Poniższa zasada Assign Message (Przypisywanie wiadomości) pobiera wartość odpowiedzi z powyższej zasady ExtensionCallout i kopiuje ją w ładunku odpowiedzi.
<?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>
Pobieranie pliku
Poniższa zasada ExtensionCallout używa rozszerzenia Google Cloud Storage do pobrania prostego pliku tekstowego, którego zawartość to Some example text.
.
<?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>
Wartość odpowiedzi wygląda tak:
{"content":"Some example text."}
Poniższa zasada Assign Message (Przypisywanie wiadomości) pobiera wartość zwrócona przez rozszerzenie i kopiuje ją do ładunku odpowiedzi.
<?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>
Generowanie podpisanego adresu URL
Poniższa zasada ExtensionCallout używa tego rozszerzenia do wygenerowania adresu URL umożliwiającego pobranie określonego pliku z zasobnika Cloud Storage. Przekazuje ono nazwę pliku oraz datę, po której adres URL powinien wygasnąć i przestać działać.
<?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>
Zwracana wartość rozszerzenia wygląda mniej więcej tak:
{"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"}
Poniższa zasada Assign Message (Przypisz wiadomości) pobiera wartość zwrócona przez rozszerzenie i kopiuje ją do treści odpowiedzi.
<?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>
Działania
pobieranie
Pobiera określony plik.
Parametry żądania
Parametr | Opis | Typ | Domyślny | Wymagane |
---|---|---|---|---|
fileName | Plik do pobrania. | Ciąg znaków | Brak. | Tak. |
Składnia
<Input><![CDATA[{"fileName" : "the-file-to-download"}]]></Input>
Przykład
<Input><![CDATA[{"fileName" : "example-text.txt"}]]></Input>
Odpowiedź
JSON reprezentujący obiekt z zawartością pobranego pliku. Na przykład:
{"content":"Some example text."}
listFiles
Wyświetla listę plików dostępnych do pobrania.
Parametry żądania
Brak.
Odpowiedź
Tablica nazw plików. Na przykład:
["example-text.txt","example-image.png"]
generateSignedURL
Tworzy podpisany adres URL dla określonego pliku w zasobniku. Adres URL umożliwia pobranie pliku.
Parametry żądania
Parametr | Opis | Typ | Domyślny | Wymagane |
---|---|---|---|---|
fileName | Nazwa obiektu Cloud Storage, dla którego ma zostać wygenerowany podpisany adres URL. | Ciąg znaków | Brak. | Tak. |
expiresOn | Data, w której podpisany adres URL powinien wygasnąć. | Ciąg znaków | Brak. | Nie. |
Składnia
<Input><![CDATA[{
"fileName" : "file-for-which-to-generate-url",
"expiresOn" : "date-to-expire-url"
}]]></Input>
Przykład
<Input><![CDATA[{
"fileName" : "example-text.txt",
"expiresOn" : "2018-08-05"
}]]></Input>
Odpowiedź
Plik JSON reprezentujący obiekt z podpisanym adresem URL. Na przykład:
{"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"}
Odniesienie do konfiguracji
Podczas konfigurowania i wdrażania tego rozszerzenia na potrzeby serwerów proxy interfejsu API użyj poniższych wskazówek. Instrukcje konfigurowania rozszerzenia za pomocą konsoli Apigee znajdziesz w artykule Dodawanie i konfigurowanie rozszerzenia.
Typowe właściwości rozszerzeń
Dla każdego rozszerzenia dostępne są poniższe właściwości.
Usługa | Opis | Domyślnie | Wymagany |
---|---|---|---|
name |
Nazwa nadana konfiguracji rozszerzenia. | Brak | Tak |
packageName |
Nazwa pakietu rozszerzeń podana przez Apigee Edge. | Brak | Tak |
version |
Numer wersji pakietu rozszerzenia, z którego konfigurujesz rozszerzenie. | Brak | Tak |
configuration |
Wartość konfiguracji specyficzna dla dodawanego rozszerzenia. Zobacz Właściwości tego pakietu rozszerzeń | Brak | Tak |
Właściwości tego pakietu rozszerzeń
Właściwość | Opis | Domyślny | Wymagane |
---|---|---|---|
bucketName | Zasobnik GCS, z którym powinno wchodzić to rozszerzenie. | Brak. | Tak. |