Passer au contenu principal
Adaptive Planning
ai.awss3

ai.awss3

Fonctions

Méthode
Paramètres
Retours
Description
getFile(bucketName, clé, région, AWsAccesskey, AWSSectkey)
compartimentName : Chaîne
clé : Chaîne
region : Chaîne
AWsAcceskey : Chaîne
AWsSecretkey : String
Récupère un fichier d’un intervalle AWS S3.
PutFile(bucketName, clé, région, AWsAccesskey, AWSSectkey)
compartimentName : Chaîne
clé : Chaîne
doc:String
region : Chaîne
AWsAcceskey : Chaîne
AWsSecretkey : String
Met un fichier dans un intervalle AWS S3.
listkeys(bucketName, region, AWsAccess Key, AWsSectkey)
Non recommandé pour les intervalles comportant plus de 5 000 clés.
compartimentName : Chaîne
region : Chaîne
AWsAcceskey : Chaîne
AWsSecretkey : String
Répertorie les clés (fichiers) d’un intervalle AWS S3.
listObjects(request, region, awsAccessKey, awsSecretKey)
Paramètres d'objet visé.
Voir Amazon S3 Request Docs pour plus de détails.
intervalleName : Chaîne (obligatoire).
continuationToken : indique que la liste se poursuit dans ce intervalle avec un jeton. La valeur NextSuiviToken obtenu à partir de la réponse précédente.
délimiteur : caractère utilisé pour regrouper les clés. Voir Amazon S3 Listing Keys Hierarchy docs.
encodage : méthode d’encodage à utiliser dans la réponse.
FettachOwner : défini sur Vrai pour répertorier les propriétaires avec chaque clé. S’il n’est pas précisé, le propriétaire est nul.
maxkeys : nombre maximum de clés dans la réponse.
préfixe : limite la réponse aux clés commençant par le préfixe indiqué.
requestParty : Chaîne
startAfter : la liste commence après cette clé. Utilisez n’importe quelle clé du intervalle. Ne peut pas être défini en même temps que continuationToken.
Paramètres de l'objet de réponse
Voir Amazon S3 Response Docs pour plus de détails.
s3Objects : liste des objets trouvés.
keyCount : nombre d’objets trouvés.
istronqué : indique si d’autres clés correspondent à la demande initiale. Peuvent être précisés dans la demande. AWS est défini par défaut à 1 000.
prochaineContinuationToken : envoyé lorsque la valeur de istronquée est vraie, indiquant que plus de clés dans le intervalle peuvent être répertoriées. La liste peut être suivie avec ce NextSuiviToken.
httpStatusCode :
nom :
préfixe :
maxkeys :
délimiteur :
préfixes de communes :
encodage :
continuationToken :
startAfter:
Répertorie les objets dans un intervalle AWS S3. Permet l’utilisation de paramètres dans une demande pour limiter et filtrer les clés extraites.
Exemples
// Invoke this method using 'Test connection' in Actions pane function testConnection(context) { exampleGetFile(context); exampleListKeys(context); return true; } //Example for getFile function exampleGetFile(context) { var bucketName = 'xxx'; var key = 'newfile.xml'; var awsAccessKey = 'xxx'; var awsSecretKey = 'xxx'; var region = 'xxx'; var doc = ai.xml.createDocument(); var myFile=ai.awss3.getFile(bucketName, key, region, awsAccessKey, awsSecretKey); ai.log.logVerbose("File contents are",JSON.stringify(myFile)); } //Column,Heading,Names\n,2016-05-31T00:00:00,49570.89,4110_Product_Revenue_Grp_A,Sales - Canada\n,..... //Example for listkeys function exampleListKeys(context) { var bucketName = 'xxx'; var key = 'test.csv'; var awsAccessKey = 'xxx'; var awsSecretKey = 'xxx'; var region = 'xxx'; var myFile=ai.awss3.listKeys(bucketName, region, awsAccessKey, awsSecretKey); ai.log.logVerbose("Keys are",JSON.stringify(myFile)); return true; } //Keys are ["attribute-import-demo.csv","cloadertest.csv"] //Example for putFile function exportData(context) { var bucketName = 'xxx'; var key = 'newfile.xml'; var awsAccessKey = 'xxx'; var awsSecretKey = 'xxx'; var region = 'xxx'; var doc = ai.xml.createDocument(); var requestEl = ai.xml.createElement('request'); doc.setRootElement(requestEl); ai.awss3.putFile(bucketName, key, doc.toString(), region, awsAccessKey, awsSecretKey); //This will create the "newfile.xml" with a single line "<request />" }
Exemple avec listObjects
Cet exemple montre comment demander des objets et feuilleter les résultats.
//Navigate to Designer Settings tab and add 2 "text" parameters from the Settings pane. //Enter awsAccessKey and awsSecretKey in the Name fileds and provide your keys in the Value field function processFiles(context) { // Retrieve access and secret keys from settings const awsAccessKey = context.getDataSource().getSetting('awsAccessKey').getValue(); const awsSecretKey = context.getDataSource().getSetting('awsSecretKey').getValue(); const region = 'us-west-1' // Create the request for objects, at a minimum a bucket name is required const request = { BucketName: 'xxx', Prefix: 'mydata/', // Return keys from this directory }; // Push all the keys into an array const keyNames = []; let processing = true; while (processing) { var response = ai.awss3.listObjects(request, region, awsAccessKey, awsSecretKey); for (const entry of response.s3Objects) { // Here we have a single key that can be processed as desired keyNames.push(entry.key); } if (response.isTruncated) { // If the response did not include all remaining results, use the // nextContinuationToken from the response in the next request request.ContinuationToken = response.nextContinuationToken; } else { // If the response did include all remaining results, exit the loop ai.log.logInfo('Response indicated no further keys available'); processing = false; } } ai.log.logInfo("List of Objects:"+JSON.stringify(keyNames)); //List of Objects:["attribute-import-demo (7).csv","cloadertest.csv"] }
Demande d'exemple de paramètre
Le paramètre
BucketName
, est la seule valeur obligatoire.
Prefix
indique le répertoire.
{ BucketName: 'ag-ccds-test', Prefix: 'samplenumber/', StartAfter: 'samplenumber/001_samplefile', MaxKeys: 3 }
Exemple de listObjects
Cet exemple de réponse de ListObjects contient huit objets.
{ "isTruncated": true, "s3Objects": [ { "eTag": "\"4c7507b8cf17a6650bcff6787ccd0915\"", "bucketName": "ag-ccds-test", "key": "archiveListing/archiveList_1575352592693.txt", "lastModified": "2019-12-03T15:56:34+10:00", "owner": null, "size": 1323, "storageClass": { "value": "STANDARD" } }, { "eTag": "\"b2addf641c43f17df4492524c834984c\"", "bucketName": "ag-ccds-test", "key": "archiveListing/archiveList_1575353843184.txt", "lastModified": "2019-12-03T16:17:24+10:00", "owner": null, "size": 1323, "storageClass": { "value": "STANDARD" } }, { "eTag": "\"b2addf641c43f17df4492524c834984c\"", "bucketName": "ag-ccds-test", "key": "archiveListing/archiveList_1575353844190.txt", "lastModified": "2019-12-03T16:17:25+10:00", "owner": null, "size": 1323, "storageClass": { "value": "STANDARD" } }, { "eTag": "\"b2addf641c43f17df4492524c834984c\"", "bucketName": "ag-ccds-test", "key": "archiveListing/archiveList_1575353845193.txt", "lastModified": "2019-12-03T16:17:26+10:00", "owner": null, "size": 1323, "storageClass": { "value": "STANDARD" } }, { "eTag": "\"b2addf641c43f17df4492524c834984c\"", "bucketName": "ag-ccds-test", "key": "archiveListing/archiveList_1575353846195.txt", "lastModified": "2019-12-03T16:17:27+10:00", "owner": null, "size": 1323, "storageClass": { "value": "STANDARD" } }, { "eTag": "\"b2addf641c43f17df4492524c834984c\"", "bucketName": "ag-ccds-test", "key": "archiveListing/archiveList_1575353847194.txt", "lastModified": "2019-12-03T16:17:28+10:00", "owner": null, "size": 1323, "storageClass": { "value": "STANDARD" } }, { "eTag": "\"b2addf641c43f17df4492524c834984c\"", "bucketName": "ag-ccds-test", "key": "archiveListing/archiveList_1575353848223.txt", "lastModified": "2019-12-03T16:17:29+10:00", "owner": null, "size": 1323, "storageClass": { "value": "STANDARD" } }, { "eTag": "\"b2addf641c43f17df4492524c834984c\"", "bucketName": "ag-ccds-test", "key": "archiveListing/archiveList_1575353849192.txt", "lastModified": "2019-12-03T16:17:30+10:00", "owner": null, "size": 1323, "storageClass": { "value": "STANDARD" } } ], "name": "ag-ccds-test", "prefix": "archiveListing/", "maxKeys": 8, "commonPrefixes": [], "delimiter": null, "encoding": null, "keyCount": 8, "continuationToken": null, "nextContinuationToken": "1Vut/ORdOSPdn8ZQdd8Z5nhNvlEfPkw0hkekFIDTVzk8Hn8jlttn/yIjkl67yK3RAUkPIoUHwDuiybia7Rx7YjVaRefLocnF4", "startAfter": null, "responseMetadata": { "requestId": "5ACCAA141D2F7D2B", "metadata": { "x-amz-id-2": "zlslMcRM+qj6SCKELuE2crlEzhc0eEFkpo5OC3Pzn9tMvtOYnaEkLoRQNj1m1SThPzI1lQ233Zo=" } }, "contentLength": -1, "httpStatusCode": 200 }