ai.awss3
Funktionen
Methode | Parameter | Retouren | Beschreibung |
|---|---|---|---|
getFile(bucketName, key, region, awsAccessKey, AwsSecretKey) | BucketName: Zeichenfolge Schlüssel: Zeichenfolge region: Zeichenfolge awsAcceskey: String awsSecretKey: String | Ruft eine Datei aus einem AWS S3-Bucket ab. | |
putFile(bucketName, key, region, awsAccessKey, AwsSecretKey) | BucketName: Zeichenfolge Schlüssel: Zeichenfolge doc:String region: Zeichenfolge awsAcceskey: String awsSecretKey: String | Legt eine Datei in einen AWS S3-Bucket ab. | |
listKeys(bucketName, region, awsAccessKey, awsSecretKey) Nicht empfohlen für Buckets mit mehr als 5.000 Schlüsseln. | BucketName: Zeichenfolge region: Zeichenfolge awsAcceskey: String awsSecretKey: String | Listet die Schlüssel (Dateien) in einem AWS S3-Bucket auf. | |
listObjects(request, region, awsAccessKey, awsSecretKey) | Fordern Sie Objektparameter an Weitere Informationen finden Sie unter Amazon S3 Request Documents . BucketName: Zeichenfolge (erforderlich). fortsetzenToken: Gibt an, dass die Liste für diesen Bucket mit einem Token fortgesetzt wird. Das NextContinuationToken aus der vorherigen Antwort. delimiter: Ein Zeichen, das zum Gruppieren von Schlüsseln verwendet wird. Siehe Dokumente zu Amazon S3 Listing Keys hierarchisch. Codierung: Die Codierungsmethode, die in der Antwort verwendet werden soll. fechOutlet: Wird auf „true“ gesetzt, um die Eigentümer mit jedem Schlüssel aufzulisten. Wenn nicht angegeben, ist der Eigentümer „0“. maxKeys: Die maximale Anzahl von Schlüsseln in der Antwort. prefix: Beschränkt die Antwort auf Schlüssel, die mit dem angegebenen Präfix beginnen. requestUser: Zeichenfolge startAfter: Die Liste beginnt nach diesem Schlüssel. Verwenden Sie einen beliebigen Schlüssel im Bucket. Kann nicht gleichzeitig mit dem Wert für die Dauer festgelegt werden. Antwortobjektparameter Weitere Details finden Sie in den Amazon S3-Antwortdokumenten . s3Objects: Liste der gefundenen Objekte. keyCount: Anzahl der gefundenen Objekte. isTruncated: Gibt an, ob weitere Schlüssel mit der ursprünglichen Anforderung übereinstimmen. Kann in der Anforderung angegeben werden. AWS-Standardwert ist 1000. NextContinuationToken: Wird gesendet, wenn isTruncated „true“ ist, was bedeutet, dass weitere Schlüssel im Bucket aufgelistet werden können. Die Liste kann mit diesem NextContinuationToken fortgesetzt werden. httpStatusCode: Name: Präfix: maxKeys: delimiter: gemeinsamenPräfixe: Codierung: continuationToken: startAfter: | Listet die Objekte in einem AWS S3-Bucket auf. Ermöglicht die Verwendung von Parametern in einer Anforderung, um die abgerufenen Schlüssel zu begrenzen und zu filtern. |
- Beispiele
- // 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 />" }
- Beispiel mit listObjects
- Dieses Beispiel zeigt, wie Sie Objekte anfordern und durch die Ergebnisse blättern.//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"] }
- Beispielparameteranforderung
- ParameterBucketNameist der einzige erforderliche Wert.Prefixgibt das Verzeichnis an.{ BucketName: 'ag-ccds-test', Prefix: 'samplenumber/', StartAfter: 'samplenumber/001_samplefile', MaxKeys: 3 }
- BeispiellisteObjekte
- Diese Beispielantwort von listOjbects enthält 8 Objekte.{ "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 }