Eind maart vond APEX World plaats. Onze eigen Robin Verstrepen was een van de sprekers en had het over hoe je gemakkelijk jouw bestanden vanuit een APEX-applicatie naar de cloud kan brengen.
Onderstaande tutorial gidst je stap voor stap door het proces om je Oracle APEX bestanden naar de cloud te brengen door ze op te laden via DBMS_CLOUD. We hebben het vooral over Oracle Cloud, maar DBMS_CLOUD zou moeten werken op zowel Oracle Cloud als AWS S3 en Azure.
Stap 1: Maak een bucket aan
Klik op create bucket
Geef de bucket een unieke naam. Voor deze tutorial houden we verder de standaard instellingen.
Voeg een bestand toe aan de bucket en open het detail van het bestand.
Bij URL Path (URI) kan je de location_uri vinden van jouw bucket. Deze ga je later in het proces nog nodig hebben.
Stap 2: Beveilig jouw bucket
1. Ga naar Identity & Security > Groups
2. Kies voor Create Group
3. Geef jouw groep een naam en een omschrijving
4. Navigeer nu naar Identity & Security > Policies
5. Klik op Create Policy
6. Geef de policy een unieke naam en omschrijving.
Bij Policy Builder kies je voor ‘Show manual editor’
En voer je volgende policy in
‘Allow group [group] to manage objects in tenancy where target.bucket.name='[bucket]’
7. Navigeer nu naar Identity & Security > Users
8. Klik op Create User
9. Vul de gegevens van de user aan. Kies in dit geval voor IAM User.
10. Na het aanmaken, kom je terecht in het detailscherm van de User. Scroll naar beneden om de User toe te voegen aan de zonet aangemaakte Group. Klik op
11. Voeg de groep toe die je zonet aanmaakte.
”
13. Om de beveiliging helemaal af te ronden, genereren we een Auth token voor de gebruiker. Op de detailpagina (waar je de User aan een Group koppelde) klik je op ‘Auth Tokens’
14. Klik nu op
15. Voeg een beschrijving toe en genereer het Token.
16. Kopieer zeker het gegenereerde token. Dit heb je nodig om later te kunnen koppelen.
Stap 3: De APEX-omgeving toegang geven tot de bucket
1. Maak connectie met jouw database via de Oracle Cloud-omgeving of SQL Developer.
2. Maak een credential aan door volgende code uit te voeren.
3. Je kan controleren of jouw credential goed werd aangemaakt via
Stap 4: en nu Oracle APEX bestanden naar de cloud!
1. In jouw APEX-applicatie maak je een nieuwe pagina aan met daarop een Interactive Report. Als Source kies je voor SQL Query en voer je volgende query in:
De pagina toont nu een overzicht van jouw objecten in de bucket.
2. Maak ook een nieuwe pagina aan, met daarop 1 item.
a. File Browse → Hier ga je het bestand invoeren
3. Op deze pagina voeg je een process toe met volgende code:
4. Op de Overzichtspagina maak je een nieuwe knop aan die doorverwijst naar de pagina met de File Browse die je zonet aanmaakte.
5. Voer de overzichtspagina uit, klik op de knop Create en voeg en extra bestand toe. Het bestand staat nu in jouw overzicht én in de bucket.