ai.awss3
Fonctions
Méthode | Paramètres | Retours | Description |
|---|---|---|---|
getFile( Nom du WBucket, clé, région, awsAccess Key, AwsSecret Key) | toolName : chaîne clé : chaîne région : chaîne awsAcceskey : chaîne awsSecret Key : chaîne | Récupère un fichier à partir d'un intervalle AWS S3. | |
PutFile( Nom du WBucket, clé, région, awsAccess Key, AwsSecret Key) | toolName : chaîne clé : chaîne doc:String région : chaîne awsAcceskey : chaîne awsSecret Key : chaîne | Ajoute un fichier dans un compartiment AWS S3. | |
list Keys( Nom du WBucket, région, awsAccess Key, awsSecret Key) Non recommandé pour les intervalles de plus de 5 000 clés. | toolName : chaîne région : chaîne awsAcceskey : chaîne awsSecret Key : chaîne | Répertorie les clés (fichiers) dans un intervalle AWS S3. | |
listObjects(request, region, awsAccessKey, awsSecretKey) | Paramètres d'objet de la demande Voir Amazon S3 Request Docs pour plus d'informations. chargerName : chaîne (obligatoire). continuerToken : indique que la liste se poursuit dans ce compartiment avec un jeton. NextContinuationToken obtenu à partir de la réponse précédente. delimiter : caractère utilisé pour grouper les clés. Voir Amazon 3 Listing Keys Hierarchy docs. encodage : méthode de codage à utiliser dans la réponse. getOWner : définissez sur true (vrai) pour répertorier les propriétaires avec chaque clé. Si aucune valeur n'est indiquée, le propriétaire est nul. max Keys : 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é. requestplayer : chaîne startAfter : la liste commence après cette clé. Utilisez n'importe quelle clé du compartiment. Ne peut pas être défini en même temps que le jeton de continuation. Paramètres de l'objet de la réponse Voir Amazon S3 Réponse Docs pour plus d'informations. s3Objects : liste des objets trouvés. keyCount : nombre d'objets trouvés. istrucated : indique si d'autres clés correspondent à la demande initiale. Peuvent être indiqués dans la demande. AWS par défaut est 1 000. NextContinuationToken : envoyé lorsque istrucated est défini sur true, pour indiquer que davantage de clés peuvent être répertoriées dans le compartiment. La liste peut être maintenue avec ce prochainToken. httpStatusCode : nom : préfixe : max Keys : délimiteur : préfixes préfixes communs : codage : continuerToken : startAfter : | Répertorie les objets dans un intervalle AWS S3. Permet d'utiliser les paramètres d'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 parcourir 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"] }
- Exemple de demande de paramètres
- Le paramètreBucketName, est la seule valeur obligatoire.Prefixindique le répertoire.{ BucketName: 'ag-ccds-test', Prefix: 'samplenumber/', StartAfter: 'samplenumber/001_samplefile', MaxKeys: 3 }
- Exemple de liste d'objets
- Cet exemple de réponse listObights contient 8 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 }