Question: I have the following error:

> 
> 412 no matching index found. recommended index is:   
> - kind: monthly\_report  
>  properties:  
>  - name: belongs\_to   
>  - name: date\_added  
> 
> 
> 
> 

I am using Python 3.5, the datastore, and a remote Django project which is accessing the datastore through google-cloud API (google-cloud==0.24.0).

I ran the commands:

```
google cloud datastore cleanup-indexes index.yaml
google cloud datastore create-indexes index.yaml

```

The indexes are created: 

**index.yaml:**

```
indexes:

- kind: history
  ancestor: no
  properties:
  - name: date_added
    direction: asc
  - name: address
    direction: asc

- kind: payment
  ancestor: no
  properties:
  - name: date_added
    direction: asc
  - name: belongs_to
  - name: order

- kind: monthly_report
  ancestor: no
  properties:
  - name: date_added
    direction: asc
  - name: status
  - name: belongs_to
    direction: asc

```

I make a query on kind `payment` with filters on `date_added` and `belongs_to`. It works.

However, in the same method, I make a query on kind `monthly_report` with filters on `date_added` and `belongs to`, and I get the error above.

What is the issue?

**Update:**

If I filter for one name it works, for multiple names it does not.

Answer: 
You have to create an object of S3. And keys you have put is misplaced please do it as following.

```
$s3 = S3Client::factory([
                'version'     => 'latest',
                'region'      => 'eu-west-1',
                'credentials' => [
                    'key'    => "your s3 bucket key",
                    'secret' => "your s3 bucket secret key",
                ]
            ]);

```

By using s3 object you can implement `putObject` method something like this.

```
$result = $s3->putObject(array(
            'Bucket'     => "yourbucket name",
            'Key'        => $keyName,
            'SourceFile' => $filepath,
            'ACL'        => 'public-read', //for making the public url
            'Version'    => '2006-03-01'
));
        ));

```

Hope it helps!
For `SES AWS SDK v3` use

```
/*
* 1. version as `2010-12-01`
* 2. version as Eg. `us-east-1`.
*/
ini_set("display_errors", 1);
Aws\Ses\SesClient::factory(array(
        'credentials' => array(
            'key' => "someKey",
            'secret' => "someSecret",
        ),
        "region" => "us-east-1",
        "version" => "2010-12-01")
);

```