Erstellen eines Batch-Vorgangsauftrags mit Auftrags-Markierungen zur Kennzeichnung - Amazon Simple Storage Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen eines Batch-Vorgangsauftrags mit Auftrags-Markierungen zur Kennzeichnung

Sie können den Zugriff auf Ihre Amazon S3 Batch Operations-Jobs kennzeichnen und kontrollieren, indem Sie Tags hinzufügen. Markierungen können verwendet werden, um zu ermitteln, wer für einen Batch-Vorgangsauftrag verantwortlich ist. Sie können Aufträge mit ihnen zugeordneten Markierungen erstellen oder Sie können Aufträgen nach ihrer Erstellung Markierungen hinzufügen. Weitere Informationen finden Sie unter Steuern von Zugriffs- und Labeling-Aufträgen mithilfe von Markierungen.

Im folgenden AWS CLI Beispiel wird ein S3PutObjectCopy S3-Auftrag für Batch Operations erstellt, der Job-Tags als Beschriftungen für den Job verwendet.

  1. Wählen Sie die Aktion oder OPERATION aus, die der Batch-Vorgangsauftrag ausführen soll, und wählen Sie Ihre TargetResource.

    read -d '' OPERATION <<EOF { "S3PutObjectCopy": { "TargetResource": "arn:aws:s3:::amzn-s3-demo-destination-bucket" } } EOF
  2. Identifizieren Sie die Auftrags-TAGS, die Sie für den Auftrag wünschen. In diesem Fall wenden Sie beiden Markierungen department und FiscalYear mit den Werten Marketing bzw. 2020 an.

    read -d '' TAGS <<EOF [ { "Key": "department", "Value": "Marketing" }, { "Key": "FiscalYear", "Value": "2020" } ] EOF
  3. Geben Sie das MANIFEST für den Batch-Vorgangsauftrag an.

    read -d '' MANIFEST <<EOF { "Spec": { "Format": "EXAMPLE_S3BatchOperations_CSV_20180820", "Fields": [ "Bucket", "Key" ] }, "Location": { "ObjectArn": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/example_manifest.csv", "ETag": "example-5dc7a8bfb90808fc5d546218" } } EOF
  4. Konfigurieren Sie den REPORT für den Batch-Vorgangsauftrag.

    read -d '' REPORT <<EOF { "Bucket": "arn:aws:s3:::amzn-s3-demo-completion-report-bucket", "Format": "Example_Report_CSV_20180820", "Enabled": true, "Prefix": "reports/copy-with-replace-metadata", "ReportScope": "AllTasks" } EOF
  5. Führen Sie die Aktion create-job aus, um Ihren Batch-Vorgangsauftrag mit Eingaben zu erstellen, die in den vorherigen Schritten festgelegt wurden.

    aws \ s3control create-job \ --account-id 123456789012 \ --manifest "${MANIFEST//$'\n'}" \ --operation "${OPERATION//$'\n'/}" \ --report "${REPORT//$'\n'}" \ --priority 10 \ --role-arn arn:aws:iam::123456789012:role/batch-operations-role \ --tags "${TAGS//$'\n'/}" \ --client-request-token "$(uuidgen)" \ --region us-west-2 \ --description "Copy with Replace Metadata";

Im folgenden Beispiel wird ein S3-Batchoperations-Auftrag mit Markierungen unter Verwendung des AWS SDK for Java erstellt.

public String createJob(final AWSS3ControlClient awss3ControlClient) { final String manifestObjectArn = "arn:aws:s3:::amzn-s3-demo-manifest-bucket/manifests/10_manifest.csv"; final String manifestObjectVersionId = "example-5dc7a8bfb90808fc5d546218"; final JobManifestLocation manifestLocation = new JobManifestLocation() .withObjectArn(manifestObjectArn) .withETag(manifestObjectVersionId); final JobManifestSpec manifestSpec = new JobManifestSpec().withFormat(JobManifestFormat.S3InventoryReport_CSV_20161130); final JobManifest manifestToPublicApi = new JobManifest() .withLocation(manifestLocation) .withSpec(manifestSpec); final String jobReportBucketArn = "arn:aws:s3:::amzn-s3-demo-completion-report-bucket"; final String jobReportPrefix = "example-job-reports"; final JobReport jobReport = new JobReport() .withEnabled(true) .withReportScope(JobReportScope.AllTasks) .withBucket(jobReportBucketArn) .withPrefix(jobReportPrefix) .withFormat(JobReportFormat.Report_CSV_20180820); final String lambdaFunctionArn = "arn:aws:lambda:us-west-2:123456789012:function:example-function"; final JobOperation jobOperation = new JobOperation() .withLambdaInvoke(new LambdaInvokeOperation().withFunctionArn(lambdaFunctionArn)); final S3Tag departmentTag = new S3Tag().withKey("department").withValue("Marketing"); final S3Tag fiscalYearTag = new S3Tag().withKey("FiscalYear").withValue("2020"); final String roleArn = "arn:aws:iam::123456789012:role/example-batch-operations-role"; final Boolean requiresConfirmation = true; final int priority = 10; final CreateJobRequest request = new CreateJobRequest() .withAccountId("123456789012") .withDescription("Test lambda job") .withManifest(manifestToPublicApi) .withOperation(jobOperation) .withPriority(priority) .withRoleArn(roleArn) .withReport(jobReport) .withTags(departmentTag, fiscalYearTag) .withConfirmationRequired(requiresConfirmation); final CreateJobResult result = awss3ControlClient.createJob(request); return result.getJobId(); }