LocationService / Client / batch_put_geofence

batch_put_geofence#

LocationService.Client.batch_put_geofence(**kwargs)#

A batch request for storing geofence geometries into a given geofence collection, or updates the geometry of an existing geofence if a geofence ID is included in the request.

See also: AWS API Documentation

Request Syntax

response = client.batch_put_geofence(
    CollectionName='string',
    Entries=[
        {
            'GeofenceId': 'string',
            'Geometry': {
                'Polygon': [
                    [
                        [
                            123.0,
                        ],
                    ],
                ],
                'Circle': {
                    'Center': [
                        123.0,
                    ],
                    'Radius': 123.0
                },
                'Geobuf': b'bytes'
            },
            'GeofenceProperties': {
                'string': 'string'
            }
        },
    ]
)
Parameters:
  • CollectionName (string) –

    [REQUIRED]

    The geofence collection storing the geofences.

  • Entries (list) –

    [REQUIRED]

    The batch of geofences to be stored in a geofence collection.

    • (dict) –

      Contains geofence geometry details.

      • GeofenceId (string) – [REQUIRED]

        The identifier for the geofence to be stored in a given geofence collection.

      • Geometry (dict) – [REQUIRED]

        Contains the details to specify the position of the geofence. Can be a polygon, a circle or a polygon encoded in Geobuf format. Including multiple selections will return a validation error.

        Note

        The geofence polygon format supports a maximum of 1,000 vertices. The Geofence geobuf format supports a maximum of 100,000 vertices.

        • Polygon (list) –

          A polygon is a list of linear rings which are each made up of a list of vertices.

          Each vertex is a 2-dimensional point of the form: [longitude, latitude]. This is represented as an array of doubles of length 2 (so [double, double]).

          An array of 4 or more vertices, where the first and last vertex are the same (to form a closed boundary), is called a linear ring. The linear ring vertices must be listed in counter-clockwise order around the ring’s interior. The linear ring is represented as an array of vertices, or an array of arrays of doubles ( [[double, double], ...]).

          A geofence consists of a single linear ring. To allow for future expansion, the Polygon parameter takes an array of linear rings, which is represented as an array of arrays of arrays of doubles ( [[[double, double], ...], ...]).

          A linear ring for use in geofences can consist of between 4 and 1,000 vertices.

          • (list) –

            • (list) –

              • (float) –

        • Circle (dict) –

          A circle on the earth, as defined by a center point and a radius.

          • Center (list) – [REQUIRED]

            A single point geometry, specifying the center of the circle, using WGS 84 coordinates, in the form [longitude, latitude].

            • (float) –

          • Radius (float) – [REQUIRED]

            The radius of the circle in meters. Must be greater than zero and no larger than 100,000 (100 kilometers).

        • Geobuf (bytes) –

          Geobuf is a compact binary encoding for geographic data that provides lossless compression of GeoJSON polygons. The Geobuf must be Base64-encoded.

          A polygon in Geobuf format can have up to 100,000 vertices.

      • GeofenceProperties (dict) –

        Associates one of more properties with the geofence. A property is a key-value pair stored with the geofence and added to any geofence event triggered with that geofence.

        Format: "key" : "value"

        • (string) –

          • (string) –

Return type:

dict

Returns:

Response Syntax

{
    'Successes': [
        {
            'GeofenceId': 'string',
            'CreateTime': datetime(2015, 1, 1),
            'UpdateTime': datetime(2015, 1, 1)
        },
    ],
    'Errors': [
        {
            'GeofenceId': 'string',
            'Error': {
                'Code': 'AccessDeniedError'|'ConflictError'|'InternalServerError'|'ResourceNotFoundError'|'ThrottlingError'|'ValidationError',
                'Message': 'string'
            }
        },
    ]
}

Response Structure

  • (dict) –

    • Successes (list) –

      Contains each geofence that was successfully stored in a geofence collection.

      • (dict) –

        Contains a summary of each geofence that was successfully stored in a given geofence collection.

        • GeofenceId (string) –

          The geofence successfully stored in a geofence collection.

        • CreateTime (datetime) –

          The timestamp for when the geofence was stored in a geofence collection in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

        • UpdateTime (datetime) –

          The timestamp for when the geofence was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

    • Errors (list) –

      Contains additional error details for each geofence that failed to be stored in a geofence collection.

      • (dict) –

        Contains error details for each geofence that failed to be stored in a given geofence collection.

        • GeofenceId (string) –

          The geofence associated with the error message.

        • Error (dict) –

          Contains details associated to the batch error.

          • Code (string) –

            The error code associated with the batch request error.

          • Message (string) –

            A message with the reason for the batch request error.

Exceptions

  • LocationService.Client.exceptions.InternalServerException

  • LocationService.Client.exceptions.ResourceNotFoundException

  • LocationService.Client.exceptions.AccessDeniedException

  • LocationService.Client.exceptions.ValidationException

  • LocationService.Client.exceptions.ThrottlingException